diff --git a/public/dist/js/apps/Bismeldestichtag/Bismeldestichtag.js b/public/dist/js/apps/Bismeldestichtag/Bismeldestichtag.js
index 002c87c00..bbd4a72a2 100644
--- a/public/dist/js/apps/Bismeldestichtag/Bismeldestichtag.js
+++ b/public/dist/js/apps/Bismeldestichtag/Bismeldestichtag.js
@@ -1,4 +1,4 @@
-import t from"../../../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js?2025111701";import e from"../../../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js?2025111701";import r from"../../../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js?2025111701";import n from"../../../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js?2025111701";const i=function(t){return t.replace(/(.*)-(.*)-(.*)/,"$3.$2.$1")},s={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'},a="Filter Component New Filter";var o={props:{filters:{type:Array,default:[]},columns:{type:Array,default:[]},fields:{type:Array,default:[]}},emits:{switchFilter:["filterId"],applyFilterConfig:["filterFields"],saveCustomFilter:["customFilterName"]},data:function(){return{currentFields:[]}},computed:{types(){return this.columns.reduce((t,e)=>{let r=e.type.toLowerCase();return r.indexOf("int")>=0?t[e.name]="Numeric":r.indexOf("varchar")>=0||r.indexOf("text")>=0||r.indexOf("bpchar")>=0?t[e.name]="Text":r.indexOf("timestamp")>=0||r.indexOf("date")>=0?t[e.name]="Date":t[e.name]="",t},{})}},watch:{fields(t){this.currentFields=t}},methods:{switchFilter(t){this.$emit("switchFilter",t.currentTarget.value)},applyFilterConfig(){const t=this.currentFields.filter(t=>t.name!=a);t.filter(t=>""==t.condition).length?alert("Please fill all the filter options"):this.$emit("applyFilterConfig",t)},addField(t){this.currentFields.push({name:a})},removeField(t){this.currentFields.splice(t,1)}},template:'\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t'};const d={jsonLines:"fa-file-lines",xlsx:"fa-file-excel",pdf:"fa-file-pdf",html:"fa-file-code",json:"fa-file",csv:"fa-file-csv"},u={jsonLines:"Download as JSONLINES",xlsx:"Download as XLSX",pdf:"Download as PDF",html:"Download as HTML",json:"Download as JSON",csv:"Download as CSV "};var p={props:{tabulator:Object,config:{type:[Boolean,String,Function,Array,Object],default:!1},iconClass:[String,Array,Object]},computed:{currentConfig(){if(!this.config)return!1;let t=this.config;if(t instanceof Function)return[t];if(null===t)return[];if(!0===this.config&&(t=["csv"]),"[object String]"===Object.prototype.toString.call(t)&&(t=t.split(",")),"object"==typeof t&&!Array.isArray(t)){let i=[];for(var e in t){var r,n=t[e];n&&("[object String]"===Object.prototype.toString.call(n)?null!==(r=this.stringToFileFormatter(n))?i.push({icon:"fa-solid "+d[r],label:n===e?u[r]:e,formatter:r}):null!==(r=this.stringToFileFormatter(e))?i.push({icon:"fa-solid "+d[r],label:n,formatter:r}):alert("neither "+e+" nor "+n+" are supported download file types"):"object"!=typeof n||Array.isArray(n)?null!==(r=this.stringToFileFormatter(e))?i.push({icon:"fa-solid "+d[r],label:u[r],formatter:r}):alert(e+" is not a supported download file type"):null!==(r=this.stringToFileFormatter(e))?(void 0===n.formatter&&(n.formatter=r),void 0===n.label&&(n.label=u[r]),void 0===n.icon&&(n.icon=d[r]),i.push(n)):(void 0===n.label&&(n.label=e),i.push(n)))}t=i}if(Array.isArray(t)){if(t=t.map(t=>{if("[object String]"===Object.prototype.toString.call(t)){let e=this.stringToFileFormatter(t);return null===e?null:{icon:"fa-solid "+d[e],label:u[e],formatter:e}}if(t instanceof Function)return{formatter:t};if("object"==typeof t&&!Array.isArray(t)&&null!==t){if(t.formatter instanceof Function)return t;if(this.validateFileFormatter(t.formatter))return t}return null}).filter(t=>null!==t),t.length<2)return t;if(t.filter(t=>t.label||t.icon).length==t.length)return t;alert("Config not valid")}return[]}},methods:{stringToFileFormatter(t){let e=t.toLowerCase();return"jsonlines"==e?"jsonLines":["xlsx","pdf","html","json","csv"].includes(e)?e:null},validateFileFormatter(t){let e=this.stringToFileFormatter(t);if(!e)return alert(t+" is not a supported file formatter"),!1;if("xlsx"==e&&!window.XLSX)return alert("XLSX Library not loaded"),!1;if("pdf"==e){if(!window.jspdf)return alert("jsPDF Library not loaded"),!1;if(!new jspdf.jsPDF({}).autoTable)return alert("jsPDF-AutoTable Plugin not loaded"),!1}return!0},download(t){this.tabulator.download(t.formatter,t.file,t.options)}},template:'\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
\n\n\t\t\x3c!-- Tabulator --\x3e\n\t\t\n\t'};var v={getHeader:t=>({method:"get",url:"/api/frontend/v1/navigation/header",params:{navigation_page:t}}),getMenu:t=>({method:"get",url:"/api/frontend/v1/navigation/menu",params:{navigation_page:t}})};const A={components:{CoreFetchCmpt:s},props:{addHeaderMenuEntries:Object,addSideMenuEntries:Object,hideTopMenu:Boolean,leftNavCssClasses:{type:String,default:"navbar navbar-left-side"}},data:()=>({headerMenu:{},sideMenu:{}}),computed:{headerMenuEntries(){let t=this.headerMenu?{...this.headerMenu}:{};return null!=this.headerMenu&&null!=this.addHeaderMenuEntries&&Object.keys(this.addHeaderMenuEntries).length>0&&(t[this.addHeaderMenuEntries.description]=this.addHeaderMenuEntries),t},sideMenuEntries(){let t=this.sideMenu?{...this.sideMenu}:{};return null!=this.sideMenu&&null!=this.addSideMenuEntries&&Object.keys(this.addSideMenuEntries).length>0&&(t[this.addSideMenuEntries.description]=this.addSideMenuEntries),t}},methods:{getNavigationPage:()=>FHC_JS_DATA_STORAGE_OBJECT.called_path+"/"+FHC_JS_DATA_STORAGE_OBJECT.called_method,fetchCmptApiFunctionHeader(){return this.$api.call(v.getHeader(this.getNavigationPage()))},fetchCmptApiFunctionSideMenu(){return this.$api.call(v.getMenu(this.getNavigationPage()))},fetchCmptDataFetchedHeader(t){this.headerMenu=t||{}},fetchCmptDataFetchedMenu(t){this.sideMenu=t||{}},getDataBsToggle:t=>t.children?"dropdown":null},template:'\n\t\t\x3c!-- Load head menu --\x3e\n\t\t\n\t\t\x3c!-- Load side menu --\x3e\n\t\t\n\n\t\t\x3c!-- Top menu --\x3e\n\t\t\n\n\t\t\x3c!-- Left side menu --\x3e\n\t\t\n\t'},b="error",_="retval",y={get:function(t,e,r=null){return y._axiosCall(t,e,"get",r)},post:function(t,e,r=null){return y._axiosCall(t,e,"post",r)},isSuccess:function(t){return!("object"!=typeof t||!t.hasOwnProperty(b)||!t.hasOwnProperty(_)||0!=t.error)},isError:function(t){return!y.isSuccess(t)},hasData:function(t){return!(!y.isSuccess(t)||!("object"==typeof t[_]&&Object.keys(t[_]).length>0||"array"==typeof t[_]&&t[_].length>0||"string"==typeof t[_]&&""!=t[_].trim()||"number"==typeof t[_]))},getData:function(t){return y.hasData(t)?t[_]:null},getError:function(t){return"object"==typeof t&&Object.keys(t).length>0&&t.hasOwnProperty(_)?t[_]:"Generic error"},getErrorCode:function(t){return"object"==typeof t&&t.hasOwnProperty(b)?t[b]:1},_generateRouterURI:function(t){var e=null;return"undefined"!=typeof FHC_JS_DATA_STORAGE_OBJECT&&(e=FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/"+t),e},_printDebug:function(t,e,r){},_axiosCall:function(t,e,r,n){let i={method:r,url:y._generateRouterURI(t),timeout:5e3};if("get"==r?i.params=e:i.data=e,"object"==typeof n)for(var s in n)i[s]=n[s];return axios(i)}},F=2e3,$={getStudiensemester:function(){return y.get("codex/Bismeldestichtag/getStudiensemester",null,{timeout:F})},getBismeldestichtage:function(){return y.get("codex/Bismeldestichtag/getBismeldestichtage",null,{timeout:F})},addBismeldestichtag:function(t){return y.post("codex/Bismeldestichtag/addBismeldestichtag",{meldestichtag:t.meldestichtag,studiensemester_kurzbz:t.studiensemester_kurzbz},{timeout:F})},deleteBismeldestichtag:function(t){return y.post("codex/Bismeldestichtag/deleteBismeldestichtag",{meldestichtag_id:t.meldestichtag_id},{timeout:F})}};var C={search(t,e){return this.$fhcApi.post("/api/frontend/v1/searchbar/search",t,e)},searchAdvanced(t,e){return this.$fhcApi.post("/api/frontend/v1/searchbar/searchAdvanced",t,e)},searchdummy(t){return this.$fhcApi.post("public/js/apps/api/dummyapi.php/Search",t)}},S={loadCategory(t){return this.$fhcApi.get("/api/frontend/v1/phrasen/loadModule/"+t)},setLanguage(t,e){const r={categories:t,language:e};return this.$fhcApi.post("/api/frontend/v1/phrasen/setLanguage",r)},getLanguage(){return this.$fhcApi.get("/api/frontend/v1/phrasen/getLanguage",{})},getActiveDbLanguages(){return this.$fhcApi.get("/api/frontend/v1/phrasen/getAllLanguages",{})}},E={getHeader(t){return this.$fhcApi.get("/api/frontend/v1/navigation/header",{navigation_page:t})},getMenu:function(t){return this.$fhcApi.get("/api/frontend/v1/navigation/menu",{navigation_page:t})}},T={saveCustomFilter(t){return this.$fhcApi.post("/api/frontend/v1/filter/saveCustomFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,customFilterName:t.customFilterName})},removeCustomFilter(t){return this.$fhcApi.post("/api/frontend/v1/filter/removeCustomFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterId:t.filterId})},applyFilterFields(t){return this.$fhcApi.post("/api/frontend/v1/filter/applyFilterFields",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterFields:t.filterFields})},addFilterField(t){return this.$fhcApi.post("/api/frontend/v1/filter/addFilterField",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterField:t.filterField})},removeFilterField(t){return this.$fhcApi.post("/api/frontend/v1/filter/removeFilterField",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterField:t.filterField})},getFilterById(t){return this.$fhcApi.get("/api/frontend/v1/filter/getFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterId:t.filterId})},getFilter(t){return this.$fhcApi.get("/api/frontend/v1/filter/getFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType})}},P={abmeldung:{getDetails(t,e){const r="/api/frontend/v1/studstatus/abmeldung/"+(void 0!==t?"getDetailsForAntrag/"+t:"getDetailsForNewAntrag/"+e);return this.$fhcApi.get(r)},create(t,e,r){return this.$fhcApi.post("/api/frontend/v1/studstatus/abmeldung/createAntrag",{studiensemester:t,prestudent_id:e,grund:r},{errorHandling:"strict"})},cancel(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/abmeldung/cancelAntrag",{antrag_id:t.studierendenantrag_id},{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/abmeldung/cancelAntrag",{antrag_id:t})}},unterbrechung:{getDetails(t,e){const r="/api/frontend/v1/studstatus/unterbrechung/"+(void 0!==t?"getDetailsForAntrag/"+t:"getDetailsForNewAntrag/"+e);return this.$fhcApi.get(r)},create(t,e,r,n,i){return this.$fhcApi.post("/api/frontend/v1/studstatus/unterbrechung/createAntrag",{studiensemester:t,prestudent_id:e,grund:r,datum_wiedereinstieg:n,attachment:i},{errorHandling:"strict"})},cancel(t){return this.$fhcApi.post("/api/frontend/v1/studstatus/unterbrechung/cancelAntrag",{antrag_id:t},{errorHandling:"strict"})}},wiederholung:{getDetails(t){const e="/api/frontend/v1/studstatus/wiederholung/getDetailsForNewAntrag/"+t;return this.$fhcApi.get(e)},getLvs(t){const e="/api/frontend/v1/studstatus/wiederholung/getLvs/"+t;return this.$fhcApi.get(e)},create(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/wiederholung/createAntrag",{prestudent_id:t,studiensemester:e},{errorHandling:"strict"})},cancel(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/wiederholung/cancelAntrag",{prestudent_id:t,studiensemester:e},{errorHandling:"strict"})},saveLvs(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/wiederholung/saveLvs",{forbiddenLvs:t,mandatoryLvs:e})}},leitung:{getStgs(){return this.$fhcApi.get("/api/frontend/v1/studstatus/leitung/getActiveStgs")},getAntraege(t,e,r){return this.$fhcApi.get("/api/frontend/v1/studstatus/leitung/getAntraege/"+t).then(t=>t.data)},getHistory(t){return this.$fhcApi.get("/api/frontend/v1/studstatus/leitung/getHistory/"+t)},getPrestudents(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/getPrestudents",{query:t},{signal:e,timeout:3e4})},approve(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveAntrag",t)},reject(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/rejectAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/rejectAntrag",t)},reopen(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/reopenAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/reopenAntrag",t)},pause(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/pauseAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/pauseAntrag",t)},unpause(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/unpauseAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/unpauseAntrag",t)},object(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/objectAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/objectAntrag",t)},approveObjection(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveObjection",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveObjection",t)},denyObjection(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/denyObjection",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/denyObjection",t)}}},k={getView:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/getView/${t}`,{})},fotoSperre:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/fotoSperre/${t}`,{})},isStudent:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/isStudent",{uid:t})},isMitarbeiter:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/isMitarbeiter/${t}`,{})},getZustellAdresse:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/getZustellAdresse",{})},getZustellKontakt:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/getZustellKontakt",{})},getGemeinden:function(t,e){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/getGemeinden/${t}/${e}`,{})},getAllNationen:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/getAllNationen",{})}},D={
+import t from"../../../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js?2025121701";import e from"../../../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js?2025121701";import r from"../../../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js?2025121701";import n from"../../../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js?2025121701";const i=function(t){return t.replace(/(.*)-(.*)-(.*)/,"$3.$2.$1")},s={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'},a="Filter Component New Filter";var o={props:{filters:{type:Array,default:[]},columns:{type:Array,default:[]},fields:{type:Array,default:[]}},emits:{switchFilter:["filterId"],applyFilterConfig:["filterFields"],saveCustomFilter:["customFilterName"]},data:function(){return{currentFields:[]}},computed:{types(){return this.columns.reduce((t,e)=>{let r=e.type.toLowerCase();return r.indexOf("int")>=0?t[e.name]="Numeric":r.indexOf("varchar")>=0||r.indexOf("text")>=0||r.indexOf("bpchar")>=0?t[e.name]="Text":r.indexOf("timestamp")>=0||r.indexOf("date")>=0?t[e.name]="Date":t[e.name]="",t},{})}},watch:{fields(t){this.currentFields=t}},methods:{switchFilter(t){this.$emit("switchFilter",t.currentTarget.value)},applyFilterConfig(){const t=this.currentFields.filter(t=>t.name!=a);t.filter(t=>""==t.condition).length?alert("Please fill all the filter options"):this.$emit("applyFilterConfig",t)},addField(t){this.currentFields.push({name:a})},removeField(t){this.currentFields.splice(t,1)}},template:'\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t'};const d={jsonLines:"fa-file-lines",xlsx:"fa-file-excel",pdf:"fa-file-pdf",html:"fa-file-code",json:"fa-file",csv:"fa-file-csv"},u={jsonLines:"Download as JSONLINES",xlsx:"Download as XLSX",pdf:"Download as PDF",html:"Download as HTML",json:"Download as JSON",csv:"Download as CSV "};var p={props:{tabulator:Object,config:{type:[Boolean,String,Function,Array,Object],default:!1},iconClass:[String,Array,Object]},computed:{currentConfig(){if(!this.config)return!1;let t=this.config;if(t instanceof Function)return[t];if(null===t)return[];if(!0===this.config&&(t=["csv"]),"[object String]"===Object.prototype.toString.call(t)&&(t=t.split(",")),"object"==typeof t&&!Array.isArray(t)){let i=[];for(var e in t){var r,n=t[e];n&&("[object String]"===Object.prototype.toString.call(n)?null!==(r=this.stringToFileFormatter(n))?i.push({icon:"fa-solid "+d[r],label:n===e?u[r]:e,formatter:r}):null!==(r=this.stringToFileFormatter(e))?i.push({icon:"fa-solid "+d[r],label:n,formatter:r}):alert("neither "+e+" nor "+n+" are supported download file types"):"object"!=typeof n||Array.isArray(n)?null!==(r=this.stringToFileFormatter(e))?i.push({icon:"fa-solid "+d[r],label:u[r],formatter:r}):alert(e+" is not a supported download file type"):null!==(r=this.stringToFileFormatter(e))?(void 0===n.formatter&&(n.formatter=r),void 0===n.label&&(n.label=u[r]),void 0===n.icon&&(n.icon=d[r]),i.push(n)):(void 0===n.label&&(n.label=e),i.push(n)))}t=i}if(Array.isArray(t)){if(t=t.map(t=>{if("[object String]"===Object.prototype.toString.call(t)){let e=this.stringToFileFormatter(t);return null===e?null:{icon:"fa-solid "+d[e],label:u[e],formatter:e}}if(t instanceof Function)return{formatter:t};if("object"==typeof t&&!Array.isArray(t)&&null!==t){if(t.formatter instanceof Function)return t;if(this.validateFileFormatter(t.formatter))return t}return null}).filter(t=>null!==t),t.length<2)return t;if(t.filter(t=>t.label||t.icon).length==t.length)return t;alert("Config not valid")}return[]}},methods:{stringToFileFormatter(t){let e=t.toLowerCase();return"jsonlines"==e?"jsonLines":["xlsx","pdf","html","json","csv"].includes(e)?e:null},validateFileFormatter(t){let e=this.stringToFileFormatter(t);if(!e)return alert(t+" is not a supported file formatter"),!1;if("xlsx"==e&&!window.XLSX)return alert("XLSX Library not loaded"),!1;if("pdf"==e){if(!window.jspdf)return alert("jsPDF Library not loaded"),!1;if(!new jspdf.jsPDF({}).autoTable)return alert("jsPDF-AutoTable Plugin not loaded"),!1}return!0},download(t){this.tabulator.download(t.formatter,t.file,t.options)}},template:'\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
\n\t\t\t\t\n\t\t\t\t\t{{ title }}\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
'},i={name:"SearchbarResultPerson",components:{TemplateFrame:a},emits:["actionexecuted"],props:{res:Object,actions:Object},computed:{emails(){return new Set(this.res.email)}},template:'\n\t\n\t\t
\n\t\t\t\t\n\t\t\t\t\t{{ title }}\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
'},i={name:"SearchbarResultPerson",components:{TemplateFrame:a},emits:["actionexecuted"],props:{res:Object,actions:Object},computed:{emails(){return new Set(this.res.email)}},template:'\n\t\n\t\t
",!0,!0)},php(t){r(t,(t,r)=>{var n="";switch(n+="Message: "+t.message+"\n\n",n+="Filename: "+t.filename+"\n",n+="Line Number: "+t.line+"\n",t.backtrace&&t.backtrace.length&&(n+="\nBacktrace: ",t.backtrace.forEach(e=>{n+="\n\tFile: "+e.file+"\n",n+="\tLine: "+e.line+"\n",n+="\tFunction: "+e.function+"\n"})),t.severity){case"Warning":case"Core Warning":case"Compile Warning":case"User Warning":r?r+=": PHP "+t.severity:r="PHP "+t.severity,e.config.globalProperties.$fhcAlert.alertDefault("warn",r,n,!0);break;case"Notice":case"User Notice":case"Runtime Notice":r?r+=": PHP "+t.severity:r="PHP "+t.severity,e.config.globalProperties.$fhcAlert.alertDefault("info",r,n,!0);break;default:n="Type: PHP "+t.severity+"\n\n"+n,r&&(n=r+"\n\n"+n),e.config.globalProperties.$fhcAlert.alertSystemError(n)}})},exception(t){r(t,(t,r)=>{var n="";r&&(n+=r+"\n\n"),n+="Type: "+t.class+"\n\n",n+="Message: "+t.message+"\n\n",n+="Filename: "+t.filename+"\n",n+="Line Number: "+t.line+"\n",t.backtrace&&t.backtrace.length&&(n+="\nBacktrace: ",t.backtrace.forEach(e=>{n+="\n\tFile: "+e.file+"\n",n+="\tLine: "+e.line+"\n",n+="\tFunction: "+e.function+"\n"})),e.config.globalProperties.$fhcAlert.alertSystemError(n)})},db(t){r(t,(t,r)=>{var n="";r&&(n+=r+"\n\n"),void 0!==t.heading&&(n+=t.heading+"\n\n"),void 0!==t.code&&(n+="Code: "+t.code+"\n\n"),void 0!==t.sql&&(n+="SQL: "+t.sql+"\n\n"),void 0!==t.message?n+="Message: "+t.message+"\n\n":void 0!==t.messages&&(n+="Messages: "+t.messages.join("\n\t")+"\n\n"),void 0!==t.filename&&(n+="Filename: "+t.filename+"\n"),void 0!==t.line&&(n+="Line Number: "+t.line+"\n"),e.config.globalProperties.$fhcAlert.alertSystemError(n)})},auth(t){r(t,(t,r)=>{r?r+=": "+t.message:r=t.message;var n="";n+="Controller name: "+t.controller+"\n",n+="Method name: "+t.method+"\n",n+="Required permissions: "+t.required_permissions,e.config.globalProperties.$fhcAlert.alertDefault("error",r,n,!0)})}}};function i(e,t,r,n){if("string"==typeof e&&void 0===n)[t,r,n]=[e,t,r],e=void 0;else if(e){if("object"!=typeof e)throw new TypeError("Parameter 1 of _get_config must be an object or a string");void 0===t&&void 0===r&&void 0===n&&(n=e,e=void 0)}if(e){if(!e.clearValidation||!e.setFeedback)throw new TypeError("'form' is not a Form Component");e={clearValidation:e.clearValidation,setFeedback:e.setFeedback},n?n.form=e:n={form:e}}return[t,r,n]}function s(e){if("string"==typeof e.data||e.data instanceof String)return s({data:e});const t=e.data;return delete e.data,t?(t.meta?t.meta.response=e:t.meta={response:e},t):{meta:{response:e},data:null}}function a(e){if(!1===e||"off"===e)return{...n,success:!1,fail:!1};if(!e||!0===e)return{...n};if("success"===e)return{...n,fail:!1};if("fail"===e)return{...n,success:!1};const{success:t,fail:r,handler:i,combine:s}=e;return e={...n},Object.entries({fail:r,success:t}).forEach(([t,r])=>{void 0!==r&&(e[t]=r)}),Object.entries({handler:i,combine:s}).forEach(([t,r])=>{void 0!==r&&(e[t]={...e[t],...r})}),e}function o(e){const t=a(e?.errorHandling);if(e?.form){const r=t.handler.form;t.handler={...t.handler,form:t=>r(e.form,t)}}else t.combine={...t.combine,form:[]};return t}function p(e){return e.response?404==e.response.status?[{type:"not_found",message:e.message,url:e.request.responseURL}]:null==e.response.data.errors?[]:e.response.data.errors:e.request?[{type:"site_failed",message:e.message,url:e.request.responseURL}]:[{type:"script",message:e.message}]}function u(e,t){const r={},n=[];if(null==t)return{};for(;t.length;)n.push(t.pop());for(var i of n){let n=i.type,a=null;for(var s in e.combine){let t=e.combine[s].includes(n),r=e.handler[s];if(t&&r&&(a=s,"form"==a))break}a&&(n=a);e.handler[n]?(r[n]||(r[n]=[]),Array.isArray(i)?r[n].push(...i):r[n].push(i)):t.push(i)}return r}void 0!==t?.errorHandling&&(n=a(t.errorHandling));const d=axios.create({timeout:5e5,baseURL:FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/"});d.interceptors.request.use(e=>{if("post"!=e.method||!e.data)return e;if(e.data instanceof FormData)return e;if(!Object.values(e.data).every(e=>!(e instanceof FileList)&&(!Array.isArray(e)||e.every(e=>!(e instanceof File))))){const t=Object.entries(e.data).reduce((e,[t,r])=>{if(r instanceof FileList)for(const n of r)e.FormData.append(t+(r.length>1?"[]":""),n);else Array.isArray(r)?r.every(e=>!(e instanceof File))?e.jsondata[t]=r:r.forEach(n=>e.FormData.append(t+(r.length>1?"[]":""),n)):e.jsondata[t]=r;return e},{FormData:new FormData,jsondata:{}});t.FormData.append("_jsondata",JSON.stringify(t.jsondata)),e.data=t.FormData}return e}),d.interceptors.response.use(t=>("off"==t.config?.errorHandling||!1===t.config?.errorHandling||"fail"==t.config?.errorHandling||t.data.errors&&(t.data.errors=t.data.errors.filter(r=>(t.config[r.type+"ErrorHandler"]||e.config.globalProperties.$api._defaultErrorHandlers[r.type])(r,t.config))),s(t)),e=>{if("ERR_CANCELED"==e.code)return Promise.reject({handled:!0,...e});const t=o(e.config);if(!t.fail)return Promise.reject(e);const r=p(e),n=u(t,r);for(var i in n)t.handler[i](n[i]);return r.length?Promise.reject(e):Promise.reject({handled:!0,...e})}),e.config.globalProperties.$api={getUri:e=>d.getUri({url:e}),get:(e,t,r,n)=>([t,r,n]=i(e,t,r,n),r&&(n?n.params=r:n={params:r}),d.get(t,n)),post:(e,t,r,n)=>([t,r,n]=i(e,t,r,n),d.post(t,r,n)),call(t,r,n){if(Array.isArray(t)){const s=e.config.globalProperties.$api;return Promise.allSettled(t.map((e,t)=>(Array.isArray(e)||(e=["#"+t,e]),s.call(e[1],{errorHeader:e[0],errorHandling:!1})))).then(e=>{const[,,t]=i(n,void 0,void 0,r||{}),s=o(t);if(!s.success&&!s.fail)return e;const a={};for(var d of e){const[e,t]="fulfilled"===d.status?[s.success,d.value]:[s.fail,d.reason];if(!e)return;const r=u(s,p(t));for(var l in r)a[l]?a[l][t.config.errorHeader]=r[l]:a[l]={[t.config.errorHeader]:r[l]}}for(var f in a)s.handler[f](a[f]);return e})}let{method:s,url:a,params:d,config:l}=t;return void 0!==r&&(l=r),s||(s="get"),s.toLowerCase&&(s=s.toLowerCase()),"get"==s?this.get(n,a,d,l):"post"==s?this.post(n,a,d,l):void console.error("FhcApi: method not allowed:",s)},getErrorHandler:e=>o(e)},e.provide("$api",e.config.globalProperties.$api)}},B={loadCategory:e=>({method:"get",url:"/api/frontend/v1/phrasen/loadModule/"+e}),setLanguage:(e,t)=>({method:"post",url:"/api/frontend/v1/phrasen/setLanguage",params:{categories:e,language:t}}),getLanguage:()=>({method:"get",url:"/api/frontend/v1/phrasen/getLanguage"}),getActiveDbLanguages:()=>({method:"get",url:"/api/frontend/v1/phrasen/getAllLanguages"})};const H=Vue.reactive({}),J={};let L=Vue.ref(FHC_JS_DATA_STORAGE_OBJECT.user_language),j=Vue.computed(()=>L.value?FHC_JS_DATA_STORAGE_OBJECT.server_languages.find(e=>e.sprache==L.value).LC_Time:null);const w={user_language:L,user_locale:j,setLanguage(e){const t=Object.keys(H);return this.config.globalProperties.$api.call(B.setLanguage(t,e)).then(t=>(t.data.forEach(e=>{H[e.category][e.phrase]=e.text}),L.value=e,t))},loadCategory(e){return Array.isArray(e)?Promise.all(e.map(this.config.globalProperties.$p.loadCategory)):(J[e]||(J[e]=this.config.globalProperties.$api.call(B.loadCategory(e)).then(t=>t?.data?function(e,t){return e.filter(e=>e.category==t).reduce((e,t)=>(e[t.phrase]||(e[t.phrase]=t.text),e),{})}(t.data,e):{}).then(t=>{H[e]=t})),J[e])},t_ref(e,t,r){return console.warn("deprecated"),Vue.computed(()=>this.t(e,t,r))},t(e,t,r){if(void 0===r&&(Array.isArray(e)&&2==e.length||e.split&&2==e.split("/").length)&&(r=t,[e,t]=e.split?e.split("/"):e),void 0===t)return console.error("invalid input",e,t,r),"";let n=Vue.computed(()=>H[e]?function(e,t,r){let n=H[e][t];return n?(r&&(n=n.replace(/\{([^}]*)\}/g,(e,t)=>void 0===r[t]?e:r[t])),n):"<< PHRASE "+t+">>"}(e,t,r):"");return H[e]||this.loadCategory(e),n.value}};var z={install(e,t){e.config.globalProperties.$fhcApi||e.use(E),e.config.globalProperties.$api||e.use(R),e.config.globalProperties.$p={t:w.t,loadCategory:t=>w.loadCategory.call(e,t),setLanguage:t=>w.setLanguage.call(e,t),user_language:L,user_locale:j,t_ref:w.t_ref},e.provide("$p",e.config.globalProperties.$p)}};const G=Vue.createApp({name:"DocumentsApp",data:()=>({inscriptiontable:null,inscriptiontableFilters:{},studienerfolgsbestaetigungtable:null,studienerfolgsbestaetigungtableFilters:{},abschlussdokumentetable:null}),computed:{inscriptiontableFilter(){const e=[];for(var t in this.inscriptiontableFilters)this.inscriptiontableFilters[t]&&e.push({field:t,type:"=",value:this.inscriptiontableFilters[t]});return e},inscriptiontableEmpty(){return this.inscriptiontableFilters.Stsem?this.$p.t("tools","studienbeitragFuerSSNochNichtBezahlt",{stsem:this.inscriptiontableFilters.Stsem}):this.inscriptiontableFilters.Stg?this.$p.t("tools","studienbeitragFuerStgNochNichtBezahlt",{stsem:this.inscriptiontableFilters.Stg}):this.$p.t("tools","studienbeitragNochNichtBezahlt")},studienerfolgsbestaetigungtableFilter(){const e=[];for(var t in this.studienerfolgsbestaetigungtableFilters)this.studienerfolgsbestaetigungtableFilters[t]&&e.push({field:t,type:"=",value:this.studienerfolgsbestaetigungtableFilters[t]});return e}},methods:{changeFilter(e,t,r){this[e+"Filters"][t]=r.target.value,this[e].clearFilter(),this[e+"Filter"].length&&this[e].setFilter(this[e+"Filter"])}},mounted(){this.inscriptiontable=new Tabulator(this.$refs.inscriptiontable,{layout:"fitDataStretch",placeholder:this.$p.t("tools","studienbeitragNochNichtBezahlt")}),this.studienerfolgsbestaetigungtable=new Tabulator(this.$refs.studienerfolgsbestaetigungtable,{layout:"fitDataStretch"}),this.abschlussdokumentetable=new Tabulator(this.$refs.abschlussdokumentetable,{layout:"fitDataStretch",placeholder:this.$p.t("tools","nochKeineAbschlussdokumenteVorhanden")});const e=Vue.h("div",{class:"position-absolute top-0 left-0 w-100 h-100 d-flex justify-content-center align-items-center fw-bold text-muted"},[this.inscriptiontableEmpty]);this.inscriptiontable.on("dataSorted",(t,r)=>{r.length?Vue.render(null,this.inscriptiontable.element.querySelector(".tabulator-tableholder")):(e.children=[this.inscriptiontableEmpty],Vue.render(e,this.inscriptiontable.element.querySelector(".tabulator-tableholder")))})}});!function(){const e=/Chrome/.test(navigator.userAgent),t=/Firefox/.test(navigator.userAgent);if(e){const e=function(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-9999px",e.style.width="100px",e.style.height="100px",e.style.overflow="scroll",document.body.appendChild(e);const t=e.offsetWidth-e.clientWidth;return document.body.removeChild(e),t}()+"px";document.body.style.setProperty("--scrollbar-width",e)}else t&&document.body.style.setProperty("--scrollbar-width","0px")}(),G.use(z),G.mount("#content");
//# sourceMappingURL=Documents.js.map
diff --git a/public/dist/js/apps/Cis/ProfilUpdateRequests.js b/public/dist/js/apps/Cis/ProfilUpdateRequests.js
index 3f70b835a..704bb0e37 100644
--- a/public/dist/js/apps/Cis/ProfilUpdateRequests.js
+++ b/public/dist/js/apps/Cis/ProfilUpdateRequests.js
@@ -1,6 +1,6 @@
-import t from"../../../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js?2025111701";import e from"../../../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js?2025111701";import n from"../../../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js?2025111701";import r from"../../../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js?2025111701";const i={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'},s="Filter Component New Filter";var a={props:{filters:{type:Array,default:[]},columns:{type:Array,default:[]},fields:{type:Array,default:[]}},emits:{switchFilter:["filterId"],applyFilterConfig:["filterFields"],saveCustomFilter:["customFilterName"]},data:function(){return{currentFields:[]}},computed:{types(){return this.columns.reduce((t,e)=>{let n=e.type.toLowerCase();return n.indexOf("int")>=0?t[e.name]="Numeric":n.indexOf("varchar")>=0||n.indexOf("text")>=0||n.indexOf("bpchar")>=0?t[e.name]="Text":n.indexOf("timestamp")>=0||n.indexOf("date")>=0?t[e.name]="Date":t[e.name]="",t},{})}},watch:{fields(t){this.currentFields=t}},methods:{switchFilter(t){this.$emit("switchFilter",t.currentTarget.value)},applyFilterConfig(){const t=this.currentFields.filter(t=>t.name!=s);t.filter(t=>""==t.condition).length?alert("Please fill all the filter options"):this.$emit("applyFilterConfig",t)},addField(t){this.currentFields.push({name:s})},removeField(t){this.currentFields.splice(t,1)}},template:'\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t'};const l={jsonLines:"fa-file-lines",xlsx:"fa-file-excel",pdf:"fa-file-pdf",html:"fa-file-code",json:"fa-file",csv:"fa-file-csv"},d={jsonLines:"Download as JSONLINES",xlsx:"Download as XLSX",pdf:"Download as PDF",html:"Download as HTML",json:"Download as JSON",csv:"Download as CSV "};var p={props:{tabulator:Object,config:{type:[Boolean,String,Function,Array,Object],default:!1},iconClass:[String,Array,Object]},computed:{currentConfig(){if(!this.config)return!1;let t=this.config;if(t instanceof Function)return[t];if(null===t)return[];if(!0===this.config&&(t=["csv"]),"[object String]"===Object.prototype.toString.call(t)&&(t=t.split(",")),"object"==typeof t&&!Array.isArray(t)){let i=[];for(var e in t){var n,r=t[e];r&&("[object String]"===Object.prototype.toString.call(r)?null!==(n=this.stringToFileFormatter(r))?i.push({icon:"fa-solid "+l[n],label:r===e?d[n]:e,formatter:n}):null!==(n=this.stringToFileFormatter(e))?i.push({icon:"fa-solid "+l[n],label:r,formatter:n}):alert("neither "+e+" nor "+r+" are supported download file types"):"object"!=typeof r||Array.isArray(r)?null!==(n=this.stringToFileFormatter(e))?i.push({icon:"fa-solid "+l[n],label:d[n],formatter:n}):alert(e+" is not a supported download file type"):null!==(n=this.stringToFileFormatter(e))?(void 0===r.formatter&&(r.formatter=n),void 0===r.label&&(r.label=d[n]),void 0===r.icon&&(r.icon=l[n]),i.push(r)):(void 0===r.label&&(r.label=e),i.push(r)))}t=i}if(Array.isArray(t)){if(t=t.map(t=>{if("[object String]"===Object.prototype.toString.call(t)){let e=this.stringToFileFormatter(t);return null===e?null:{icon:"fa-solid "+l[e],label:d[e],formatter:e}}if(t instanceof Function)return{formatter:t};if("object"==typeof t&&!Array.isArray(t)&&null!==t){if(t.formatter instanceof Function)return t;if(this.validateFileFormatter(t.formatter))return t}return null}).filter(t=>null!==t),t.length<2)return t;if(t.filter(t=>t.label||t.icon).length==t.length)return t;alert("Config not valid")}return[]}},methods:{stringToFileFormatter(t){let e=t.toLowerCase();return"jsonlines"==e?"jsonLines":["xlsx","pdf","html","json","csv"].includes(e)?e:null},validateFileFormatter(t){let e=this.stringToFileFormatter(t);if(!e)return alert(t+" is not a supported file formatter"),!1;if("xlsx"==e&&!window.XLSX)return alert("XLSX Library not loaded"),!1;if("pdf"==e){if(!window.jspdf)return alert("jsPDF Library not loaded"),!1;if(!new jspdf.jsPDF({}).autoTable)return alert("jsPDF-AutoTable Plugin not loaded"),!1}return!0},download(t){this.tabulator.download(t.formatter,t.file,t.options)}},template:'\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
\n \n \x3c!-- column 1 in the address row --\x3e\n
\n \n
\n \n
\n
\n
{{$p.t(\'person\',\'strasse\')}}
\n {{data.strasse}} \n
\n
\n \n \x3c!-- column 2 in the address row --\x3e\n
\n
\n
{{$p.t(\'global\',\'typ\')}}
\n {{data.typ}} \n
\n
\n \n
\n
\n
{{$p.t(\'person\',\'ort\')}}
\n {{data.ort}} \n
\n
\n
\n
\n
{{$p.t(\'person\',\'plz\')}}
\n {{data.plz}} \n
\n
\n\n
\n
\n
{{$p.t(\'person\',\'zustelladresse\')}}
\n
\n \n
\n
\n
\n
\n'},b={
+import t from"../../../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js?2025121701";import e from"../../../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js?2025121701";import n from"../../../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js?2025121701";import r from"../../../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js?2025121701";const i={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'},s="Filter Component New Filter";var a={props:{filters:{type:Array,default:[]},columns:{type:Array,default:[]},fields:{type:Array,default:[]}},emits:{switchFilter:["filterId"],applyFilterConfig:["filterFields"],saveCustomFilter:["customFilterName"]},data:function(){return{currentFields:[]}},computed:{types(){return this.columns.reduce((t,e)=>{let n=e.type.toLowerCase();return n.indexOf("int")>=0?t[e.name]="Numeric":n.indexOf("varchar")>=0||n.indexOf("text")>=0||n.indexOf("bpchar")>=0?t[e.name]="Text":n.indexOf("timestamp")>=0||n.indexOf("date")>=0?t[e.name]="Date":t[e.name]="",t},{})}},watch:{fields(t){this.currentFields=t}},methods:{switchFilter(t){this.$emit("switchFilter",t.currentTarget.value)},applyFilterConfig(){const t=this.currentFields.filter(t=>t.name!=s);t.filter(t=>""==t.condition).length?alert("Please fill all the filter options"):this.$emit("applyFilterConfig",t)},addField(t){this.currentFields.push({name:s})},removeField(t){this.currentFields.splice(t,1)}},template:'\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t'};const l={jsonLines:"fa-file-lines",xlsx:"fa-file-excel",pdf:"fa-file-pdf",html:"fa-file-code",json:"fa-file",csv:"fa-file-csv"},d={jsonLines:"Download as JSONLINES",xlsx:"Download as XLSX",pdf:"Download as PDF",html:"Download as HTML",json:"Download as JSON",csv:"Download as CSV "};var p={props:{tabulator:Object,config:{type:[Boolean,String,Function,Array,Object],default:!1},iconClass:[String,Array,Object]},computed:{currentConfig(){if(!this.config)return!1;let t=this.config;if(t instanceof Function)return[t];if(null===t)return[];if(!0===this.config&&(t=["csv"]),"[object String]"===Object.prototype.toString.call(t)&&(t=t.split(",")),"object"==typeof t&&!Array.isArray(t)){let i=[];for(var e in t){var n,r=t[e];r&&("[object String]"===Object.prototype.toString.call(r)?null!==(n=this.stringToFileFormatter(r))?i.push({icon:"fa-solid "+l[n],label:r===e?d[n]:e,formatter:n}):null!==(n=this.stringToFileFormatter(e))?i.push({icon:"fa-solid "+l[n],label:r,formatter:n}):alert("neither "+e+" nor "+r+" are supported download file types"):"object"!=typeof r||Array.isArray(r)?null!==(n=this.stringToFileFormatter(e))?i.push({icon:"fa-solid "+l[n],label:d[n],formatter:n}):alert(e+" is not a supported download file type"):null!==(n=this.stringToFileFormatter(e))?(void 0===r.formatter&&(r.formatter=n),void 0===r.label&&(r.label=d[n]),void 0===r.icon&&(r.icon=l[n]),i.push(r)):(void 0===r.label&&(r.label=e),i.push(r)))}t=i}if(Array.isArray(t)){if(t=t.map(t=>{if("[object String]"===Object.prototype.toString.call(t)){let e=this.stringToFileFormatter(t);return null===e?null:{icon:"fa-solid "+l[e],label:d[e],formatter:e}}if(t instanceof Function)return{formatter:t};if("object"==typeof t&&!Array.isArray(t)&&null!==t){if(t.formatter instanceof Function)return t;if(this.validateFileFormatter(t.formatter))return t}return null}).filter(t=>null!==t),t.length<2)return t;if(t.filter(t=>t.label||t.icon).length==t.length)return t;alert("Config not valid")}return[]}},methods:{stringToFileFormatter(t){let e=t.toLowerCase();return"jsonlines"==e?"jsonLines":["xlsx","pdf","html","json","csv"].includes(e)?e:null},validateFileFormatter(t){let e=this.stringToFileFormatter(t);if(!e)return alert(t+" is not a supported file formatter"),!1;if("xlsx"==e&&!window.XLSX)return alert("XLSX Library not loaded"),!1;if("pdf"==e){if(!window.jspdf)return alert("jsPDF Library not loaded"),!1;if(!new jspdf.jsPDF({}).autoTable)return alert("jsPDF-AutoTable Plugin not loaded"),!1}return!0},download(t){this.tabulator.download(t.formatter,t.file,t.options)}},template:'\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
",!0,!0)},php(e){n(e,(e,n)=>{var r="";switch(r+="Message: "+e.message+"\n\n",r+="Filename: "+e.filename+"\n",r+="Line Number: "+e.line+"\n",e.backtrace&&e.backtrace.length&&(r+="\nBacktrace: ",e.backtrace.forEach(t=>{r+="\n\tFile: "+t.file+"\n",r+="\tLine: "+t.line+"\n",r+="\tFunction: "+t.function+"\n"})),e.severity){case"Warning":case"Core Warning":case"Compile Warning":case"User Warning":n?n+=": PHP "+e.severity:n="PHP "+e.severity,t.config.globalProperties.$fhcAlert.alertDefault("warn",n,r,!0);break;case"Notice":case"User Notice":case"Runtime Notice":n?n+=": PHP "+e.severity:n="PHP "+e.severity,t.config.globalProperties.$fhcAlert.alertDefault("info",n,r,!0);break;default:r="Type: PHP "+e.severity+"\n\n"+r,n&&(r=n+"\n\n"+r),t.config.globalProperties.$fhcAlert.alertSystemError(r)}})},exception(e){n(e,(e,n)=>{var r="";n&&(r+=n+"\n\n"),r+="Type: "+e.class+"\n\n",r+="Message: "+e.message+"\n\n",r+="Filename: "+e.filename+"\n",r+="Line Number: "+e.line+"\n",e.backtrace&&e.backtrace.length&&(r+="\nBacktrace: ",e.backtrace.forEach(t=>{r+="\n\tFile: "+t.file+"\n",r+="\tLine: "+t.line+"\n",r+="\tFunction: "+t.function+"\n"})),t.config.globalProperties.$fhcAlert.alertSystemError(r)})},db(e){n(e,(e,n)=>{var r="";n&&(r+=n+"\n\n"),void 0!==e.heading&&(r+=e.heading+"\n\n"),void 0!==e.code&&(r+="Code: "+e.code+"\n\n"),void 0!==e.sql&&(r+="SQL: "+e.sql+"\n\n"),void 0!==e.message?r+="Message: "+e.message+"\n\n":void 0!==e.messages&&(r+="Messages: "+e.messages.join("\n\t")+"\n\n"),void 0!==e.filename&&(r+="Filename: "+e.filename+"\n"),void 0!==e.line&&(r+="Line Number: "+e.line+"\n"),t.config.globalProperties.$fhcAlert.alertSystemError(r)})},auth(e){n(e,(e,n)=>{n?n+=": "+e.message:n=e.message;var r="";r+="Controller name: "+e.controller+"\n",r+="Method name: "+e.method+"\n",r+="Required permissions: "+e.required_permissions,t.config.globalProperties.$fhcAlert.alertDefault("error",n,r,!0)})}}};function i(t,e,n,r){if("string"==typeof t&&void 0===r)[e,n,r]=[t,e,n],t=void 0;else if(t){if("object"!=typeof t)throw new TypeError("Parameter 1 of _get_config must be an object or a string");void 0===e&&void 0===n&&void 0===r&&(r=t,t=void 0)}if(t){if(!t.clearValidation||!t.setFeedback)throw new TypeError("'form' is not a Form Component");t={clearValidation:t.clearValidation,setFeedback:t.setFeedback},r?r.form=t:r={form:t}}return[e,n,r]}function s(t){if("string"==typeof t.data||t.data instanceof String)return s({data:t});const e=t.data;return delete t.data,e?(e.meta?e.meta.response=t:e.meta={response:t},e):{meta:{response:t},data:null}}function a(t){if(!1===t||"off"===t)return{...r,success:!1,fail:!1};if(!t||!0===t)return{...r};if("success"===t)return{...r,fail:!1};if("fail"===t)return{...r,success:!1};const{success:e,fail:n,handler:i,combine:s}=t;return t={...r},Object.entries({fail:n,success:e}).forEach(([e,n])=>{void 0!==n&&(t[e]=n)}),Object.entries({handler:i,combine:s}).forEach(([e,n])=>{void 0!==n&&(t[e]={...t[e],...n})}),t}function o(t){const e=a(t?.errorHandling);if(t?.form){const n=e.handler.form;e.handler={...e.handler,form:e=>n(t.form,e)}}else e.combine={...e.combine,form:[]};return e}function l(t){return t.response?404==t.response.status?[{type:"not_found",message:t.message,url:t.request.responseURL}]:null==t.response.data.errors?[]:t.response.data.errors:t.request?[{type:"site_failed",message:t.message,url:t.request.responseURL}]:[{type:"script",message:t.message}]}function d(t,e){const n={},r=[];if(null==e)return{};for(;e.length;)r.push(e.pop());for(var i of r){let r=i.type,a=null;for(var s in t.combine){let e=t.combine[s].includes(r),n=t.handler[s];if(e&&n&&(a=s,"form"==a))break}a&&(r=a);t.handler[r]?(n[r]||(n[r]=[]),Array.isArray(i)?n[r].push(...i):n[r].push(i)):e.push(i)}return n}void 0!==e?.errorHandling&&(r=a(e.errorHandling));const p=axios.create({timeout:5e5,baseURL:FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/"});p.interceptors.request.use(t=>{if("post"!=t.method||!t.data)return t;if(t.data instanceof FormData)return t;if(!Object.values(t.data).every(t=>!(t instanceof FileList)&&(!Array.isArray(t)||t.every(t=>!(t instanceof File))))){const e=Object.entries(t.data).reduce((t,[e,n])=>{if(n instanceof FileList)for(const r of n)t.FormData.append(e+(n.length>1?"[]":""),r);else Array.isArray(n)?n.every(t=>!(t instanceof File))?t.jsondata[e]=n:n.forEach(r=>t.FormData.append(e+(n.length>1?"[]":""),r)):t.jsondata[e]=n;return t},{FormData:new FormData,jsondata:{}});e.FormData.append("_jsondata",JSON.stringify(e.jsondata)),t.data=e.FormData}return t}),p.interceptors.response.use(e=>("off"==e.config?.errorHandling||!1===e.config?.errorHandling||"fail"==e.config?.errorHandling||e.data.errors&&(e.data.errors=e.data.errors.filter(n=>(e.config[n.type+"ErrorHandler"]||t.config.globalProperties.$api._defaultErrorHandlers[n.type])(n,e.config))),s(e)),t=>{if("ERR_CANCELED"==t.code)return Promise.reject({handled:!0,...t});const e=o(t.config);if(!e.fail)return Promise.reject(t);const n=l(t),r=d(e,n);for(var i in r)e.handler[i](r[i]);return n.length?Promise.reject(t):Promise.reject({handled:!0,...t})}),t.config.globalProperties.$api={getUri:t=>p.getUri({url:t}),get:(t,e,n,r)=>([e,n,r]=i(t,e,n,r),n&&(r?r.params=n:r={params:n}),p.get(e,r)),post:(t,e,n,r)=>([e,n,r]=i(t,e,n,r),p.post(e,n,r)),call(e,n,r){if(Array.isArray(e)){const s=t.config.globalProperties.$api;return Promise.allSettled(e.map((t,e)=>(Array.isArray(t)||(t=["#"+e,t]),s.call(t[1],{errorHeader:t[0],errorHandling:!1})))).then(t=>{const[,,e]=i(r,void 0,void 0,n||{}),s=o(e);if(!s.success&&!s.fail)return t;const a={};for(var p of t){const[t,e]="fulfilled"===p.status?[s.success,p.value]:[s.fail,p.reason];if(!t)return;const n=d(s,l(e));for(var u in n)a[u]?a[u][e.config.errorHeader]=n[u]:a[u]={[e.config.errorHeader]:n[u]}}for(var c in a)s.handler[c](a[c]);return t})}let{method:s,url:a,params:p,config:u}=e;return void 0!==n&&(u=n),s||(s="get"),s.toLowerCase&&(s=s.toLowerCase()),"get"==s?this.get(r,a,p,u):"post"==s?this.post(r,a,p,u):void console.error("FhcApi: method not allowed:",s)},getErrorHandler:t=>o(t)},t.provide("$api",t.config.globalProperties.$api)}},Y={loadCategory:t=>({method:"get",url:"/api/frontend/v1/phrasen/loadModule/"+t}),setLanguage:(t,e)=>({method:"post",url:"/api/frontend/v1/phrasen/setLanguage",params:{categories:t,language:e}}),getLanguage:()=>({method:"get",url:"/api/frontend/v1/phrasen/getLanguage"}),getActiveDbLanguages:()=>({method:"get",url:"/api/frontend/v1/phrasen/getAllLanguages"})};const tt=Vue.reactive({}),et={};let nt=Vue.ref(FHC_JS_DATA_STORAGE_OBJECT.user_language),rt=Vue.computed(()=>nt.value?FHC_JS_DATA_STORAGE_OBJECT.server_languages.find(t=>t.sprache==nt.value).LC_Time:null);const it={user_language:nt,user_locale:rt,setLanguage(t){const e=Object.keys(tt);return this.config.globalProperties.$api.call(Y.setLanguage(e,t)).then(e=>(e.data.forEach(t=>{tt[t.category][t.phrase]=t.text}),nt.value=t,e))},loadCategory(t){return Array.isArray(t)?Promise.all(t.map(this.config.globalProperties.$p.loadCategory)):(et[t]||(et[t]=this.config.globalProperties.$api.call(Y.loadCategory(t)).then(e=>e?.data?function(t,e){return t.filter(t=>t.category==e).reduce((t,e)=>(t[e.phrase]||(t[e.phrase]=e.text),t),{})}(e.data,t):{}).then(e=>{tt[t]=e})),et[t])},t_ref(t,e,n){return console.warn("deprecated"),Vue.computed(()=>this.t(t,e,n))},t(t,e,n){if(void 0===n&&(Array.isArray(t)&&2==t.length||t.split&&2==t.split("/").length)&&(n=e,[t,e]=t.split?t.split("/"):t),void 0===e)return console.error("invalid input",t,e,n),"";let r=Vue.computed(()=>tt[t]?function(t,e,n){let r=tt[t][e];return r?(n&&(r=r.replace(/\{([^}]*)\}/g,(t,e)=>void 0===n[e]?t:n[e])),r):"<< PHRASE "+e+">>"}(t,e,n):"");return tt[t]||this.loadCategory(t),r.value}};var st={install(t,e){t.config.globalProperties.$fhcApi||t.use(q),t.config.globalProperties.$api||t.use(Q),t.config.globalProperties.$p={t:it.t,loadCategory:e=>it.loadCategory.call(t,e),setLanguage:e=>it.setLanguage.call(t,e),user_language:nt,user_locale:rt,t_ref:it.t_ref},t.provide("$p",t.config.globalProperties.$p)}},at=Object.freeze({__proto__:null,default:st,user_locale:rt});Vue.createApp({name:"ProfilUpdateRequestsApp",components:{"profil-update-view":F},data:()=>({profilUpdateStates:null}),provide(){return{profilUpdateStates:Vue.computed(()=>!!this.profilUpdateStates&&this.profilUpdateStates)}},methods:{},created(){this.$api.call(b.getStatus()).then(t=>{this.profilUpdateStates=t.data}).catch(t=>{console.error(t)})}}).use(st).mount("#content");
//# sourceMappingURL=ProfilUpdateRequests.js.map
diff --git a/public/dist/js/apps/Cis/ProfilUpdateRequests.js.map b/public/dist/js/apps/Cis/ProfilUpdateRequests.js.map
index ac0862d1a..f979acec5 100644
--- a/public/dist/js/apps/Cis/ProfilUpdateRequests.js.map
+++ b/public/dist/js/apps/Cis/ProfilUpdateRequests.js.map
@@ -1 +1 @@
-{"version":3,"file":"ProfilUpdateRequests.js","sources":["../../../../js/components/Fetch.js","../../../../js/components/filter/Filter/Config.js","../../../../js/components/filter/Filter/Columns.js","../../../../js/components/filter/Table/Download.js","../../../../js/directives/collapseAutoClose.js","../../../../js/tabulator/layouts/fitDataStretchFrozen.js","../../../../js/api/factory/filter.js","../../../../js/components/filter/Filter.js","../../../../js/components/Bootstrap/Modal.js","../../../../js/components/Cis/Profil/ProfilComponents/Kontakt.js","../../../../js/components/Cis/Profil/ProfilComponents/Adresse.js","../../../../js/api/factory/profilUpdate.js","../../../../js/components/Cis/ProfilUpdate/AcceptDenyUpdate.js","../../../../js/components/Loader.js","../../../../js/tabulator/filters/Dates.js","../../../../js/components/Cis/ProfilUpdate/ProfilUpdateView.js","../../../../js/api/search.js","../../../../js/api/phrasen.js","../../../../js/api/navigation.js","../../../../js/api/filter.js","../../../../js/api/studstatus.js","../../../../js/api/profil.js","../../../../js/api/profilUpdate.js","../../../../js/api/lvPlan.js","../../../../js/api/stv.js","../../../../js/api/stv/verband.js","../../../../js/api/stv/students.js","../../../../js/api/stv/filter.js","../../../../js/api/stv/konto.js","../../../../js/api/stv/group.js","../../../../js/api/stv/kontakt.js","../../../../js/api/stv/prestudent.js","../../../../js/api/stv/status.js","../../../../js/api/stv/details.js","../../../../js/api/stv/exam.js","../../../../js/api/stv/abschlusspruefung.js","../../../../js/api/stv/grades.js","../../../../js/api/stv/mobility.js","../../../../js/api/stv/archiv.js","../../../../js/api/stv/documents.js","../../../../js/api/stv/exemptions.js","../../../../js/api/stv/jointstudies.js","../../../../js/api/stv/courselist.js","../../../../js/api/notiz.js","../../../../js/api/notiz/person.js","../../../../js/api/betriebsmittel.js","../../../../js/api/betriebsmittel/person.js","../../../../js/api/checkperson.js","../../../../js/api/ort.js","../../../../js/api/cms.js","../../../../js/api/lehre.js","../../../../js/api/addons.js","../../../../js/api/messages.js","../../../../js/api/messages/person.js","../../../../js/api/vorlagen.js","../../../../js/api/studium.js","../../../../js/api/fhcapifactory.js","../../../../js/api/dashboard.js","../../../../js/api/bookmark.js","../../../../js/api/ampeln.js","../../../../js/api/studiengang.js","../../../../js/api/menu.js","../../../../js/api/authinfo.js","../../../../js/api/language.js","../../../../js/plugin/OldFhcApi.js","../../../../js/RESTClient.js","../../../../js/plugins/FhcAlert.js","../../../../js/plugins/Api.js","../../../../js/api/factory/phrasen.js","../../../../js/plugins/Phrasen.js","../../../../js/apps/Cis/ProfilUpdateRequests.js"],"sourcesContent":["/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n *\n */\nexport const CoreFetchCmpt = {\n\temits: ['dataFetched'], // this component can emit the event dataFetched that it is catched by this component itself\n\tprops: {\n\t\trefresh: { // to refresh this component\n\t\t\ttype: Boolean\n\t\t},\n\t\tapiFunction: { // the function to call, must return a Promise\n\t\t\trequired: true,\n\t\t\ttype: Function\n\t\t},\n\t\tapiFunctionParameters: {} // parameters for the apiFunction, type mixed, optional\n\t},\n\twatch: {\n\t\t/**\n\t\t * If the refresh property is changed then call fetchData\n\t\t */\n\t\trefresh: function (newValue, oldValue) {\n\t\t\tthis.fetchData();\n\t\t}\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tloading: false, // if in loading or not\n\t\t\terror: false, // if an error occurred while loading data\n\t\t\terrorMessage: null // the error message\n\t\t};\n\t},\n\tcreated: function() {\n\t\tthis.fetchData();\n\t},\n\tmethods: {\n\t\t/**\n\t\t *\n\t\t */\n\t\tfetchData: function() {\n\t\t\tthis.loading = true; // loader started\n\t\t\tthis.error = false;\n\t\t\tthis.errorMessage = null;\n\n\t\t\t// Checks if the apifunction is a callable function\n\t\t\tif (typeof this.apiFunction == \"function\")\n\t\t\t{\n\t\t\t\t// Call the function stored in apiFunction\n\t \t\tlet apiFunctionResult = this.apiFunction(this.apiFunctionParameters);\n\n\t\t\t\t// It is expected that the function returns a Promise\n\t\t\t\tif (apiFunctionResult instanceof Promise)\n\t\t\t\t{\n\t\t\t\t\tapiFunctionResult\n\t\t\t\t\t\t.then(this.successHandler) // on success\n\t\t\t\t\t\t.catch(this.errorHandler) // on error\n\t\t\t\t\t\t.finally(this.finallyHandler); // finally in any case\n\t\t\t\t}\n\t\t\t\telse // otherwise display an error\n\t\t\t\t{\n\t\t\t\t\tthis.setError(\"The called apiFunction does not return a Promise\");\n\t\t\t\t}\n\t\t\t}\n\t\t\telse // otherwise display an error\n\t\t\t{\n\t\t\t\tthis.setError(\"Property apiFunction is not a function\");\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tsetError: function(errorMessage) {\n\t\t\tthis.loading = false; // loading ended\n\t\t\tthis.error = true; // error occurred\n\t\t\tthis.errorMessage = errorMessage; // save the error message\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tsuccessHandler: function(response) {\n\t\t\tthis.$emit('dataFetched', response ? response.data : undefined); // trigger the event dataFetched\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\terrorHandler: function(error) {\n\t\t\tif (error.response?.data?.retval)\n\t\t\t\tthis.setError(error.response.data.retval);\n\t\t\telse if (error.data?.message)\n\t\t\t\tthis.setError(error.data.message);\n\t\t\telse\n\t\t\t\tthis.setError(error.message);\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tfinallyHandler: function() {\n\t\t\tthis.loading = false; // loading ended\n\t\t}\n\t},\n\ttemplate: `\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t`\n};\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nconst FILTER_COMPONENT_NEW_FILTER = 'Filter Component New Filter';\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\tfilters: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tfields: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t}\n\t},\n\temits: {\n\t\tswitchFilter: ['filterId'],\n\t\tapplyFilterConfig: ['filterFields'],\n\t\tsaveCustomFilter: ['customFilterName']\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tcurrentFields: []\n\t\t};\n\t},\n\tcomputed: {\n\t\ttypes() {\n\t\t\treturn this.columns.reduce((a,c) => {\n\t\t\t\tlet type = c.type.toLowerCase();\n\t\t\t\tif (type.indexOf('int') >= 0)\n\t\t\t\t\ta[c.name] = 'Numeric';\n\t\t\t\telse if (\n\t\t\t\t\ttype.indexOf('varchar') >= 0 || \n\t\t\t\t\ttype.indexOf('text') >= 0 || \n\t\t\t\t\ttype.indexOf('bpchar') >= 0\n\t\t\t\t)\n\t\t\t\t\ta[c.name] = 'Text';\n\t\t\t\telse if (\n\t\t\t\t\ttype.indexOf('timestamp') >= 0 || \n\t\t\t\t\ttype.indexOf('date') >= 0\n\t\t\t\t)\n\t\t\t\t\ta[c.name] = 'Date';\n\t\t\t\telse\n\t\t\t\t\ta[c.name] = '';\n\t\t\t\treturn a;\n\t\t\t}, {});\n\t\t}\n\t},\n\twatch: {\n\t\tfields(n) {\n\t\t\tthis.currentFields = n;\n\t\t}\n\t},\n\tmethods: {\n\t\tswitchFilter(evt) {\n\t\t\tthis.$emit('switchFilter', evt.currentTarget.value);\n\t\t},\n\t\tapplyFilterConfig() {\n\t\t\tconst filteredFields = this.currentFields.filter(el => el.name != FILTER_COMPONENT_NEW_FILTER);\n\t\t\tif (filteredFields.filter(el => el.condition == \"\").length)\n\t\t\t\talert(\"Please fill all the filter options\");\n\t\t\telse\n\t\t\t\tthis.$emit('applyFilterConfig', filteredFields);\n\t\t},\n\t\taddField(evt) {\n\t\t\tthis.currentFields.push({\n\t\t\t\tname: FILTER_COMPONENT_NEW_FILTER\n\t\t\t});\n\t\t},\n\t\tremoveField(index) {\n\t\t\tthis.currentFields.splice(index, 1);\n\t\t}\n\t},\n\ttemplate: `\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t`\n};\n\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\tfields: Array,\n\t\tselected: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tnames: {\n\t\t\ttype: Object,\n\t\t\tdefault: {}\n\t\t}\n\t},\n\temits: {\n\t\thide: ['fieldName'],\n\t\tshow: ['fieldName']\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tselectedFields: []\n\t\t};\n\t},\n\twatch: {\n\t\tselected(n) {\n\t\t\tthis.selectedFields = n;\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggle(field) {\n\t\t\tif (this.selectedFields.indexOf(field) != -1)\n\t\t\t{\n\t\t\t\tthis.selectedFields.splice(this.selectedFields.indexOf(field), 1);\n\t\t\t\tthis.$emit('hide', field);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.selectedFields.push(field);\n\t\t\t\tthis.$emit('show', field);\n\t\t\t}\n\t\t}\n\t},\n\ttemplate: `\n\t
\n\t`\n};\n\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nconst DEFAULT_ICONS = {\n\tjsonLines: 'fa-file-lines',\n\txlsx: 'fa-file-excel',\n\tpdf: 'fa-file-pdf',\n\thtml: 'fa-file-code',\n\tjson: 'fa-file',\n\tcsv: 'fa-file-csv'\n};\nconst DEFAULT_LABELS = {\n\tjsonLines: 'Download as JSONLINES',\n\txlsx: 'Download as XLSX',\n\tpdf: 'Download as PDF',\n\thtml: 'Download as HTML',\n\tjson: 'Download as JSON',\n\tcsv: 'Download as CSV '\n};\n\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\ttabulator: Object,\n\t\tconfig: {\n\t\t\ttype: [Boolean, String, Function, Array, Object],\n\t\t\tdefault: false\n\t\t},\n\t\ticonClass: [String, Array, Object]\n\t},\n\tcomputed: {\n\t\tcurrentConfig() {\n\t\t\tif (!this.config)\n\t\t\t\treturn false;\n\n\t\t\tlet config = this.config;\n\n\t\t\tif (config instanceof Function)\n\t\t\t\treturn [config];\n\n\t\t\tif (config === null)\n\t\t\t\treturn [];\n\n\t\t\tif (this.config === true)\n\t\t\t\tconfig = ['csv'];\n\n\t\t\tif (Object.prototype.toString.call(config) === \"[object String]\")\n\t\t\t\tconfig = config.split(',');\n\n\t\t\tif (typeof config === 'object' && !Array.isArray(config)) {\n\t\t\t\tlet newConfig = [];\n\t\t\t\tfor (var k in config) {\n\t\t\t\t\tvar v = config[k], type;\n\t\t\t\t\t\n\t\t\t\t\tif (!v)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\n\t\t\t\t\tif (Object.prototype.toString.call(v) === \"[object String]\") {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(v);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\tlabel: v === k ? DEFAULT_LABELS[type] : k,\n\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\t\tif(type !== null) {\n\t\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\t\tlabel: v,\n\t\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\talert('neither ' + k + ' nor ' + v + ' are supported download file types');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (typeof v === 'object' && !Array.isArray(v)) {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tif (v.formatter === undefined)\n\t\t\t\t\t\t\t\tv.formatter = type;\n\t\t\t\t\t\t\tif (v.label === undefined)\n\t\t\t\t\t\t\t\tv.label = DEFAULT_LABELS[type];\n\t\t\t\t\t\t\tif (v.icon === undefined)\n\t\t\t\t\t\t\t\tv.icon = DEFAULT_ICONS[type];\n\t\t\t\t\t\t\tnewConfig.push(v);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (v.label === undefined)\n\t\t\t\t\t\t\t\tv.label = k;\n\t\t\t\t\t\t\tnewConfig.push(v);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\tlabel: DEFAULT_LABELS[type],\n\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\talert(k + ' is not a supported download file type');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconfig = newConfig;\n\t\t\t}\n\n\t\t\tif (Array.isArray(config))\n\t\t\t{\n\t\t\t\tconfig = config.map(el => {\n\t\t\t\t\tif (Object.prototype.toString.call(el) === \"[object String]\") {\n\t\t\t\t\t\tlet formatter = this.stringToFileFormatter(el);\n\t\t\t\t\t\tif (formatter === null)\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[formatter],\n\t\t\t\t\t\t\tlabel: DEFAULT_LABELS[formatter],\n\t\t\t\t\t\t\tformatter\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (el instanceof Function)\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tformatter: el\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (typeof el === 'object' && !Array.isArray(el) && el !== null) {\n\t\t\t\t\t\tif (el.formatter instanceof Function)\n\t\t\t\t\t\t\treturn el;\n\t\t\t\t\t\tif (this.validateFileFormatter(el.formatter))\n\t\t\t\t\t\t\treturn el;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null;\n\t\t\t\t}).filter(el => el !== null);\n\n\t\t\t\tif (config.length < 2)\n\t\t\t\t\treturn config;\n\n\t\t\t\tif (config.filter(el => el.label || el.icon).length == config.length)\n\t\t\t\t\treturn config;\n\n\t\t\t\talert('Config not valid');\n\t\t\t}\n\n\t\t\treturn [];\n\t\t}\n\t},\n\tmethods: {\n\t\tstringToFileFormatter(input) {\n\t\t\tlet lcInput = input.toLowerCase();\n\t\t\t\n\t\t\tif (lcInput == 'jsonlines')\n\t\t\t\treturn 'jsonLines';\n\t\t\t\n\t\t\tif (['xlsx', 'pdf', 'html', 'json', 'csv'].includes(lcInput))\n\t\t\t\treturn lcInput;\n\n\t\t\treturn null;\n\t\t},\n\t\tvalidateFileFormatter(input) {\n\t\t\tlet formatter = this.stringToFileFormatter(input);\n\t\t\tif (!formatter) {\n\t\t\t\talert(input + ' is not a supported file formatter');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (formatter == 'xlsx') {\n\t\t\t\tif (!window.XLSX) {\n\t\t\t\t\talert('XLSX Library not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (formatter == 'pdf') {\n\t\t\t\tif (!window.jspdf) {\n\t\t\t\t\talert('jsPDF Library not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tvar doc = new jspdf.jsPDF({});\n\t\t\t\tif (!doc.autoTable) {\n\t\t\t\t\talert('jsPDF-AutoTable Plugin not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tdownload(config) {\n\t\t\tthis.tabulator.download(config.formatter, config.file, config.options)\n\t\t}\n\t},\n\ttemplate: `\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
\n\t\n\t`\n};\n\n","const elementDataMap = new WeakMap();\n\nexport default {\n\tmounted(el, binding) {\n\t\tlet open = false;\n\t\telementDataMap.set(el, evt => {\n\t\t\tif (!open)\n\t\t\t\treturn;\n\n\t\t\tif (el.contains(evt.target))\n\t\t\t\treturn;\n\n\t\t\tconst collapse = bootstrap.Collapse.getInstance(el)\n\t\t\tif (collapse)\n\t\t\t\tcollapse.hide();\n\t\t});\n\t\tel.addEventListener('shown.bs.collapse', () => {\n\t\t\topen = true;\n\t\t});\n\t\tel.addEventListener('hide.bs.collapse', () => {\n\t\t\topen = false;\n\t\t});\n\t\tdocument.addEventListener('click', elementDataMap.get(el), true);\n\t},\n\tbeforeUnmount(el, binding) {\n\t\tdocument.removeEventListener('click', elementDataMap.get(el));\n\t\tdelete el.collapsibleAutoHideFunc;\n\t}\n}","/**\n * This may need changes if Tabulator gets updated!\n *\n * Current working Version: 5.5.2\n * \n * This is a copy of the fitDataStretch function. The only difference\n * is the check for frozen columns on line 22.\n */\n\nexport default window.Tabulator?.extendModule(\"layout\", \"modes\", {\n\tfitDataStretchFrozen(columns, forced) {\n\t\tvar colsWidth = 0,\n\t\ttableWidth = this.table.rowManager.element.clientWidth,\n\t\tgap = 0,\n\t\tlastCol = false;\n\n\t\tcolumns.forEach((column, i) => {\n\t\t\tif (!column.widthFixed) {\n\t\t\t\tcolumn.reinitializeWidth();\n\t\t\t}\n\n\t\t\tif (this.table.options.responsiveLayout ? column.modules.responsive.visible : column.visible && !column.definition.frozen) {\n\t\t\t\tlastCol = column;\n\t\t\t}\n\n\t\t\tif (column.visible) {\n\t\t\t\tcolsWidth += column.getWidth();\n\t\t\t}\n\t\t});\n\n\t\tif (lastCol){\n\t\t\tgap = tableWidth - colsWidth + lastCol.getWidth();\n\n\t\t\tif (this.table.options.responsiveLayout && this.table.modExists(\"responsiveLayout\", true)) {\n\t\t\t\tlastCol.setWidth(0);\n\t\t\t\tthis.table.modules.responsiveLayout.update();\n\t\t\t}\n\n\t\t\tif (gap > 0) {\n\t\t\t\tlastCol.setWidth(gap);\n\t\t\t} else {\n\t\t\t\tlastCol.reinitializeWidth();\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.table.options.responsiveLayout && this.table.modExists(\"responsiveLayout\", true)) {\n\t\t\t\tthis.table.modules.responsiveLayout.update();\n\t\t\t}\n\t\t}\n\t}\n});\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tsaveCustomFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/saveCustomFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tcustomFilterName: wsParams.customFilterName\n\t\t\t}\n\t\t};\n\t},\n\tremoveCustomFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/removeCustomFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t};\n\t},\n\tapplyFilterFields(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/applyFilterFields',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterFields: wsParams.filterFields\n\t\t\t}\n\t\t};\n\t},\n\taddFilterField(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/addFilterField',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t};\n\t},\n\tremoveFilterField(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/removeFilterField',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t};\n\t},\n\tgetFilterById(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/filter/getFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t};\n\t},\n\tgetFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/filter/getFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType\n\t\t\t}\n\t\t};\n\t}\n};","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport {CoreFetchCmpt} from '../../components/Fetch.js';\nimport FilterConfig from './Filter/Config.js';\nimport FilterColumns from './Filter/Columns.js';\nimport TableDownload from './Table/Download.js';\nimport collapseAutoClose from '../../directives/collapseAutoClose.js';\n\nimport moduleLayoutFitDataStretchFrozen from '../../tabulator/layouts/fitDataStretchFrozen.js';\n\nimport ApiFilter from '../../api/factory/filter.js';\n\n//\nconst FILTER_COMPONENT_NEW_FILTER = 'Filter Component New Filter';\nconst FILTER_COMPONENT_NEW_FILTER_TYPE = 'Filter Component New Filter Type';\n\nvar _uuid = 0;\n\n/**\n *\n */\nexport const CoreFilterCmpt = {\n\tcomponents: {\n\t\tCoreFetchCmpt,\n\t\tFilterConfig,\n\t\tFilterColumns,\n\t\tTableDownload\n\t},\n\tdirectives: {\n\t\tcollapseAutoClose\n\t},\n\temits: [\n\t\t'nwNewEntry',\n\t\t'click:new',\n\t\t'tableBuilt',\n\t\t'uuidDefined'\n\t],\n\tprops: {\n\t\tonNwNewEntry: Function, // NOTE(chris): Hack to get the nwNewEntry listener into $props\n\t\ttitle: String,\n\t\tdescription: String,\n\t\tsideMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tfilterType: {\n\t\t\ttype: String\n\t\t},\n\t\ttabulatorOptions: Object,\n\t\ttabulatorEvents: Array,\n\t\ttableOnly: Boolean,\n\t\tnoColumnFilter:Boolean,\n\t\treload: Boolean,\n\t\treloadBtnInfotext: String,\n\t\tdownload: {\n\t\t\ttype: [Boolean, String, Function, Array, Object],\n\t\t\tdefault: false\n\t\t},\n\t\tnewBtnShow: Boolean,\n\t\tnewBtnClass: [String, Array, Object],\n\t\tnewBtnDisabled: Boolean,\n\t\tnewBtnLabel: String,\n\t\tuniqueId: String,\n\n\t\tidField: String,\n\t\tparentIdField: String,\n\t\tcountOnly: Boolean,\n\t\tuseSelectionSpan: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t}\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tuuid: 0,\n\t\t\t// FilterCmpt properties\n\t\t\tfilterName: null,\n\t\t\tfilterActive: false,\n\t\t\tfields: null,\n\t\t\tdataset: null,\n\t\t\tdatasetMetadata: null,\n\t\t\tselectedFields: null,\n\t\t\tfilterFields: null,\n\n\t\t\tavailableFilters: null,\n\t\t\tselectedFilter: null,\n\n\t\t\t// FetchCmpt binded properties\n\t\t\tfetchCmptRefresh: false,\n\t\t\tfetchCmptApiFunction: null,\n\t\t\tfetchCmptApiFunctionParams: null,\n\t\t\tfetchCmptDataFetched: null,\n\n\t\t\tfetchResult: null,\n\n\t\t\ttabulator: null,\n\t\t\ttableBuilt: false,\n\t\t\ttabulatorHasSelector: false,\n\t\t\tselectedData: [],\n\t\t\tpersistence: {\n\t\t\t\tsort: true,\n\t\t\t\tcolumns: true,\n\t\t\t\tfilter: false,\n\t\t\t\theaderFilter: false,\n\t\t\t\tgroup: false,\n\t\t\t\tpage: false,\n\t\t\t}\n\t\t};\n\t},\n\tcomputed: {\n\t\tnotSelectedFields() {\n\t\t\tif (!this.fields || !this.selectedFields)\n\t\t\t\treturn null;\n\t\t\treturn this.fields.filter(x => this.selectedFields.indexOf(x) === -1)\n\t\t},\n\t\tfilteredData() {\n\t\t\tif (!this.dataset)\n\t\t\t\treturn [];\n\t\t\treturn JSON.parse(JSON.stringify(this.dataset));\n\t\t},\n\t\tfilteredColumns() {\n\t\t\tlet fields = JSON.parse(JSON.stringify(this.fields)) || [];\n\t\t\tlet selectedFields = JSON.parse(JSON.stringify(this.selectedFields)) || [];\n\n\t\t\tlet columns = null;\n\n\t\t\t// If the tabulator options has been provided and it contains the property columns\n\t\t\tif (this.tabulatorOptions && this.tabulatorOptions.hasOwnProperty('columns'))\n\t\t\t\tcolumns = this.tabulatorOptions.columns;\n\n\t\t\t// If columns is not an array or it is an array with less elements then the array fields\n\t\t\tif (!Array.isArray(columns) || (Array.isArray(columns) && columns.length < fields.length))\n\t\t\t{\n\t\t\t\tcolumns = []; // set it as an empty array\n\n\t\t\t\t// Loop throught all the retrieved columns from database\n\t\t\t\tfor (let field of fields)\n\t\t\t\t{\n\t\t\t\t\t// Create a new column having the title equal to the field name\n\t\t\t\t\tlet column = {\n\t\t\t\t\t\ttitle: field,\n\t\t\t\t\t\tfield: field\n\t\t\t\t\t};\n\n\t\t\t\t\t// If the column has to be displayed or not\n\t\t\t\t\tcolumn.visible = selectedFields.indexOf(field) >= 0;\n\n\t\t\t\t\t// Add the new column to the list of columns\n\t\t\t\t\tcolumns.push(column);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse // the property columns has been provided in the tabulator options\n\t\t\t{\n\t\t\t\t// Loop throught the property columns of the tabulator options\n\t\t\t\tfor (let col of columns)\n\t\t\t\t{\n\t\t\t\t\t// If the column has to be displayed or not\n\t\t\t\t\t/* fields.indexOf(col.field) == -1; ensures displaying formatter colums\n\t\t\t\t\te.g. column with rowSelection checkboxes or with custom formatted action buttons */\n\t\t\t\t\tcol.visible = selectedFields.indexOf(col.field) >= 0 || fields.indexOf(col.field) == -1;\n\n\t\t\t\t\tif (col.hasOwnProperty('resizable'))\n\t\t\t\t\t\tcol.resizable = col.visible;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn columns;\n\t\t},\n\t\tfieldIdsForVisibilty() {\n\t\t\tif (!this.tableBuilt)\n\t\t\t\treturn [];\n\t\t\treturn this.tabulator.getColumns().filter(col => {\n\t\t\t\tlet def = col.getDefinition();\n\t\t\t\treturn !def.frozen && def.title && def.formatter != \"responsiveCollapse\";\n\t\t\t}).map(col => col.getField());\n\t\t},\n\t\tfieldNames() {\n\t\t\tif (!this.tableBuilt)\n\t\t\t\treturn {};\n\t\t\treturn this.tabulator.getColumns().reduce((res, col) => {\n\t\t\t\tres[col.getField()] = col.getDefinition().title;\n\t\t\t\treturn res;\n\t\t\t}, {});\n\t\t},\n\t\tidExtra() {\n\t\t\tif (!this.uuid)\n\t\t\t\treturn '';\n\t\t\treturn '-' + this.uuid;\n\t\t},\n\t\tcolumnsForFilter() {\n\t\t\tif (!this.filteredColumns || !this.datasetMetadata)\n\t\t\t\treturn [];\n\t\t\tconst filterTitles = this.filteredColumns.reduce((a,c) => {\n\t\t\t\ta[c.field] = c.title;\n\t\t\t\treturn a;\n\t\t\t}, {});\n\t\t\treturn this.datasetMetadata.map(el => ({...el, ...{title: filterTitles[el.name]}}));\n\t\t}\n\t},\n\tmethods: {\n\t\treloadTable() {\n\t\t\tif (this.tableOnly)\n\t\t\t\tthis.tabulator.setData();\n\t\t\telse\n\t\t\t\tthis.getFilter();\n\t\t},\n\t\tasync initTabulator() {\n\t\t\tlet placeholder = '< Phrasen Plugin not loaded! >';\n\t\t\tif (this.$p) {\n\t\t\t\tawait this.$p.loadCategory('ui');\n\t\t\t\tplaceholder = this.$p.t('ui/keineDatenVorhanden');\n\t\t\t}\n\n\t\t\tif (!this.tableOnly) {\n\t\t\t\t// prefetch data to get fields & selectedFields for filteredColumns & filteredData\n\t\t\t\tawait new Promise(resolve => {\n\t\t\t\t\tconst filterId = window.location.hash ? window.location.hash.slice(1) : null;\n\n\t\t\t\t\tconst resolvePromiseFunc = data => {\n\t\t\t\t\t\tthis.setRenderData(data);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t};\n\t\t\t\t\t// get the filter data\n\t\t\t\t\tif (filterId === null)\n\t\t\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilter(wsParams)),\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tresolvePromiseFunc\n\t\t\t\t\t\t);\n\t\t\t\t\telse\n\t\t\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilterById(wsParams)),\n\t\t\t\t\t\t\t{ filterId },\n\t\t\t\t\t\t\tresolvePromiseFunc\n\t\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Define a default tabulator options in case it was not provided\n\t\t\tlet tabulatorOptions = {...{\n\t\t\t\t\tlayout: \"fitDataStretchFrozen\",\n\t\t\t\t\tmovableColumns: true,\n\t\t\t\t\tcolumnDefaults:{\n\t\t\t\t\t\ttooltip: true\n\t\t\t\t\t},\n\t\t\t\t\tplaceholder,\n\t\t\t\t\tpersistence: this.persistence,\n\t\t\t\t}, ...(this.tabulatorOptions || {})};\n\n\t\t\t// set default height if no height property is set\n\t\t\tif (tabulatorOptions.height === undefined &&\n\t\t\t\ttabulatorOptions.minHeight === undefined &&\n\t\t\t\ttabulatorOptions.maxHeight === undefined) {\n\t\t\t\ttabulatorOptions.height = 500;\n\t\t\t}\n\n\t\t\tif (!this.tableOnly) {\n\t\t\t\ttabulatorOptions.data = this.filteredData;\n\t\t\t\ttabulatorOptions.columns = this.filteredColumns;\n\t\t\t} else {\n\t\t\t\ttabulatorOptions.columns.forEach(col => {\n\t\t\t\t\tif (col.visible === undefined)\n\t\t\t\t\t\tcol.visible = true;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (tabulatorOptions.selectable || (tabulatorOptions.columns && tabulatorOptions.columns.filter(el => el.formatter == 'rowSelection').length))\n\t\t\t\tthis.tabulatorHasSelector = true;\n\n\t\t\tif (this.idField) {\n\t\t\t\t// enable nested tabulator if parent Id given\n\t\t\t\tif (this.parentIdField) tabulatorOptions.dataTree = true;\n\t\t\t\t// set tabulator index\n\t\t\t\ttabulatorOptions.index = this.idField;\n\t\t\t}\n\n\t\t\t// Start the tabulator with the build options\n\t\t\tthis.tabulator = new Tabulator(\n\t\t\t\tthis.$refs.table,\n\t\t\t\ttabulatorOptions\n\t\t\t);\n\t\t\t// If event handlers have been provided\n\t\t\tif (Array.isArray(this.tabulatorEvents) && this.tabulatorEvents.length > 0)\n\t\t\t{\n\t\t\t\t// Attach all the provided event handlers to the started tabulator\n\t\t\t\tfor (let evt of this.tabulatorEvents)\n\t\t\t\t\tthis.tabulator.on(evt.event, evt.handler);\n\t\t\t}\n\t\t\tthis.tabulator.on('tableBuilt', () => {this.tableBuilt = true; this.$emit('tableBuilt');});\n\t\t\tthis.tabulator.on(\"rowSelectionChanged\", data => {\n\t\t\t\tthis.selectedData = data;\n\t\t\t});\n\n\t\t\t// if nested tabulator, restructure data\n\t\t\tif (this.parentIdField && this.idField) {\n\t\t\t\tthis.tabulator.on(\"dataLoading\", data => {\n\t\t\t\t\tlet toDelete = [];\n\n\t\t\t\t\t// loop through all data\n\t\t\t\t\tfor (let childIdx = 0; childIdx < data.length; childIdx++)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet child = data[childIdx];\n\n\t\t\t\t\t\t// if it has parent id, it is a child\n\t\t\t\t\t\tif (child[this.parentIdField])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// append the child on the right place. If parent found, mark original sw child on 0 level for deleting\n\t\t\t\t\t\t\tif (this.appendChild(data, child)) toDelete.push(childIdx);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// delete the marked children from 0 level\n\t\t\t\t\tfor (let counter = 0; counter < toDelete.length; counter++)\n\t\t\t\t\t{\n\t\t\t\t\t\t// decrease index by counter as index of data array changes after every deletion\n\t\t\t\t\t\tdata.splice(toDelete[counter] - counter, 1);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (this.tableOnly) {\n\t\t\t\tthis.tabulator.on('tableBuilt', () => {\n\t\t\t\t\tconst cols = this.tabulator.getColumns();\n\t\t\t\t\tthis.fields = cols.map(col => col.getField());\n\t\t\t\t\tthis.selectedFields = cols.filter(col => col.isVisible()).map(col => col.getField());\n\t\t\t\t\tif (this.tabulator.options.persistence.headerFilter)\n\t\t\t\t\t\tthis._setHeaderFilter();\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t\tthis.tabulator.on(\"dataFiltered\", filters => {\n\t\t\t\tthis.filterActive = filters.length > 0;\n\t\t\t});\n\t\t},\n\t\tupdateTabulator() {\n\t\t\tif (this.tabulator) {\n\t\t\t\tif (this.tableBuilt)\n\t\t\t\t\tthis._updateTabulator();\n\t\t\t\telse\n\t\t\t\t\tthis.tabulator.on('tableBuilt', this._updateTabulator);\n\t\t\t}\n\t\t},\n\t\t_updateTabulator() {\n\t\t\tthis.tabulatorHasSelector = this.tabulatorOptions.selectable || this.filteredColumns.filter(el => el.formatter == 'rowSelection').length;\n\t\t\tthis.tabulator.setColumns(this.filteredColumns);\n\t\t\tthis.tabulator.setData(this.filteredData);\n\t\t\tthis._setHeaderFilter()\n\t\t},\n\t\tclearFilters()\n\t\t{\n\t\t\tlet existingFilters = this.tabulator.getHeaderFilters();\n\t\t\texistingFilters.forEach(filter => {\n\t\t\t\tthis.tabulator.setHeaderFilterValue(filter.field, \"\");\n\t\t\t});\n\t\t\tthis.tabulator.clearFilter();\n\t\t\tthis.filterActive = false;\n\t\t},\n\t\t_setHeaderFilter()\n\t\t{\n\t\t\tconst existingFilters = this.tabulator.getHeaderFilters();\n\t\t\texistingFilters.forEach(filter => {\n\t\t\t\tthis.tabulator.setHeaderFilterValue(filter.field, filter.value);\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tgetFilter() {\n\t\t\tif (this.selectedFilter === null)\n\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilter(wsParams)),\n\t\t\t\t\tnull,\n\t\t\t\t\tthis.render\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilterById(wsParams)),\n\t\t\t\t\t{\n\t\t\t\t\t\tfilterId: this.selectedFilter\n\t\t\t\t\t},\n\t\t\t\t\tthis.render\n\t\t\t\t);\n\t\t},\n\t\tsetRenderData(data) {\n\t\t\tthis.fetchResult = data;\n\t\t\tthis.filterName = data.filterName;\n\t\t\tthis.dataset = data.dataset;\n\t\t\tthis.datasetMetadata = data.datasetMetadata;\n\n\t\t\tthis.fields = data.fields;\n\t\t\tthis.selectedFields = data.selectedFields;\n\t\t\tthis.filterFields = [];\n\n\t\t\tfor (let i = 0; i < data.datasetMetadata.length; i++)\n\t\t\t{\n\t\t\t\tfor (let j = 0; j < data.filters.length; j++)\n\t\t\t\t{\n\t\t\t\t\tif (data.datasetMetadata[i].name == data.filters[j].name)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet filter = data.filters[j];\n\t\t\t\t\t\tfilter.type = data.datasetMetadata[i].type;\n\n\t\t\t\t\t\tthis.filterFields.push(filter);\n\t\t\t\t\t\t//break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\trender(response) {\n\t\t\tlet data = response;\n\n\t\t\tthis.setRenderData(data);\n\n\t\t\t// If the side menu is active\n\t\t\tif (this.sideMenu === true)\n\t\t\t{\n\t\t\t\tthis.setSideMenu(data);\n\t\t\t}\n\t\t\telse // otherwise use the dropdown in the filter options\n\t\t\t{\n\t\t\t\tthis.setDropDownMenu(data);\n\t\t\t}\n\t\t\tthis.updateTabulator();\n\t\t},\n\t\t/**\n\t\t * Set the menu\n\t\t */\n\t\tsetSideMenu(data) {\n\t\t\tlet filters = data.sideMenu.filters;\n\t\t\tlet personalFilters = data.sideMenu.personalFilters;\n\t\t\tlet filtersArray = [];\n\n\t\t\tfor (let filtersCount = 0; filtersCount < filters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = filters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: filters[filtersCount].filter_id,\n\t\t\t\t\tlink: link + filters[filtersCount].filter_id,\n\t\t\t\t\tdescription: filters[filtersCount].desc,\n\t\t\t\t\tsort: filtersCount,\n\t\t\t\t\tonClickCall: this.handlerGetFilterById\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfor (let filtersCount = 0; filtersCount < personalFilters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = personalFilters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: personalFilters[filtersCount].filter_id,\n\t\t\t\t\tlink: link + personalFilters[filtersCount].filter_id,\n\t\t\t\t\tdescription: personalFilters[filtersCount].desc,\n\t\t\t\t\tsubscriptDescription: personalFilters[filtersCount].subscriptDescription,\n\t\t\t\t\tsubscriptLinkClass: personalFilters[filtersCount].subscriptLinkClass,\n\t\t\t\t\tsubscriptLinkValue: personalFilters[filtersCount].subscriptLinkValue,\n\t\t\t\t\tsort: filtersCount,\n\t\t\t\t\tonClickCall: this.handlerGetFilterById,\n\t\t\t\t\tonClickSubscriptCall: this.handlerRemoveCustomFilter\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.availableFilters = filtersArray;\n\n\t\t\tthis.$emit(\n\t\t\t\t'nwNewEntry',\n\t\t\t\t{\n\t\t\t\t\tlink: \"#\",\n\t\t\t\t\tdescription: \"Filters\",\n\t\t\t\t\ticon: \"filter\",\n\t\t\t\t\tchildren: filtersArray\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t/**\n\t\t * Set the drop down menu\n\t\t */\n\t\tsetDropDownMenu(data) {\n\t\t\tlet filters = data.sideMenu.filters;\n\t\t\tlet personalFilters = data.sideMenu.personalFilters;\n\t\t\tlet filtersArray = [];\n\n\t\t\tfor (let filtersCount = 0; filtersCount < filters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = filters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: filters[filtersCount].filter_id,\n\t\t\t\t\toption: filters[filtersCount].filter_id,\n\t\t\t\t\tdescription: filters[filtersCount].desc\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfor (let filtersCount = 0; filtersCount < personalFilters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = personalFilters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: personalFilters[filtersCount].filter_id,\n\t\t\t\t\toption: personalFilters[filtersCount].filter_id,\n\t\t\t\t\tdescription: personalFilters[filtersCount].desc\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.availableFilters = filtersArray;\n\t\t},\n\t\t/**\n\t\t * Used to start/refresh the FetchCmpt\n\t\t */\n\t\tstartFetchCmpt(apiFunction, apiFunctionParameters, dataFetchedCallback) {\n\t\t\t// Assign the function api of the FetchCmpt binded property\n\t\t\tthis.fetchCmptApiFunction = apiFunction;\n\n\t\t\t// In case a null value is provided set the parameters as an empty object\n\t\t\tif (apiFunctionParameters == null) apiFunctionParameters = {};\n\n\t\t\t// Always needed parameters\n\t\t\tapiFunctionParameters.filterUniqueId = FHC_JS_DATA_STORAGE_OBJECT.called_path + \"/\" + FHC_JS_DATA_STORAGE_OBJECT.called_method;\n\t\t\tapiFunctionParameters.filterType = this.filterType;\n\n\t\t\tif (this.uniqueId)\n\t\t\t\tapiFunctionParameters.filterUniqueId += '_' + this.uniqueId;\n\n\t\t\t// Assign parameters to the FetchCmpt binded properties\n\t\t\tthis.fetchCmptApiFunctionParams = apiFunctionParameters;\n\t\t\t// Assign data fetch callback to the FetchCmpt binded properties\n\t\t\tthis.fetchCmptDataFetched = dataFetchedCallback;\n\t\t\t// Set the FetchCmpt binded property refresh to have the component to refresh\n\t\t\t// NOTE: this should be the last one to be called because it triggers the FetchCmpt to start to refresh\n\t\t\tthis.fetchCmptRefresh === true ? this.fetchCmptRefresh = false : this.fetchCmptRefresh = true;\n\t\t},\n\n\t\t// ------------------------------------------------------------------------------------------------------------------\n\t\t// Event handlers\n\n\t\t/**\n\t\t *\n\t\t */\n\t\thandlerSaveCustomFilter(customFilterName) {\n\t\t\tthis.selectedFilter = null;\n\t\t\t//\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.saveCustomFilter(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tcustomFilterName\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\thandlerRemoveCustomFilter(event) {\n\t\t\tlet filterId = event.currentTarget.getAttribute(\"href\").substring(1);\n\t\t\tif (filterId === this.selectedFilter)\n\t\t\t\tthis.selectedFilter = null;\n\t\t\t//\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.removeCustomFilter(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tfilterId: filterId\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\n\t\t/*\n\t\t *\n\t\t */\n\t\thandlerGetFilterById: function(event) {\n\n\t\t\tlet filterId = null;\n\n\t\t\t// Get the attribute href if side menu is rendered\n\t\t\tlet attr = event.currentTarget.getAttribute(\"href\");\n\n\t\t\t// Otherwise get the value of the drop down menu\n\t\t\tif (attr == null)\n\t\t\t{\n\t\t\t\tfilterId = event.currentTarget.value;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfilterId = attr.substring(1);\n\t\t\t}\n\n\t\t\tthis.switchFilter(filterId);\n\t\t},\n\t\tswitchFilter(filterId) {\n\t\t\tthis.selectedFilter = filterId;\n\t\t\tthis.getFilter();\n\t\t},\n\t\tapplyFilterConfig(filterFields) {\n\t\t\tthis.selectedFilter = null;\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.applyFilterFields(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tfilterFields\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\n\t\t// append child to it's parent\n\t\tappendChild(data, child) {\n\t\t\t// get parent id\n\t\t\tlet parentId = child[this.parentIdField];\n\n\t\t\t// loop thorugh all data\n\t\t\tfor (let parentIdx = 0; parentIdx < data.length; parentIdx++)\n\t\t\t{\n\t\t\t\tlet parent = data[parentIdx];\n\n\t\t\t\t// if it's the parent\n\t\t\t\tif (parent[this.idField] == parentId)\n\t\t\t\t{\n\t\t\t\t\t// create children array if not done yet\n\t\t\t\t\tif (!parent._children) parent._children = [];\n\n\t\t\t\t\t// if child is not included in children array, append the child\n\t\t\t\t\tif (!parent._children.includes(child)) parent._children.push(child);\n\n\t\t\t\t\t// parent found\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// search children for parents\n\t\t\t\telse if (parent._children) this.appendChild(parent._children, child);\n\t\t\t}\n\n\t\t\t// parent not found\n\t\t\treturn false;\n\t\t}\n\t},\n\tbeforeCreate() {\n\t\tif (!this.tableOnly == !this.filterType)\n\t\t\talert('You can not have a filter-type in table-only mode!');\n\t},\n\tcreated() {\n\t\tif (this.sideMenu && (!this.$props.onNwNewEntry || !(this.$props.onNwNewEntry instanceof Function)))\n\t\t\talert('\"nwNewEntry\" listener is mandatory when sideMenu is true');\n\t\tthis.uuid = _uuid++;\n\t\tthis.$emit('uuidDefined', this.uuid)\n\t},\n\tmounted() {\n\t\tthis.initTabulator().then(() => {\n\t\t\tif (!this.tableOnly) {\n\t\t\t\tthis.selectedFilter = window.location.hash ? window.location.hash.slice(1) : null;\n\t\t\t\tthis.render(this.fetchResult);\n\t\t\t}\n\t\t});\n\n\t},\n\ttemplate: `\n\t\t\n\t\t\n\t\t\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{{ title }}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ selectedData.length }} ausgewählt\n\t\t\t\t\t\t Mit {{ selectedData.length }} ausgewählten:\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n \n \n \n `,\n};\n","import BsModal from './Bootstrap/Modal.js';\n\nexport default {\n\tcomponents: {\n\t\tBsModal\n\t},\n\tprops: {\n\t\ttimeout: {\n\t\t\ttype: Number,\n\t\t\tdefault: 300\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tt: null,\n\t\t\tstate: 0\n\t\t}\n\t},\n\tmethods: {\n\t\tshow() {\n\t\t\tswitch (this.state) {\n\t\t\t\tcase 0:\n\t\t\t\t\tif (this.timeout) {\n\t\t\t\t\t\tthis.state = 1;\n\t\t\t\t\t\tthis.t = window.setTimeout(() => this.$refs.modal.show(), this.timeout);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else\n\t\t\t\t\t\treturn this.$refs.modal.show();\n\t\t\t\tcase 4:\n\t\t\t\t\treturn window.setTimeout(() => this.show(), 1);\n\t\t\t}\n\t\t},\n\t\thide() {\n\t\t\tswitch (this.state) {\n\t\t\t\tcase 1:\n\t\t\t\t\treturn window.clearTimeout(this.t);\n\t\t\t\tcase 2:\n\t\t\t\t\treturn window.setTimeout(() => this.hide(), 1);\n\t\t\t\tcase 3:\n\t\t\t\t\tthis.$refs.modal.hide();\n\t\t\t}\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.$refs.modal.$refs.modal.addEventListener('show.bs.modal', () => {\n\t\t\tthis.state = 2;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('shown.bs.modal', () => {\n\t\t\tthis.state = 3;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('hide.bs.modal', () => {\n\t\t\tthis.state = 4;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('hidden.bs.modal', () => {\n\t\t\tthis.state = 0;\n\t\t});\n\t},\n\ttemplate: `\n\t\n\t\tLoading...\n\t`\n}","if (!primevue) {\n\tconsole.error('PrimeVue not loaded!');\n}\n\n// NOTE(chris): Click on clear button gives an error. This is a bug in primevue => fixed in current version\nTabulator.extendModule('filter', 'filters', {\n\t\"dates\": (headerValue, rowValue) => {\n\t\tif (!headerValue)\n\t\t\treturn true;\n\n\t\tlet rowDate = new Date(rowValue);\n\n\t\tif (Array.isArray(headerValue))\n\t\t{\n\t\t\tlet startDate = new Date(headerValue[0]);\n\t\t\tif (headerValue[1])\n\t\t\t{\n\t\t\t\tlet endDate = new Date(headerValue[1]);\n\n\t\t\t\tendDate.setHours(23, 59, 59, 999);\n\n\t\t\t\treturn rowDate >= startDate && rowDate <= endDate;\n\t\t\t}\n\n\t\t\treturn rowDate.toDateString() === startDate.toDateString();\n\t\t}\n\t\tlet singleDate = new Date(headerValue);\n\t\treturn rowDate.toDateString() === singleDate.toDateString();\n\t}\n});\n\nfunction dateFilter(cell, onRendered, success) {\n\tlet div = document.createElement('div');\n\n\tlet initialValue = null;\n\n\tlet val = cell.getValue();\n\n\tif (Array.isArray(val))\n\t{\n\t\tconst start = val[0] ? new Date(val[0]) : null;\n\t\tconst end = val[1] ? new Date(val[1]) : null;\n\t\tinitialValue = [start, end];\n\t}\n\n\tVue.createApp({\n\t\tcomponents: {\n\t\t\tPrimevueCalendar: primevue.calendar\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tval: initialValue\n\t\t\t}\n\t\t},\n\t\twatch: {\n\t\t\tval(n) {\n\t\t\t\tsuccess(n);\n\t\t\t}\n\t\t},\n\t\ttemplate: `\n\t\t\t\t `\n\t}).use(primevue.config.default).mount(div);\n\n\treturn div;\n}\nexport { dateFilter };","import { CoreFilterCmpt } from \"../../filter/Filter.js\";\nimport AcceptDenyUpdate from \"./AcceptDenyUpdate.js\";\nimport Alert from \"../../../components/Bootstrap/Alert.js\";\nimport Loading from \"../../../components/Loader.js\";\n\nimport ApiProfilUpdate from '../../../api/factory/profilUpdate.js';\nimport { dateFilter } from '../../../tabulator/filters/Dates.js';\n\nconst sortProfilUpdates = (ele1, ele2, thisPointer) => {\n let result = 0;\n if (ele1.status === thisPointer.profilUpdateStates[\"Pending\"]) {\n result = -1;\n } else if (ele1.status === thisPointer.profilUpdateStates[\"Accepted\"]) {\n result =\n ele2.status === thisPointer.profilUpdateStates[\"Rejected\"] ? -1 : 1;\n } else {\n result = 1;\n }\n\n if (ele1.status === ele2.status) {\n //? if they have the same status , insert_date gets compared for order\n result =\n new Date(ele2.insertamum.split(\".\").reverse().join(\"-\")) -\n new Date(ele1.insertamum.split(\".\").reverse().join(\"-\"));\n }\n return result;\n};\n\nexport default {\n components: {\n CoreFilterCmpt,\n Loading,\n AcceptDenyUpdate,\n },\n inject: [\"profilUpdateStates\"],\n props: {\n id: {\n type: String,\n },\n },\n data() {\n return {\n categoryLoaded: false,\n showModal: false,\n modalData: null,\n loading: false,\n filter: \"Pending\",\n profil_update_id: Number(this.id),\n\n };\n },\n\tcomputed: {\n\t\tprofilUpdateEvents: function () {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\t\"event\": \"dataProcessed\",\n\t\t\t\t\t\"handler\": this.handleDataProcessed\n\t\t\t\t}\n\t\t\t];\n\t\t},\n\t\tprofilUpdateOptions: function () {\n\t\t\treturn {\n\t\t\t\tajaxURL: 'dummy',\n\t\t\t\tajaxRequestFunc: (url, config, params) => {\n\t\t\t\t\treturn this.$api.call(ApiProfilUpdate.getProfilUpdateWithPermission(params.filter));\n\t\t\t\t},\n\t\t\t\tajaxParams: () => {\n\t\t\t\t\tlet filter = '';\n\t\t\t\t\tswitch (this.filter) {\n\t\t\t\t\t\tcase this.profilUpdateStates[\"Pending\"]:\n\t\t\t\t\t\t\tfilter = this.profilUpdateStates[\"Pending\"];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase this.profilUpdateStates[\"Accepted\"]:\n\t\t\t\t\t\t\tfilter = this.profilUpdateStates[\"Accepted\"];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase this.profilUpdateStates[\"Rejected\"]:\n\t\t\t\t\t\t\tfilter = this.profilUpdateStates[\"Rejected\"];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tfilter = '';\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t\"filter\": filter\n\t\t\t\t\t};\n\t\t\t\t},\n ajaxResponse: (url, params, response) => {\n //url - the URL of the request\n //params - the parameters passed with the request\n //response - the JSON object returned in the body of the response.\n //? sorts the response data from the backend\n\t\t\t\t\tif (response?.data)\n\t\t\t\t\t\tresponse.data.sort((ele1, ele2) => sortProfilUpdates(ele1, ele2, this));\n\n\t\t\t\t\treturn response.data;\n },\n //? adds tooltip with the status message of a profil update request if its status is not pending\n columnDefaults: {\n tooltip: (e, cell, onRendered) => {\n //e - mouseover event\n //cell - cell component\n //onRendered - onRendered callback registration function\n let statusMessage = cell.getData().status_message;\n let statusDate = cell.getData().status_timestamp;\n let status = cell.getData().status;\n if (!statusMessage) {\n return null;\n }\n let el = document.createElement(\"div\");\n el.classList.add(\"border\", \"border-dark\");\n\n let statusDateEl = document.createElement(\"span\");\n statusDateEl.classList.add(\"d-block\", \"mb-1\");\n statusDateEl.innerHTML =\n \"Request was \" + status + \" on \" + statusDate;\n let statusMessageEl = document.createElement(\"span\");\n statusMessageEl.innerHTML = \"Status message: \" + statusMessage;\n\n el.appendChild(statusDateEl);\n el.appendChild(statusMessageEl);\n return el;\n },\n },\n rowContextMenu: (e, component) => {\n let menu = [];\n if (\n component.getData().status === this.profilUpdateStates[\"Pending\"]\n ) {\n menu.push(\n {\n label: ` ${this.$p.t(\n \"profilUpdate\",\n \"acceptUpdate\"\n )}`,\n action: (e, column) => {\n this.$api\n .call(ApiProfilUpdate.acceptProfilRequest(column.getData()))\n .then((res) => {\n this.$refs.UpdatesTable.tabulator.setData();\n })\n\t\t\t\t\t.catch((e) => this.$fhcAlert.handleSystemError);\n },\n },\n {\n separator: true,\n },\n {\n label: ` ${this.$p.t(\n \"profilUpdate\",\n \"denyUpdate\"\n )}`,\n action: (e, column) => {\n this.$api\n .call(ApiProfilUpdate.denyProfilRequest(column.getData()))\n .then((res) => {\n this.$refs.UpdatesTable.tabulator.setData();\n })\n\t\t\t\t\t.catch((e) => this.$fhcAlert.handleSystemError);\n },\n },\n {\n separator: true,\n },\n {\n label: ` ${this.$p.t(\n \"profilUpdate\",\n \"showRequest\"\n )}`,\n action: (e, column) => {\n this.showAcceptDenyModal(column.getData());\n },\n }\n );\n } else {\n menu.push({\n label: ` ${this.$p.t(\n \"profilUpdate\",\n \"showRequest\"\n )}`,\n action: (e, column) => {\n this.showAcceptDenyModal(column.getData());\n },\n });\n }\n return menu;\n },\n\n height: 600,\n layout: \"fitDataStretchFrozen\",\n\n columns: [\n {\n title: this.$p.t(\"profilUpdate\", \"UID\"),\n field: \"uid\",\n minWidth: 100,\n resizable: true,\n headerFilter: true,\n //responsive:0,\n },\n {\n title: this.$p.t(\"profilUpdate\", \"Name\"),\n field: \"name\",\n minWidth: 200,\n resizable: true,\n headerFilter: true,\n //responsive:0,\n },\n {\n title: this.$p.t(\"lehre\", \"studiengang\") + ' (' + this.$p.t(\"profil\", \"studentIn\") + ')',\n field: \"studiengang\",\n minWidth: 50,\n resizable: true,\n headerFilter: \"list\",\n headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"},\n //responsive:0,\n },\n {\n title: this.$p.t(\"lehre\", \"organisationsform\") + ' (' + this.$p.t(\"profil\", \"studentIn\") + ')',\n field: \"orgform\",\n minWidth: 50,\n resizable: true,\n headerFilter: \"list\",\n headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"},\n //responsive:0,\n },\n {\n title: this.$p.t(\"lehre\", \"organisationseinheit\") + ' (' + this.$p.t(\"profil\", \"mitarbeiterIn\") + ')',\n field: \"oezuordnung\",\n minWidth: 200,\n resizable: true,\n headerFilter: \"list\",\n headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"},\n //responsive:0,\n },\n {\n title: this.$p.t(\"profilUpdate\", \"Topic\"),\n field: \"topic\",\n resizable: true,\n minWidth: 200,\n headerFilter: \"list\",\n headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"},\n //responsive:0,\n },\n {\n title: this.$p.t(\"profilUpdate\", \"insertamum\"),\n field: \"insertamum_iso\",\n resizable: true,\n\t\t\theaderFilterFunc: 'dates',\n\t\t\theaderFilter: dateFilter,\n minWidth: 200,\n\t\t\tformatter:\"datetime\",\n\t\t\tformatterParams: this.datetimeFormatterParams(),\n //responsive:0,\n },\n {\n title: this.$p.t(\"profilUpdate\", \"Status\"),\n field: \"status_translated\",\n hozAlign: \"center\",\n headerFilter: \"list\",\n headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"},\n formatter: (cell, para) => {\n let iconClasses = \"\";\n let status = cell.getRow().getData().status;\n switch (status) {\n case this.profilUpdateStates[\"Pending\"]:\n iconClasses += \"fa fa-lg fa-circle-info text-info \";\n break;\n case this.profilUpdateStates[\"Accepted\"]:\n iconClasses += \"fa fa-lg fa-circle-check text-success \";\n break;\n case this.profilUpdateStates[\"Rejected\"]:\n iconClasses += \"fa fa-lg fa-circle-xmark text-danger \";\n break;\n }\n return `
${cell.getValue()}
`;\n },\n\n resizable: true,\n minWidth: 200,\n //responsive:0,\n },\n {\n title: this.$p.t(\"profilUpdate\", \"actions\"),\n headerSort: false,\n\t\t\tfrozen: true,\n formatter: (cell, params) => {\n let details = this.$p.t('global', 'details');\n let html = `
\n \n
`;\n\n // Convert the HTML string to an HTML node\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, \"text/html\");\n const node = doc.body.firstChild;\n\n // Add event listeners\n node\n .querySelector(\"#showButton\")\n .addEventListener(\"click\", () => {\n this.showAcceptDenyModal(cell.getRow().getData());\n });\n\n return node;\n },\n minWidth: 200,\n resizable: true,\n hozAlign: \"center\",\n },\n ],\n };\n }\n \n },\n methods: {\n denyProfilUpdate: function (data) {\n this.$api\n .call(ApiProfilUpdate.denyProfilRequest(data))\n .then((res) => {\n // block when the request was successful\n })\n\t\t.catch((e) => this.$fhcAlert.handleSystemError)\n .finally(() => {\n this.$refs.UpdatesTable.tabulator.setData();\n });\n },\n acceptProfilUpdate: function (data) {\n this.$api\n .call(ApiProfilUpdate.acceptProfilRequest(data))\n .then((res) => {\n // block when the request was successful\n })\n\t\t.catch((e) => this.$fhcAlert.handleSystemError)\n .finally(() => {\n // update the data inside the table\n this.$refs.UpdatesTable.tabulator.setData();\n });\n },\n setLoading: function (newValue) {\n this.loading = newValue;\n },\n hideAcceptDenyModal: function () {\n //? checks the AcceptDenyModal component property result, if the user made a successful request or not\n if (this.$refs.AcceptDenyModal.result) {\n //? refetches the data, if any request was denied or accepted\n //* setData will call the ajaxURL again to refresh the data\n\n this.$refs.UpdatesTable.tabulator.setData();\n } else {\n // when modal was closed without submitting request\n }\n this.showModal = false;\n this.modalData = null;\n },\n\n showAcceptDenyModal(value) {\n this.modalData = value;\n if (!this.modalData) {\n return;\n }\n this.showModal = true;\n\n // after a state change, wait for the DOM updates to complete\n Vue.nextTick(() => {\n this.$refs.AcceptDenyModal.show();\n });\n },\n\n updateData: function (event) {\n this.$refs.UpdatesTable.tabulator.setData();\n //? store the selected view in the session storage of the browser\n sessionStorage.setItem(\"filter\", event.target.value);\n\t\t},\n\t\thandleDataProcessed: function () {\n\t\t\tif (this.profil_update_id) {\n\t\t\t\tconst arrayRowData = this.$refs.UpdatesTable.tabulator\n\t\t\t\t\t.getData()\n\t\t\t\t\t.filter((row) => {\n\t\t\t\t\t\treturn row.profil_update_id === this.profil_update_id;\n\t\t\t\t\t});\n\t\t\t\tif (arrayRowData.length) {\n\t\t\t\t\tthis.showAcceptDenyModal(arrayRowData[0]);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tdatetimeFormatterParams: function() {\n\t\t\tconst params = {\n\t\t\t\tinputFormat:\"yyyy-MM-dd\",\n\t\t\t\toutputFormat:\"dd.MM.yyyy\",\n\t\t\t\tinvalidPlaceholder:\"(invalid date)\",\n\t\t\t\ttimezone:FHC_JS_DATA_STORAGE_OBJECT.timezone\n\t\t\t};\n\t\t\treturn params;\n\t\t}\n },\n watch: {\n loading: function (newValue, oldValue) {\n if (newValue) {\n this.$refs.loadingModalRef.show();\n } else {\n this.$refs.loadingModalRef.hide();\n }\n },\n },\n created() {\n this.$p.loadCategory([\"profilUpdate\", \"lehre\", \"profil\", \"global\"]).then(() => {\n this.categoryLoaded = true;\n });\n },\n\n mounted() {\n\t\t//? opens the AcceptDenyUpdate Modal if a preselected profil_update_id was passed to the component (used for email links)\n if (sessionStorage.getItem(\"filter\")) {\n this.filter = sessionStorage.getItem(\"filter\");\n }\n },\n template: /*html*/ `\n
\n \n \n
\n
{{$p.t('ui','anzeigen')}}
\n \n \n \n
\n \n \n \n\n
`,\n};\n","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tsearch(searchsettings, config) {\n\t\tconst url = '/api/frontend/v1/searchbar/search';\n\t\treturn this.$fhcApi.post(url, searchsettings, config);\n\t},\n\tsearchAdvanced(searchsettings, config) {\n\t\tconst url = '/api/frontend/v1/searchbar/searchAdvanced';\n\t\treturn this.$fhcApi.post(url, searchsettings, config);\n\t},\n\tsearchdummy(searchsettings) {\n\t\tconst url = 'public/js/apps/api/dummyapi.php/Search';\n\t\treturn this.$fhcApi.post(url, searchsettings);\n\t}\n};\n","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tloadCategory(category) {\n\t\treturn this.$fhcApi.get('/api/frontend/v1/phrasen/loadModule/' + category);\n\t},\n\tsetLanguage(categories,language) {\n\t\tconst payload = {categories, language}\n\t\treturn this.$fhcApi.post('/api/frontend/v1/phrasen/setLanguage', payload);\n\t},\n\tgetLanguage() {\n\t\treturn this.$fhcApi.get('/api/frontend/v1/phrasen/getLanguage', {});\n\t},\n\tgetActiveDbLanguages() {\n\t\treturn this.$fhcApi.get('/api/frontend/v1/phrasen/getAllLanguages', {});\n\t}\n};","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tgetHeader(navigation_page) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/navigation/header',\n\t\t\t{ navigation_page }\n\t\t);\n\t},\n\tgetMenu: function(navigation_page) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/navigation/menu',\n\t\t\t{ navigation_page }\n\t\t);\n\t}\n};\n\n","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tsaveCustomFilter(wsParams) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/filter/saveCustomFilter',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tcustomFilterName: wsParams.customFilterName\n\t\t\t}\n\t\t);\n\t},\n\tremoveCustomFilter(wsParams) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/filter/removeCustomFilter',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t);\n\t},\n\tapplyFilterFields(wsParams) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/filter/applyFilterFields',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterFields: wsParams.filterFields\n\t\t\t}\n\t\t);\n\t},\n\taddFilterField(wsParams) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/filter/addFilterField',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t);\n\t},\n\tremoveFilterField(wsParams) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/filter/removeFilterField',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t);\n\t},\n\tgetFilterById(wsParams) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/filter/getFilter',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t);\n\t},\n\tgetFilter(wsParams) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/filter/getFilter',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType\n\t\t\t}\n\t\t);\n\t}\n};\n\n","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tabmeldung: {\n\t\tgetDetails(antrag_id, prestudent_id) {\n\t\t\tconst url = '/api/frontend/v1/studstatus/abmeldung/'\n\t\t\t\t+ (antrag_id !== undefined ? 'getDetailsForAntrag/' + antrag_id : 'getDetailsForNewAntrag/' + prestudent_id);\n\t\t\treturn this.$fhcApi.get(url);\n\t\t},\n\t\tcreate(stdsem, prestudent_id, grund) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/abmeldung/createAntrag', {\n\t\t\t\tstudiensemester: stdsem,\n\t\t\t\tprestudent_id,\n\t\t\t\tgrund\n\t\t\t}, {\n\t\t\t\terrorHandling: 'strict'\n\t\t\t});\n\t\t},\n\t\tcancel(antrag_id) {\n\t\t\tif (!Array.isArray(antrag_id))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/abmeldung/cancelAntrag',\n\t\t\t\t\t{ antrag_id }\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag_id.map(antrag => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/abmeldung/cancelAntrag',\n\t\t\t\t{ antrag_id: antrag.studierendenantrag_id },\n\t\t\t\t{ errorHeader: '#' + antrag.studierendenantrag_id }\n\t\t\t)));\n\t\t}\n\t},\n\tunterbrechung: {\n\t\tgetDetails(antrag_id, prestudent_id) {\n\t\t\tconst url = '/api/frontend/v1/studstatus/unterbrechung/'\n\t\t\t\t+ (antrag_id !== undefined ? 'getDetailsForAntrag/' + antrag_id : 'getDetailsForNewAntrag/' + prestudent_id);\n\t\t\treturn this.$fhcApi.get(url);\n\t\t},\n\t\tcreate(studiensemester, prestudent_id, grund, datum_wiedereinstieg, attachment) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/unterbrechung/createAntrag', {\n\t\t\t\tstudiensemester,\n\t\t\t\tprestudent_id,\n\t\t\t\tgrund,\n\t\t\t\tdatum_wiedereinstieg,\n\t\t\t\tattachment\n\t\t\t}, {\n\t\t\t\terrorHandling: 'strict'\n\t\t\t});\n\t\t},\n\t\tcancel(antrag_id) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/unterbrechung/cancelAntrag', {\n\t\t\t\tantrag_id\n\t\t\t}, {\n\t\t\t\terrorHandling: 'strict'\n\t\t\t});\n\t\t}\n\t},\n\twiederholung: {\n\t\tgetDetails(prestudent_id) {\n\t\t\tconst url = '/api/frontend/v1/studstatus/wiederholung/getDetailsForNewAntrag/' + prestudent_id;\n\t\t\treturn this.$fhcApi.get(url)\n\t\t},\n\t\tgetLvs(antrag_id) {\n\t\t\tconst url = '/api/frontend/v1/studstatus/wiederholung/getLvs/' + antrag_id;\n\t\t\treturn this.$fhcApi.get(url)\n\t\t},\n\t\tcreate(prestudent_id, studiensemester) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/wiederholung/createAntrag', {\n\t\t\t\tprestudent_id,\n\t\t\t\tstudiensemester\n\t\t\t}, {\n\t\t\t\terrorHandling: 'strict'\n\t\t\t});\n\t\t},\n\t\tcancel(prestudent_id, studiensemester) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/wiederholung/cancelAntrag', {\n\t\t\t\tprestudent_id,\n\t\t\t\tstudiensemester\n\t\t\t}, {\n\t\t\t\terrorHandling: 'strict'\n\t\t\t});\n\t\t},\n\t\tsaveLvs(forbiddenLvs, mandatoryLvs) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/wiederholung/saveLvs', {\n\t\t\t\tforbiddenLvs,\n\t\t\t\tmandatoryLvs\n\t\t\t});\n\t\t}\n\t},\n\tleitung: {\n\t\tgetStgs() {\n\t\t\treturn this.$fhcApi.get('/api/frontend/v1/studstatus/leitung/getActiveStgs');\n\t\t},\n\t\tgetAntraege(url, config, params) {\n\t\t\treturn this.$fhcApi\n\t\t\t\t.get('/api/frontend/v1/studstatus/leitung/getAntraege/' + url)\n\t\t\t\t.then(res => res.data); // Return data for tabulator\n\t\t},\n\t\tgetHistory(antrag_id) {\n\t\t\treturn this.$fhcApi.get('/api/frontend/v1/studstatus/leitung/getHistory/' + antrag_id)\n\t\t},\n\t\tgetPrestudents(query, signal) {\n\t\t\treturn this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/getPrestudents',\n\t\t\t\t{ query },\n\t\t\t\t{\n signal: signal,\n timeout: 30000\n }\n\t\t\t);\n\t\t},\n\t\tapprove(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/approveAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/approveAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\treject(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/rejectAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/rejectAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\treopen(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/reopenAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/reopenAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\tpause(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/pauseAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/pauseAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\tunpause(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/unpauseAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/unpauseAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\tobject(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/objectAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/objectAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\tapproveObjection(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/approveObjection',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/approveObjection',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\tdenyObjection(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/denyObjection',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/denyObjection',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t}\n\t}\n};","export default {\n\n getView: function (uid) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/getView/${uid}`,{}\n );\n },\n\n fotoSperre: function (value) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/fotoSperre/${value}`,\n {}\n );\n \n },\n\n isStudent: function (uid) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/isStudent`,\n {\n uid:uid,\n }\n );\n },\n\n isMitarbeiter: function (uid) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/isMitarbeiter/${uid}`,\n {}\n );\n },\n\n getZustellAdresse: function () {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/getZustellAdresse`,{}\n );\n },\n\n getZustellKontakt: function () {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/getZustellKontakt`,{}\n );\n },\n\n getGemeinden: function(nation,zip){\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/getGemeinden/${nation}/${zip}`,\n {}\n );\n \n },\n getAllNationen:function(){\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/Profil/getAllNationen\",{}\n );\n },\n}","export default {\n //! API calls for profil update requests\n \n getStatus: function () {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/getStatus`,{});\n },\n \n getTopic: function () {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/getTopic`,{});\n },\n \n acceptProfilRequest: function ({profil_update_id, uid, status_message, topic, requested_change}) {\n\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/ProfilUpdate/acceptProfilRequest\",{profil_update_id, uid, status_message, topic, requested_change});\n },\n \n denyProfilRequest: function ({profil_update_id, uid, topic, status_message}) {\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/ProfilUpdate/denyProfilRequest\",{profil_update_id,uid,topic,status_message});\n },\n \n insertFile: function (dms, replace = null) {\n\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/insertFile/${replace}`,\n dms);\n\n },\n \n getProfilRequestFiles: function (requestID) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/getProfilRequestFiles/${requestID}`,{});\n },\n \n selectProfilRequest: function (uid = null, id = null) {\n\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/selectProfilRequest`,\n {...(uid?{uid}:{}),\n ...(id?{id}:{})\n });\n },\n \n insertProfilRequest: function (topic, payload, fileID = null) {\n\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/ProfilUpdate/insertProfilRequest\",\n {\n topic,\n payload,\n ...(fileID ? { fileID } : {}),\n });\n },\n \n updateProfilRequest: function (topic, payload, ID, fileID = null) {\n\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/updateProfilRequest`,\n {\n topic,\n payload,\n ID,\n ...(fileID ? { fileID: fileID } : {}),\n });\n },\n \n deleteProfilRequest: function (requestID) {\n\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/deleteProfilRequest`,\n {\n requestID,\n });\n },\n };\n ","\nexport default {\n\tgetRoomInfo(ort_kurzbz, start_date, end_date) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/LvPlan/getRoomplan',\n\t\t\t{ ort_kurzbz, start_date, end_date}\n\t\t);\n\t},\n\tgetStunden() {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/LvPlan/Stunden',\n\t\t\t{}\n\t\t);\n\t},\n\tgetOrtReservierungen(ort_kurzbz, start_date, end_date) {\n\t\treturn this.$fhcApi.post(\n\t\t\t`/api/frontend/v1/LvPlan/getReservierungen/${ort_kurzbz}`,\n\t\t\t{ start_date, end_date}\n\t\t);\n\t},\n\tgetLvPlanReservierungen(start_date, end_date) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/LvPlan/getReservierungen',\n\t\t\t{ start_date, end_date }\n\t\t);\n\t},\n\tgetLehreinheitStudiensemester(lehreinheit_id) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/LvPlan/getLehreinheitStudiensemester/${lehreinheit_id}`,\n\t\t\t{}\n\t\t);\n\t},\n\tstudiensemesterDateInterval(date) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/LvPlan/studiensemesterDateInterval/${date}`,\n\t\t\t{}\n\t\t);\n\t},\n\tLvPlanEvents(start_date, end_date, lv_id) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/LvPlan/LvPlanEvents',\n\t\t\t{ start_date, end_date, lv_id }\n\t\t);\n\t},\n\t\n\t\n};","import verband from './stv/verband.js';\nimport students from './stv/students.js';\nimport filter from './stv/filter.js';\nimport konto from './stv/konto.js';\nimport group from './stv/group.js';\nimport kontakt from './stv/kontakt.js';\nimport prestudent from './stv/prestudent.js';\nimport status from './stv/status.js';\nimport details from './stv/details.js';\nimport exam from './stv/exam.js';\nimport abschlusspruefung from './stv/abschlusspruefung.js';\nimport grades from './stv/grades.js';\nimport mobility from './stv/mobility.js';\nimport archiv from './stv/archiv.js';\nimport documents from './stv/documents.js';\nimport exemptions from './stv/exemptions.js';\nimport jointstudies from \"./stv/jointstudies.js\";\nimport courselist from './stv/courselist.js';\n\nexport default {\n\tverband,\n\tstudents,\n\tfilter,\n\tkonto,\n\tgroup,\n\tkontakt,\n\tprestudent,\n\tstatus,\n\tdetails,\n\texam,\n\tabschlusspruefung,\n\tgrades,\n\tmobility,\n\tarchiv,\n\tdocuments,\n\texemptions,\n\tjointstudies,\n\tcourselist,\n\tconfigStudent() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/config/student');\n\t},\n\tconfigStudents() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/config/students');\n\t}\n};\n","export default {\n\tget() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/verband');\n\t},\n\tfavorites: {\n\t\tget() {\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/stv/favorites');\n\t\t},\n\t\tset(favorites) {\n\t\t\treturn this.$fhcApi.post('api/frontend/v1/stv/favorites/set', {\n\t\t\t\tfavorites\n\t\t\t});\n\t\t}\n\t}\n}","export default {\n\tuid(uid, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/students/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz)\n\t\t\t+ '/uid/'\n\t\t\t+ encodeURIComponent(uid);\n\t\treturn this.$fhcApi.getUri(url);\n\t},\n\tprestudent(prestudent_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/students/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz)\n\t\t\t+ '/prestudent/'\n\t\t\t+ encodeURIComponent(prestudent_id);\n\t\treturn this.$fhcApi.getUri(url);\n\t},\n\tperson(person_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/students/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz)\n\t\t\t+ '/person/'\n\t\t\t+ encodeURIComponent(person_id);\n\t\treturn this.$fhcApi.getUri(url);\n\t},\n\tverband(relative_path) {\n\t\treturn this.$fhcApi.getUri('api/frontend/v1/stv/students/' + relative_path);\n\t}\n}","export default {\n\tgetStg() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/filter/getStg');\n\t},\n\tsetStg(studiengang_kz) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/filter/setStg', {\n\t\t\tstudiengang_kz\n\t\t});\n\t}\n};","export default {\n\ttabulatorConfig(config, self) {\n\t\tconfig.ajaxURL = 'api/frontend/v1/stv/konto/get';\n\t\tconfig.ajaxParams = () => {\n\t\t\tconst params = {\n\t\t\t\tperson_id: self.modelValue.person_id || self.modelValue.map(e => e.person_id),\n\t\t\t\tonly_open: self.filter,\n\t\t\t\tstudiengang_kz: self.studiengang_kz_intern ? self.stg_kz : ''\n\t\t\t};\n\t\t\treturn params;\n\t\t};\n\t\tconfig.ajaxRequestFunc = (url, config, params) => this.$fhcApi.post(url, params, config);\n\t\tconfig.ajaxResponse = (url, params, response) => response.data;\n\n\t\treturn config;\n\t},\n\tcheckDoubles(form, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/konto/checkDoubles', data, {\n\t\t\tconfirmErrorHandler: error => true\n\t\t});\n\t},\n\tinsert(form, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/konto/insert', data);\n\t},\n\tcounter(data) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/konto/counter', data);\n\t},\n\tedit(form, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/konto/update', data);\n\t},\n\tdelete(buchungsnr) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/konto/delete', {buchungsnr});\n\t},\n\tgetBuchungstypen() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/konto/getBuchungstypen');\n\t}\n};","export default {\n\tgetGruppen(url, config, params) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/Gruppen/getGruppen/' + params.id);\n\t},\n\tdeleteGroup(params) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/Gruppen/deleteGruppe/', params);\n\t}\n}","export default {\n\t//------------- address.js-----------\n\tgetAdressen (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getAdressen/' + params.id);\n\t},\n\taddNewAddress(form, id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/addNewAddress/' + id,\n\t\t\tdata\n\t\t);\n\t},\n\tloadAddress(address_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/loadAddress/', {address_id});\n\t},\n\tupdateAddress(form, address_id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/updateAddress/' + address_id,\n\t\t\tdata\n\t\t);\n\t},\n\tdeleteAddress(address_id) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteAddress/', {address_id});\n\t},\n\tgetPlaces(plz) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/address/getPlaces/' + plz);\n\t},\n\tgetFirmen(searchString) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getFirmen/' + searchString);\n\t},\n\tgetNations() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/address/getNations/');\n\t},\n\tgetAdressentypen() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getAdressentypen/');\n\t},\n\n\t//------------- bankverbindung.js-----------\n\tgetBankverbindung (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getBankverbindung/' + params.id);\n\t},\n\taddNewBankverbindung(form, id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/addNewBankverbindung/' + id,\n\t\t\tdata\n\t\t);\n\t},\n\tloadBankverbindung(bankverbindung_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/loadBankverbindung/', {bankverbindung_id});\n\t},\n\tupdateBankverbindung(form, bankverbindung_id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/updateBankverbindung/' + bankverbindung_id,\n\t\t\tdata\n\t\t);\n\t},\n\tdeleteBankverbindung(bankverbindung_id) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteBankverbindung/', {bankverbindung_id});\n\t},\n\n\t//------------- contact.js-----------\n\tgetKontakte (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getKontakte/' + params.id);\n\t},\n\taddNewContact(form, id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/addNewContact/' + id,\n\t\t\tdata\n\t\t);\n\t},\n\tloadContact(kontakt_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/loadContact/', {kontakt_id});\n\t},\n\tupdateContact(form, kontakt_id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/updateContact/' + kontakt_id,\n\t\t\tdata\n\t\t);\n\t},\n\tdeleteContact(kontakt_id) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteContact/', {kontakt_id});\n\t},\n\tgetStandorteByFirma(searchString){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getStandorteByFirma/' + searchString);\n\t},\n\tgetKontakttypen(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getKontakttypen/');\n\t}\n};","export default {\n\n//------------- Prestudent.js------------------------------------------------------\n\n\tget(prestudent_id, studiensemester_kurzbz) {\n\t\treturn \tthis.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/prestudent/get/'\n\t\t\t+ encodeURIComponent(prestudent_id)\n\t\t\t+ '/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz)\n\t\t\t);\n\t},\n\tupdatePrestudent(form, prestudent_id, data){\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/prestudent/updatePrestudent/' + prestudent_id,\n\t\t\tdata\n\t\t);\n\t},\n\tgetBezeichnungZGV() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBezeichnungZGV/');\n\t},\n\tgetBezeichnungMZgv() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBezeichnungMZgv/');\n\t},\n\tgetBezeichnungDZgv() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBezeichnungDZgv/');\n\t},\n\tgetStgs() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/lists/getStgs/');\n\t},\n\tgetAusbildung() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getAusbildung/');\n\t},\n\tgetAufmerksamdurch() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getAufmerksamdurch/');\n\t},\n\tgetBerufstaetigkeit() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBerufstaetigkeit/');\n\t},\n\tgetTypenStg() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getTypenStg/');\n\t},\n\tgetBisstandort() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBisstandort/');\n\t},\n\n//------------- MultiStatus.js------------------------------------------------------\n\tgetHistoryPrestudent (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/status/getHistoryPrestudent/' + params.id);\n\t},\n\tgetMaxSem(studiengang_kzs) {\n\t\treturn \tthis.$fhcApi.post('api/frontend/v1/stv/status/getMaxSemester/', {studiengang_kzs});\n\t},\n\tadvanceStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/status/advanceStatus/'\n\t\t\t+ prestudent_id + '/'\n\t\t\t+ status_kurzbz + '/'\n\t\t\t+ studiensemester_kurzbz + '/'\n\t\t\t+ ausbildungssemester\n\t\t);\n\t},\n\tconfirmStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/status/confirmStatus/'\n\t\t\t+ prestudent_id + '/'\n\t\t\t+ status_kurzbz + '/'\n\t\t\t+ studiensemester_kurzbz + '/'\n\t\t\t+ ausbildungssemester\n\t\t);\n\t},\n\tisLastStatus(id) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/status/isLastStatus/' + id);\n\t},\n\tdeleteStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/status/deleteStatus/'\n\t\t\t+ prestudent_id + '/'\n\t\t\t+ status_kurzbz + '/'\n\t\t\t+ studiensemester_kurzbz + '/'\n\t\t\t+ ausbildungssemester\n\t\t);\n\t},\n\tgetLastBismeldestichtag() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/status/getLastBismeldestichtag/');\n\t},\n\n//------------- History.js------------------------------------------------------\n\tgetHistoryPrestudents (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getHistoryPrestudents/' + params.id);\n\t},\n\n}","export default {\n\n//------------- Modal.js------------------------------------------------------\n\n\tinsertStatus(form, id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/status/insertStatus/' + id,\n\t\t\tdata\n\t\t);\n\t},\n\tloadStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/status/loadStatus/'\n\t\t\t+ prestudent_id + '/'\n\t\t\t+ status_kurzbz + '/'\n\t\t\t+ studiensemester_kurzbz + '/'\n\t\t\t+ ausbildungssemester\n\t\t);\n\t},\n\tupdateStatus(form, {prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}, data) {\n\t\treturn this.$fhcApi.post(\n\t\t\tform,\n\t\t\t'api/frontend/v1/stv/status/updateStatus/'\n\t\t\t+ prestudent_id + '/'\n\t\t\t+ status_kurzbz + '/'\n\t\t\t+ studiensemester_kurzbz + '/'\n\t\t\t+ ausbildungssemester,\n\t\t\tdata\n\t\t);\n\t},\n\tgetStudienplaene(prestudent_id) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getStudienplaene/' + prestudent_id);\n\t},\n\tgetStudiengang(prestudent_id) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getStudiengang/' + prestudent_id);\n\t},\n\tgetStatusgruende() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/status/getStatusgruende/');\n\t},\n\tgetStati() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/lists/getStati/');\n\t},\n\n//------------- Dropdown.js------------------------------------------------------\n\n\taddStudent(id, data) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/status/addStudent/' + id,\n\t\t\tdata,\n\t\t\t{errorHeader: id}\n\t\t);\n\t},\n\tchangeStatus(id, data) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/status/changeStatus/' + id,\n\t\t\tdata,\n\t\t\t{errorHeader: id}\n\t\t);\n\t},\n\tgetStatusarray() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/status/getStatusarray/');\n\t}\n}","export default {\n\tget(prestudent_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/student/get/'\n\t\t\t+ encodeURIComponent(prestudent_id)\n\t\t\t+ '/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz);\n\t\treturn this.$fhcApi.post(url);\n\t},\n\tsave(form, prestudent_id, studiensemester_kurzbz, data) {\n\t\tlet url = 'api/frontend/v1/stv/student/save/'\n\t\t\t+ encodeURIComponent(prestudent_id)\n\t\t\t+ '/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz);\n\t\treturn this.$fhcApi.post(form, url, data);\n\t},\n}\n","export default {\n\tgetPruefungen(url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getPruefungen/' + params.id);\n\t},\n\tloadPruefung(pruefung_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/loadPruefung/' + pruefung_id);\n\t},\n\tgetTypenPruefungen(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getTypenPruefungen');\n\t},\n\tgetAllLehreinheiten(data){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/pruefung/getAllLehreinheiten/', data)\n\t},\n\tgetLvsByStudent(uid){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getLvsByStudent/' + uid)\n\t},\n\tgetLvsandLesByStudent(uid, semester){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getLvsandLesByStudent/' + uid + '/' + semester);\n\t},\n\tgetLvsAndMas(uid){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getLvsAndMas/' + uid)\n\t},\n\tgetMitarbeiterLv(id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getMitarbeiterLv/' + id)\n\t},\n\tgetNoten(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getNoten');\n\t},\n\tcheckZeugnisnoteLv(data){\n\t\treturn \tthis.$fhcApi.post('api/frontend/v1/stv/pruefung/checkZeugnisnoteLv/', data)\n\t},\n\taddPruefung(form, data){\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/stv/pruefung/insertPruefung/', data);\n\t},\n\tupdatePruefung(form, id, data){\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/stv/pruefung/updatePruefung/' + id, data);\n\t},\n\tdeletePruefung(id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/pruefung/deletePruefung/' + id)\n\t}\n}","export default {\n\n\tgetAbschlusspruefung (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getAbschlusspruefung/' + params.id);\n\t},\n\taddNewAbschlusspruefung(form, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/abschlusspruefung/insertAbschlusspruefung/', data\n\t\t);\n\t},\n\tloadAbschlusspruefung(id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/abschlusspruefung/loadAbschlusspruefung/', {id});\n\t},\n\tupdateAbschlusspruefung(form, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/abschlusspruefung/updateAbschlusspruefung/', data\n\t\t);\n\t},\n\tdeleteAbschlusspruefung(id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/abschlusspruefung/deleteAbschlusspruefung/', {id});\n\t},\n\tgetTypenAbschlusspruefung(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getTypenAbschlusspruefung/');\n\t},\n\tgetTypenAntritte(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getTypenAntritte/');\n\t},\n\tgetBeurteilungen(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getBeurteilungen/');\n\t},\n\tgetAkadGrade(studiengang_kz){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/abschlusspruefung/getAkadGrade/', {studiengang_kz});\n\t},\n\tgetTypStudiengang(studiengang_kz){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/abschlusspruefung/getTypStudiengang/', {studiengang_kz});\n\t},\n\tgetMitarbeiter(searchString){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getMitarbeiter/' + searchString);\n\t},\n\tgetPruefer(searchString){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getPruefer/' + searchString);\n\t},\n\tgetNoten(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getNoten/');\n\t},\n\tcheckForExistingExams(uids) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/abschlusspruefung/checkForExistingExams/', {uids}\n\t\t);\n\t}\n}","export default {\n\tlist() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/grades/list');\n\t},\n\tgetCertificate(prestudent_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/grades/getCertificate/' + encodeURIComponent(prestudent_id);\n\t\tif (!!studiensemester_kurzbz) {\n\t\t\turl = url + '/' + encodeURIComponent(studiensemester_kurzbz);\n\t\t}\n\t\treturn this.$fhcApi.get(url);\n\t},\n\tgetTeacherProposal(prestudent_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/grades/getTeacherProposal/' + encodeURIComponent(prestudent_id);\n\t\tif (!!studiensemester_kurzbz) {\n\t\t\turl = url + '/' + encodeURIComponent(studiensemester_kurzbz);\n\t\t}\n\t\treturn this.$fhcApi.get(url);\n\t},\n\tgetRepeaterGrades(prestudent_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/grades/getRepeaterGrades/' + encodeURIComponent(prestudent_id);\n\t\tif (!!studiensemester_kurzbz) {\n\t\t\turl = url + '/' + encodeURIComponent(studiensemester_kurzbz);\n\t\t}\n\t\treturn this.$fhcApi.get(url);\n\t},\n\tupdateCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, note, lehrveranstaltung_bezeichnung}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/grades/updateCertificate',\n\t\t\t{\n\t\t\t\tlehrveranstaltung_id,\n\t\t\t\tstudent_uid,\n\t\t\t\tstudiensemester_kurzbz,\n\t\t\t\tnote\n\t\t\t},\n\t\t\t{\n\t\t\t\terrorHeader: lehrveranstaltung_bezeichnung\n\t\t\t}\n\t\t);\n\t},\n\tdeleteCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, lehrveranstaltung_bezeichnung}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/grades/deleteCertificate',\n\t\t\t{\n\t\t\t\tlehrveranstaltung_id,\n\t\t\t\tstudent_uid,\n\t\t\t\tstudiensemester_kurzbz\n\t\t\t},\n\t\t\t{\n\t\t\t\terrorHeader: lehrveranstaltung_bezeichnung\n\t\t\t}\n\t\t);\n\t},\n\tcopyTeacherProposalToCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, lehrveranstaltung_bezeichnung}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/grades/copyTeacherProposalToCertificate',\n\t\t\t{\n\t\t\t\tlehrveranstaltung_id,\n\t\t\t\tstudent_uid,\n\t\t\t\tstudiensemester_kurzbz\n\t\t\t},\n\t\t\t{\n\t\t\t\terrorHeader: lehrveranstaltung_bezeichnung\n\t\t\t}\n\t\t);\n\t},\n\tcopyRepeaterGradeToCertificate({studierendenantrag_lehrveranstaltung_id, lv_bezeichnung}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/grades/copyRepeaterGradeToCertificate',\n\t\t\t{\n\t\t\t\tstudierendenantrag_lehrveranstaltung_id\n\t\t\t},\n\t\t\t{\n\t\t\t\terrorHeader: lv_bezeichnung\n\t\t\t}\n\t\t);\n\t},\n\tgetGradeFromPoints(points, lehrveranstaltung_id, studiensemester_kurzbz, manualErrorHandling) {\n\t\tconst config = manualErrorHandling ? {errorHandling: false} : {};\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/grades/getGradeFromPoints',\n\t\t\t{\n\t\t\t\t\"points\": points,\n\t\t\t\t\"lehrveranstaltung_id\": lehrveranstaltung_id,\n\t\t\t\t\"studiensemester_kurzbz\": studiensemester_kurzbz\n\t\t\t},\n\t\t\tconfig\n\t\t\t);\n\t}\n}","export default {\n\tgetMobilitaeten (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getMobilitaeten/' + params.id);\n\t},\n\tgetProgramsMobility(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getProgramsMobility/');\n\t},\n\taddNewMobility(form, data){\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/mobility/insertMobility/', data);\n\t},\n\tloadMobility(bisio_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/loadMobility/' + bisio_id);\n\t},\n\tupdateMobility(form, data){\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/mobility/updateMobility/', data);\n\t},\n\tdeleteMobility(bisio_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/deleteMobility/' + bisio_id);\n\t},\n\tgetLVList(studiengang_kz){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getLVList/' + studiengang_kz);\n\t},\n\tgetAllLehreinheiten(data){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/getAllLehreinheiten/', data)\n\t},\n\tgetLvsandLesByStudent(uid){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getLvsandLesByStudent/' + uid);\n\t},\n\tgetPurposes(url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getPurposes/' + params.id);\n\t},\n\tgetSupports(url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getSupports/' + params.id);\n\t},\n\tgetListPurposes() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getListPurposes/');\n\t},\n\tgetListSupports() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getListSupports/');\n\t},\n\tdeleteMobilityPurpose(params) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/deleteMobilityPurpose/' + params.bisio_id, params);\n\t},\n\taddMobilityPurpose(params) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/addMobilityPurpose/' + params.bisio_id, params);\n\t},\n\tdeleteMobilitySupport(params) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/deleteMobilitySupport/' + params.bisio_id, params);\n\t},\n\taddMobilitySupport(params) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/addMobilitySupport/' + params.bisio_id, params);\n\t},\n\n}","export default {\n\ttabulatorConfig(config, self) {\n\t\tconfig.ajaxURL = 'api/frontend/v1/stv/archiv/get';\n\t\tconfig.ajaxParams = () => {\n\t\t\tconst params = {\n\t\t\t\tperson_id: self.modelValue.person_id || self.modelValue.map(e => e.person_id)\n\t\t\t};\n\t\t\treturn params;\n\t\t};\n\t\tconfig.ajaxRequestFunc = (url, config, params) => this.$fhcApi.post(url, params, config);\n\t\tconfig.ajaxResponse = (url, params, response) => response.data;\n\n\t\treturn config;\n\t},\n\tgetArchivVorlagen() {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/archiv/getArchivVorlagen');\n\t},\n\tarchive(data) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/documents/archive',\n\t\t\tdata\n\t\t);\n\t},\n\tarchiveSigned(data) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/documents/archiveSigned',\n\t\t\tdata\n\t\t);\n\t},\n\tupdate(data) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/archiv/update', data);\n\t},\n\tdelete({akte_id, studiengang_kz}) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/archiv/delete', {akte_id, studiengang_kz});\n\t}\n};\n","export default {\n\tgetDocumentsUnaccepted(url, config, params) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/dokumente/getDocumentsUnaccepted/' + params.id + '/' + params.studiengang_kz);\n\t},\n\tgetDocumentsAccepted(url, config, params) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/dokumente/getDocumentsAccepted/' + params.id + '/' + params.studiengang_kz);\n\t},\n\tdeleteZuordnung(params){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/dokumente/deleteZuordnung/' + params.prestudent_id + '/' + params.dokument_kurzbz);\n\t},\n\tcreateZuordnung(params){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/dokumente/createZuordnung/'\n\t\t\t+ params.prestudent_id + '/'\n\t\t\t+ params.dokument_kurzbz);\n\t},\n\tloadAkte(akte_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/dokumente/loadAkte/' + akte_id);\n\t},\n\tgetDoktypen(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/dokumente/getDoktypen/');\n\t},\n\tupdateFile(akte_id, data){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/dokumente/updateAkte/' + akte_id,\n\t\t\tdata);\n\t},\n\tdeleteFile(akte_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/dokumente/deleteAkte/' + akte_id);\n\t},\n\tuploadFile(prestudent_id, data){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/dokumente/uploadDokument/' + prestudent_id,\n\t\t\tdata);\n\t},\n}","export default {\n\tgetAnrechnungen(url, config, params) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/getAnrechnungen/' + params.id);\n\t},\n\tgetLehrveranstaltungen(prestudent_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/getLehrveranstaltungen/' + prestudent_id);\n\t},\n\tgetBegruendungen(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/getBegruendungen/');\n\t},\n\tgetLvsKompatibel(lv_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/getLvsKompatibel/' + lv_id);\n\t},\n\tgetLektoren(studiengang_kz){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/getLektoren/' + studiengang_kz);\n\t},\n\taddNewAnrechnung(form, data){\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/anrechnungen/insertAnrechnung/', data);\n\t},\n\tloadAnrechnung(anrechnung_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/loadAnrechnung/' + anrechnung_id);\n\t},\n\teditAnrechnung(form, data){\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/anrechnungen/updateAnrechnung/', data);\n\t},\n\tdeleteAnrechnung(anrechnung_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/anrechnungen/deleteAnrechnung/' + anrechnung_id);\n\t},\n}","export default {\n\tgetStudies(url, config, params) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getStudien/' + params.id);\n\t},\n\tgetTypenMobility(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getTypenMobility/');\n\t},\n\tgetStudiensemester(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getStudiensemester/');\n\t},\n\tgetStudyprograms(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getStudienprogramme/');\n\t},\n\tgetListPartner(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getPartnerfirmen/');\n\t},\n\tgetStatiPrestudent(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getStatiPrestudent/');\n\t},\n\tloadStudy(id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/loadStudie/' + id);\n\t},\n\tinsertStudy(form, data){\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/stv/GemeinsameStudien/insertStudie/', data);\n\t},\n\tupdateStudy(form, data){\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/stv/GemeinsameStudien/updateStudie/', data);\n\t},\n\tdeleteStudy(id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/GemeinsameStudien/deleteStudie/' + id);\n\t},\n\n}","export default {\n\tgetCourselist(url, config, params) {\n\t\t//corresponding logic controller Stundenplan.php\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/LvTermine/getStundenplan/'\n\t\t\t+ params.student_uid + '/'\n\t\t\t+ params.start_date + '/'\n\t\t\t+ params.end_date + '/'\n\t\t\t+ params.group_consecutiveHours + '/'\n\t\t\t+ params.dbStundenplanTable\n\t\t);\n\t},\n\tgetStudiensemester(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/LvTermine/getStudiensemester/');\n\t},\n}","import person from \"./notiz/person.js\";\n\nexport default {\n\tperson\n}","export default {\n\tgetNotizen (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/notiz/notizPerson/getNotizen/' + params.id + '/' + params.type);\n\t},\n\tgetUid(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/notiz/notizPerson/getUid/');\n\t},\n\taddNewNotiz(form, id, formData) {\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/notiz/notizPerson/addNewNotiz/' + id,\n\t\t\tformData\n\t\t);\n\t},\n\tloadNotiz(notiz_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/notiz/notizPerson/loadNotiz/', {\n\t\t\tnotiz_id\n\t\t});\n\t},\n\tloadDokumente(notiz_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/notiz/notizPerson/loadDokumente/', {\n\t\t\tnotiz_id\n\t\t});\n\t},\n\tdeleteNotiz(notiz_id, type_id, id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/notiz/notizPerson/deleteNotiz/', {\n\t\t\tnotiz_id,\n\t\t\ttype_id,\n\t\t\tid\n\t\t});\n\t},\n\tupdateNotiz(form, notiz_id, formData){\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/notiz/notizPerson/updateNotiz/' + notiz_id,\n\t\t\tformData\n\t\t);\n\t},\n\tgetMitarbeiter(event){\n\t\treturn this.$fhcApi.get('api/frontend/v1/notiz/notizPerson/getMitarbeiter/' + event);\n\t},\n\tisBerechtigt(id, type_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/notiz/notizPerson/isBerechtigt/');\n\t}\n}","import person from \"./betriebsmittel/person.js\";\n\nexport default {\n\tperson\n}","export default {\n\tgetAllBetriebsmittel(url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/betriebsmittel/betriebsmittelP/getAllBetriebsmittel/' + params.type + '/' + params.id);\n\t},\n\taddNewBetriebsmittel(form, person_id, formData) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/betriebsmittel/betriebsmittelP/addNewBetriebsmittel/' +\n\t\t\tperson_id, formData\n\t\t);\n\t},\n\tloadBetriebsmittel(betriebsmittelperson_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/betriebsmittel/betriebsmittelP/loadBetriebsmittel/' + betriebsmittelperson_id);\n\t},\n\tupdateBetriebsmittel(form, betriebsmittelperson_id, formData) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/betriebsmittel/betriebsmittelP/updateBetriebsmittel/' + betriebsmittelperson_id,\n\t\t\tformData);\n\t},\n\tdeleteBetriebsmittel(betriebsmittelperson_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/betriebsmittel/betriebsmittelP/deleteBetriebsmittel/' +\tbetriebsmittelperson_id);\n\t},\n\tgetTypenBetriebsmittel(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/betriebsmittel/betriebsmittelP/getTypenBetriebsmittel/');\n\t},\n\tloadInventarliste(query){\n\t\treturn this.$fhcApi.get('api/frontend/v1/betriebsmittel/betriebsmittelP/loadInventarliste/' +\tquery);\n\t}\n}","export default {\n\tupdatePersonUnrulyStatus(person_id, unrulyParam) {\n\n\t\ttry {\n\t\t\tconst payload = {person_id, unruly: unrulyParam}\n\t\t\tconst url = '/api/frontend/v1/checkperson/CheckPerson/updatePersonUnrulyStatus';\n\t\t\treturn this.$fhcApi.post(url, payload, null);\n\t\t} catch (error) {\n\t\t\tthrow error;\n\t\t}\n\n\t},\n\tfilterPerson(payload, base = ''){\n\n\t\ttry {\n\t\t\tconst url = base + '/api/frontend/v1/checkperson/CheckPerson/filterPerson';\n\t\t\treturn axios.post(url, payload)\n\t\t} catch (error) {\n\t\t\tthrow error;\n\t\t}\n\n\t}\n}","export default {\n getContentID(ort_kurbz) {\n\t\treturn this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/Ort/ContentID\",\n\t\t\t{ ort_kurzbz: ort_kurbz }\n\t\t);\n\t},\n\tgetRooms(datum, von, bis, typ, personenanzahl = 0) {\n\t\treturn this.$fhcApi.get(\n\t\t\tFHC_JS_DATA_STORAGE_OBJECT.app_root +\n\t\t\tFHC_JS_DATA_STORAGE_OBJECT.ci_router +\n\t\t\t\"/api/frontend/v1/Ort/getRooms\",\n\t\t\t{ datum, von, bis, typ, personenanzahl }\n\t\t);\n\t},\n\tgetRoomTypes() {\n\t\treturn this.$fhcApi.get(\n\t\t\tFHC_JS_DATA_STORAGE_OBJECT.app_root +\n\t\t\tFHC_JS_DATA_STORAGE_OBJECT.ci_router +\n\t\t\t\"/api/frontend/v1/Ort/getTypes\"\n\t\t);\n\t}\n}","export default {\n content(content_id, version=null, sprache=null, sichtbar=null) {\n return this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Cms/content\",\n\t\t\t{ \n\t\t\t\tcontent_id: content_id,\n\t\t\t\t...(version?{version}:{}),\n\t\t\t\t...(sprache?{sprache}:{}),\n\t\t\t\t...(sichtbar?{sichtbar}:{}),\n }\n );\n },\n\t//api function used for the news View that renders the html\n\tgetNews(page = 1, page_size = 10, sprache) {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Cms/getNews\",\n\t\t\t{\n\t\t\t\tpage,\n\t\t\t\tpage_size,\n\t\t\t\tsprache,\n\t\t\t},\n\t\t);\n\t},\n\t//api function used for the widget component\n\tnews(limit) {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Cms/news\",\n\t\t\t{\n\t\t\t\tlimit: limit\n\t\t\t}\n\t\t);\n\t},\n\tgetNewsRowCount: function () {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Cms/getNewsRowCount\",\n\t\t\t{}\n\t\t);\n\t},\n\tgetNewsExtra: function(){\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Cms/getStudiengangInfoForNews\",\n\t\t\t{}\n\t\t);\n\t}\n }","export default {\n getStudentenMail(lehreinheit_id) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/Lehre/lvStudentenMail\",\n { lehreinheit_id: lehreinheit_id }\n );\n },\n\tgetLvInfo(studiensemester_kurzbz, lehrveranstaltung_id) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Lehre/LV/${studiensemester_kurzbz}/${lehrveranstaltung_id}`\n\t\t\t, {}\n\t\t);\n\t},\n\tgetStudentPruefungen(lehrveranstaltung_id){\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Lehre/Pruefungen/${lehrveranstaltung_id}`\n\t\t\t, {}\n\t\t);\n\t},\n\tgetStudentProjektarbeiten(uid) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Lehre/getStudentProjektarbeiten/${uid}`\n\t\t\t, {}\n\t\t);\n\t},\n\tgetStudentProjektabgaben(detail) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Lehre/getStudentProjektabgaben`\n\t\t\t, {\n\t\t\t\tprojektarbeit_id: detail.projektarbeit_id,\n\t\t\t\tstudent_uid: detail.student_uid\n\t\t\t}\n\t\t);\n\t},\n\tpostStudentProjektarbeitEndupload(formData) {\n\t\tconst url = '/api/frontend/v1/Lehre/postStudentProjektarbeitEndupload';\n\t\tconst headers = {Headers: { \"Content-Type\": \"multipart/form-data\" }}\n\t\treturn this.$fhcApi.post(url, formData, headers)\n\t},\n\tpostStudentProjektarbeitZwischenabgabe(formData) {\n\t\tconst url = '/api/frontend/v1/Lehre/postStudentProjektarbeitZwischenabgabe';\n\t\tconst headers = {Headers: { \"Content-Type\": \"multipart/form-data\" }}\n\t\treturn this.$fhcApi.post(url, formData, headers)\n\t},\n\tgetStudentProjektarbeitAbgabeFile(paabgabe_id, student_uid) {\n\t\tconst url = `/Cis/Abgabetool/getStudentProjektarbeitAbgabeFile?paabgabe_id=${paabgabe_id}&student_uid=${student_uid}`;\n\n\t\twindow.location = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + url\n\t},\n\tgetMitarbeiterProjektarbeiten(uid, all) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Lehre/getMitarbeiterProjektarbeiten?showall=${all}`\n\t\t\t, {}\n\t\t);\n\t},\n\tpostProjektarbeitAbgabe(termin) {\n\t\tconst payload = {\n\t\t\tpaabgabe_id: termin.paabgabe_id,\n\t\t\tpaabgabetyp_kurzbz: termin.bezeichnung.paabgabetyp_kurzbz,\n\t\t\tdatum: termin.datum,\n\t\t\tfixtermin: termin.fixtermin,\n\t\t\tinsertvon: termin.insertvon,\n\t\t\tkurzbz: termin.kurzbz,\n\t\t\tprojektarbeit_id: termin.projektarbeit_id\n\t\t}\n\t\tconst url = '/api/frontend/v1/Lehre/postProjektarbeitAbgabe';\n\n\t\treturn this.$fhcApi.post(url, payload, null)\n\t\t\n\t},\n\tdeleteProjektarbeitAbgabe(paabgabe_id) {\n\t\tconst payload = {\n\t\t\tpaabgabe_id\n\t\t}\n\t\tconst url = '/api/frontend/v1/Lehre/deleteProjektarbeitAbgabe';\n\n\t\treturn this.$fhcApi.post(url, payload, null)\n\t},\n\tpostSerientermin(datum, paabgabetyp_kurzbz, bezeichnung, kurzbz, projektarbeit_ids) {\n\t\tconst payload = {\n\t\t\tdatum, paabgabetyp_kurzbz, bezeichnung, kurzbz, projektarbeit_ids\n\t\t}\n\t\tconst url = '/api/frontend/v1/Lehre/postSerientermin';\n\n\t\treturn this.$fhcApi.post(url, payload, null)\n\t},\n\tfetchDeadlines(person_id) {\n\t\tconst payload = {\n\t\t\tperson_id\n\t\t}\n\t\tconst url = '/api/frontend/v1/Lehre/fetchDeadlines';\n\n\t\treturn this.$fhcApi.post(url, payload, null)\n\t}\n }","export default {\n getLvMenu(lvid, studiensemester_kurzbz) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/LvMenu/getLvMenu/${lvid}/${studiensemester_kurzbz}`,\n {}\n );\n },\n\n \n }","import person from \"./messages/person.js\";\n\nexport default {\n\tperson\n}","export default {\n\t\tgetMessages(url, config, params) {\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getMessages/' + params.id + '/' + params.type + '/' + params.size + '/' + params.page);\n\t\t},\n\t\tgetVorlagen(){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getVorlagen/');\n\t\t},\n\t\tgetMsgVarsLoggedInUser(){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getMsgVarsLoggedInUser/');\n\t\t},\n\t\tgetMessageVarsPerson(params){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getMessageVarsPerson/' + params.id + '/' + params.type_id);\n\t\t},\n\t\tgetMsgVarsPrestudent(params){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getMsgVarsPrestudent/' + params.id + '/' + params.type_id);\n\t\t},\n\t\tgetPersonId(params){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getPersonId/'+ params.id + '/' + params.type_id);\n\t\t},\n\t\tgetUid(params){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getUid/'+ params.id + '/' + params.type_id);\n\t\t},\n\t\tgetDataVorlage(vorlage_kurzbz){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getDataVorlage/' + vorlage_kurzbz);\n\t\t},\n\t\tgetNameOfDefaultRecipient(params){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getNameOfDefaultRecipient/' + params.id + '/' + params.type_id);\n\t\t},\n\t\tgetPreviewText(params, data){\n\t\t\treturn this.$fhcApi.post('api/frontend/v1/messages/messages/getPreviewText/' + params.id + '/' + params.type_id,\n\t\t\t\tdata);\n\t\t},\n\t\tgetReplyData(messageId){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getReplyData/' + messageId);\n\t\t},\n\t\tsendMessageFromModalContext(form, id, data) {\n\t\t\treturn this.$fhcApi.post(form,'api/frontend/v1/messages/messages/sendMessage/' + id,\n\t\t\t\tdata);\n\t\t},\n\t\tsendMessage(id, data) {\n\t\t\treturn this.$fhcApi.post('api/frontend/v1/messages/messages/sendMessage/' + id,\n\t\t\t\tdata);\n\t\t},\n\t\tdeleteMessage(messageId){\n\t\t\treturn this.$fhcApi.post('api/frontend/v1/messages/messages/deleteMessage/' + messageId);\n\t\t}\n}","export default {\n\tgetVorlagen() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/vorlagen/vorlagen/getVorlagen/');\n\t},\n\tgetVorlagenByLoggedInUser() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/vorlagen/vorlagen/getVorlagenByLoggedInUser/');\n\t}\n}","export default {\n\n\tgetStudiensemester: function () {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/components/Cis/Mylv/Studiensemester',\n\t\t\t{}\n\t\t);\n\t},\n\n\tgetAllStudienSemester: function (studiensemester=undefined, studiengang=undefined, semester=undefined, studienplan=undefined) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/Studium/getStudienAllSemester',\n\t\t\t{studiensemester, studiengang, semester, studienplan}\n\t\t);\n\t},\n\n\tgetStudiengaengeForStudienSemester: function (studiensemester) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Studium/getStudiengaengeForStudienSemester/${studiensemester}`,\n\t\t\t{}\n\t\t);\n\t},\n\tgetStudienplaeneBySemester: function (studiengang, studiensemester) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Studium/getStudienplaeneBySemester`,\n\t\t\t{\n\t\t\t\tstudiengang,\n\t\t\t\tstudiensemester,\n\t\t\t}\n\t\t);\n\t},\n\tgetLvPlanForStudiensemester: function (studiensemester, lvid) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/LvPlan/getLvPlanForStudiensemester/${studiensemester}/${lvid}`,\n\t\t\t{\n\t\t\t}\n\t\t);\n\t},\n\tgetLvEvaluierungInfo: function (studiensemester_kurzbz, lvid) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Studium/getLvEvaluierungInfo/${studiensemester_kurzbz}/${lvid}`,\n\t\t\t{\n\t\t\t}\n\t\t);\n\t},\n\t\n}","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport search from \"./search.js\";\nimport phrasen from \"./phrasen.js\";\nimport navigation from \"./navigation.js\";\nimport filter from \"./filter.js\";\nimport studstatus from \"./studstatus.js\";\nimport profil from \"./profil.js\";\nimport profilUpdate from \"./profilUpdate.js\";\nimport lvPlan from \"./lvPlan.js\";\nimport bookmark from \"./bookmark.js\";\nimport stv from \"./stv.js\";\nimport notiz from \"./notiz.js\";\nimport betriebsmittel from \"./betriebsmittel.js\";\nimport checkperson from \"./checkperson.js\";\nimport ampeln from \"./ampeln.js\";\nimport ort from \"./ort.js\";\nimport cms from \"./cms.js\";\nimport lehre from \"./lehre.js\";\nimport addons from \"./addons.js\";\nimport messages from \"./messages.js\";\nimport vorlagen from \"./vorlagen.js\";\nimport studiengang from \"./studiengang.js\";\nimport menu from \"./menu.js\";\nimport dashboard from \"./dashboard.js\";\nimport authinfo from \"./authinfo.js\";\nimport studium from \"./studium.js\";\nimport language from \"./language.js\";\n\nexport default {\n search,\n phrasen,\n navigation,\n dashboard,\n filter,\n studstatus,\n profil,\n profilUpdate,\n lvPlan,\n bookmark,\n stv,\n notiz,\n betriebsmittel,\n checkperson,\n ampeln,\n ort,\n cms,\n lehre,\n addons,\n messages,\n vorlagen,\n addons,\n\tstudiengang,\n\tmenu,\n\tauthinfo,\n\tstudium,\n language\n};\n","export default {\n\tasync getViewData() {\n\t\tconst url = `/api/frontend/v1/Cis4FhcApi/getViewData`;\n\t\treturn this.$fhcApi.get(url, null, null)\n\t},\n}","export default {\n\n getBookmarks: function () {\n return this.$fhcApi.get(\n `/api/frontend/v1/Bookmark/getBookmarks`\n ,{}\n );\n },\n \n delete: function (bookmark_id) {\n return this.$fhcApi.get(\n `/api/frontend/v1/Bookmark/delete/${bookmark_id}`\n ,{}\n ); \n },\n\n\tupdate: function ({ bookmark_id, url, title, tag=null}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t`/api/frontend/v1/Bookmark/update/${bookmark_id}`\n\t\t\t, {\n\t\t\t\turl: url,\n\t\t\t\ttitle: title\n\t\t\t}\n\t\t);\n\t},\n\n insert: function ({url, title, tag}) {\n return this.$fhcApi.post(\n `/api/frontend/v1/Bookmark/insert`\n ,{\n url: url,\n title: title,\n tag: tag\n }\n ); \n },\n}","export default {\n \n open: function () {\n return this.$fhcApi.get(\n `/api/frontend/v1/Ampeln/open`,{});\n },\n\n all: function () {\n return this.$fhcApi.get(\n `/api/frontend/v1/Ampeln/all`,{});\n },\n\n confirm: function (ampel_id) {\n return this.$fhcApi.get(\n `/api/frontend/v1/Ampeln/confirm/${ampel_id}`,{});\n },\n\n}","export default {\n\tstudiengangInformation: function () {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Studgang/getStudiengangInfo\",\n\t\t\t{}\n\t\t);\n\t},\n\tgetStudiengangByKz: function (studiengang_kz) {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/organisation/StudiengangEP/getStudiengangByKz\",\n\t\t\t{\n\t\t\t\t\"studiengang_kz\": studiengang_kz\n\t\t\t}\n\t\t);\n\t}\n}","export default {\n\tgetMenu: function () {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/CisMenu/getMenu\",\n\t\t\t{}\n\t\t);\n\t}\n\n}","\nexport default {\n\tgetAuthUID() {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/AuthInfo/getAuthUID',\n\t\t\t{ }\n\t\t);\n\t},\n\tgetAuthInfo() {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/AuthInfo/getAuthInfo',\n\t\t\t{}\n\t\t);\n\t},\n};","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tgetAll() {\n\t\treturn this.$fhcApi.get('/api/frontend/v1/language/get');\n\t}\n};","/** TODO(chris):\n * when deleting this file be sure to\n * remove line 1 & 90 from ../plugins/Phrasen.js\n */\nimport FhcApiFactory from '../api/fhcapifactory.js';\n\n\nexport default {\n\tinstall: (app, options) => {\n\t\tif (app.config.globalProperties.$fhcApi) {\n\t\t\t/* Deprecated Code start */\n\t\t\tif (options?.factory) {\n\t\t\t\tconsole.warn(\"$fhcApi is DEPRECATED!\");\n\t\t\t\tapp.config.globalProperties.$fhcApi.factory.addEndpoints(options.factory);\n\t\t\t}\n\t\t\t/* Deprecated Code end */\n\t\t\treturn;\n\t\t}\n\n\t\tfunction _get_config(form, uri, data, config) {\n\t\t\tif (typeof form == 'string' && config === undefined) {\n\t\t\t\t[uri, data, config] = [form, uri, data];\n\t\t\t\tform = undefined;\n\t\t\t} else if (form) {\n\t\t\t\tif (typeof form != 'object')\n\t\t\t\t\tthrow new TypeError('Parameter 1 of _get_config must be an object or a string');\n\t\t\t\tif (uri === undefined && data === undefined && config === undefined) {\n\t\t\t\t\tconfig = form;\n\t\t\t\t\tform = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (form) {\n\t\t\t\t// NOTE(chris): check if form is fhc-form\n\t\t\t\tif (!form.clearValidation || !form.setFeedback)\n\t\t\t\t\tthrow new TypeError(\"'form' is not a Form Component\");\n\n\t\t\t\tform = {\n\t\t\t\t\tclearValidation: form.clearValidation,\n\t\t\t\t\tsetFeedback: form.setFeedback\n\t\t\t\t};\n\n\t\t\t\tif (config)\n\t\t\t\t\tconfig.form = form;\n\t\t\t\telse\n\t\t\t\t\tconfig = {form};\n\t\t\t}\n\n\t\t\treturn [uri, data, config];\n\t\t}\n\n\t\tfunction _clean_return_value(response) {\n\t\t\tconst result = response.data;\n\t\t\tdelete response.data;\n\t\t\tif (!result.meta)\n\t\t\t\tresult.meta = {response};\n\t\t\telse\n\t\t\t\tresult.meta.response = response;\n\t\t\treturn result;\n\t\t}\n\t\tconst baseURL = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + \"/\";\n\t\tconst fhcApiAxios = axios.create({\n\t\t\ttimeout: 500000,\n\t\t\tbaseURL: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + \"/\"\n\t\t});\n\n\t\tfhcApiAxios.interceptors.request.use(config => {\n\t\t\tif (config.method != 'post' || !config.data)\n\t\t\t\treturn config;\n\n\t\t\tif (config.data instanceof FormData)\n\t\t\t\treturn config;\n\n\t\t\tif (!Object.values(config.data).every(item => {\n\t\t\t\tif (item instanceof FileList)\n\t\t\t\t\treturn false;\n\t\t\t\tif (Array.isArray(item))\n\t\t\t\t\treturn item.every(i => !(i instanceof File));\n\t\t\t\treturn true;\n\t\t\t})) {\n\t\t\t\tconst newData = Object.entries(config.data).reduce((nd, [key, item]) => {\n\t\t\t\t\tif (item instanceof FileList) {\n\t\t\t\t\t\tfor (const file of item)\n\t\t\t\t\t\t\tnd.FormData.append(key + (item.length > 1 ? '[]' : ''), file);\n\t\t\t\t\t} else if (Array.isArray(item)) {\n\t\t\t\t\t\tif (item.every(i => !(i instanceof File))) {\n\t\t\t\t\t\t\tnd.jsondata[key] = item;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\titem.forEach(file => nd.FormData.append(key + (item.length > 1 ? '[]' : ''), file));\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnd.jsondata[key] = item;\n\t\t\t\t\t}\n\t\t\t\t\treturn nd;\n\t\t\t\t}, {\n\t\t\t\t\tFormData: new FormData(),\n\t\t\t\t\tjsondata: {}\n\t\t\t\t});\n\t\t\t\tnewData.FormData.append('_jsondata', JSON.stringify(newData.jsondata));\n\t\t\t\tconfig.data = newData.FormData;\n\t\t\t}\n\n\t\t\treturn config;\n\t\t});\n\n\t\tfhcApiAxios.interceptors.response.use(response => {\n\t\t\tif (response.config?.errorHandling == 'off'\n\t\t\t\t|| response.config?.errorHandling === false\n\t\t\t\t|| response.config?.errorHandling == 'fail')\n\t\t\t\treturn _clean_return_value(response);\n\n\t\t\t// NOTE(chris): loop through errors\n\t\t\tif (response.data.errors)\n\t\t\t\tresponse.data.errors = response.data.errors.filter(\n\t\t\t\t\terr => (response.config[err.type + 'ErrorHandler'] || app.config.globalProperties.$fhcApi._defaultErrorHandlers[err.type])(err, response.config)\n\t\t\t\t);\n\n\t\t\treturn _clean_return_value(response);\n\t\t}, error => {\n\t\t\tif (error.code == 'ERR_CANCELED')\n\t\t\t\treturn Promise.reject({...{handled: true}, ...error});\n\n\t\t\tif (error.config?.errorHandling == 'off'\n\t\t\t\t|| error.config?.errorHandling === false\n\t\t\t\t|| error.config?.errorHandling == 'success')\n\t\t\t\treturn Promise.reject(error);\n\n\t\t\tif (error.response) {\n\t\t\t\tif (error.response.status == 404) {\n\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertDefault('error', error.message, error.request.responseURL, true);\n\t\t\t\t\treturn Promise.reject({...{handled: true}, ...error});\n\t\t\t\t}\n\n\t\t\t\t// NOTE(chris): loop through errors\n\t\t\t\terror.response.data.errors = error.response.data.errors.filter(\n\t\t\t\t\terr => (error.config[err.type + 'ErrorHandler'] || app.config.globalProperties.$fhcApi._defaultErrorHandlers[err.type])(err, error.config)\n\t\t\t\t);\n\t\t\t\tif (!error.response.data.errors.length)\n\t\t\t\t\treturn Promise.reject({...{handled: true}, ...error});\n\t\t\t} else if (error.request) {\n\t\t\t\tapp.config.globalProperties.$fhcAlert.alertDefault('error', error.message, error.request.responseURL);\n\t\t\t\treturn Promise.reject({...{handled: true}, ...error});\n\t\t\t} else {\n\t\t\t\tapp.config.globalProperties.$fhcAlert.alertError(error.message);\n\t\t\t\treturn Promise.reject({...{handled: true}, ...error});\n\t\t\t}\n\n\t\t\treturn Promise.reject(error);\n\t\t});\n\n\t\tapp.config.globalProperties.$fhcApi = {\n\t\t\tgetUri(url) {\n\t\t\t\tconsole.warn('$fhcApi.getUri is DEPRECATED! Use $api.getUri instead.');\n\t\t\t\treturn fhcApiAxios.getUri({url});\n\t\t\t},\n\t\t\tget(form, uri, params, config) {\n\t\t\t\tconsole.warn('$fhcApi.get is DEPRECATED! Use $api.get instead.');\n\t\t\t\t[uri, params, config] = _get_config(form, uri, params, config);\n\t\t\t\tif (params) {\n\t\t\t\t\tif (config)\n\t\t\t\t\t\tconfig.params = params;\n\t\t\t\t\telse\n\t\t\t\t\t\tconfig = {params};\n\t\t\t\t}\n\t\t\t\treturn fhcApiAxios.get(uri, config);\n\t\t\t},\n\t\t\tpost(form, uri, data, config) {\n\t\t\t\tconsole.warn('$fhcApi.post is DEPRECATED! Use $api.post instead.');\n\t\t\t\t[uri, data, config] = _get_config(form, uri, data, config);\n\t\t\t\treturn fhcApiAxios.post(uri, data, config);\n\t\t\t},\n\t\t\t_defaultErrorHandlers: {\n\t\t\t\tvalidation(error, config) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tif (config?.form) {\n\t\t\t\t\t\tconfig.form.clearValidation();\n\t\t\t\t\t\tconfig.form.setFeedback(false, error.messages);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (Array.isArray(error.messages)) {\n\t\t\t\t\t\terror.messages.forEach($fhcAlert.alertError);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else if (typeof error.messages == 'object') {\n\t\t\t\t\t\tif (config?.errorHeader)\n\t\t\t\t\t\t\tObject.values(error.messages).forEach(\n\t\t\t\t\t\t\t\tvalue => $fhcAlert.alertDefault(\n\t\t\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\t\t\tArray.isArray(config.errorHeader) ? app.config.globalProperties.$p.t.apply(null, config.errorHeader) : config.errorHeader,\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tObject.entries(error.messages).forEach(\n\t\t\t\t\t\t\t\t([key, value]) => $fhcAlert.alertDefault('error', key, value, true)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t},\n\t\t\t\tgeneral(error, config) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tif (config?.form)\n\t\t\t\t\t\tconfig.form.setFeedback(false, error.message);\n\t\t\t\t\telse if (config?.errorHeader)\n\t\t\t\t\t\t$fhcAlert.alertDefault(\n\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\tArray.isArray(config.errorHeader) ? app.config.globalProperties.$p.t.apply(null, config.errorHeader) : config.errorHeader,\n\t\t\t\t\t\t\terror.message,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\telse\n\t\t\t\t\t\t$fhcAlert.alertError(error.message);\n\t\t\t\t},\n\t\t\t\tphp(error) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tvar message = '';\n\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\t\t\t\t\tif (error.backtrace && error.backtrace.length) {\n\t\t\t\t\t\tmessage += '\\nBacktrace: ';\n\t\t\t\t\t\terror.backtrace.forEach(err => {\n\t\t\t\t\t\t\tmessage += '\\n\\tFile: ' + err.file + '\\n';\n\t\t\t\t\t\t\tmessage += '\\tLine: ' + err.line + '\\n';\n\t\t\t\t\t\t\tmessage += '\\tFunction: ' + err.function + '\\n';\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tswitch (error.severity) {\n\t\t\t\t\t\tcase 'Warning':\n\t\t\t\t\t\tcase 'Core Warning':\n\t\t\t\t\t\tcase 'Compile Warning':\n\t\t\t\t\t\tcase 'User Warning':\n\t\t\t\t\t\t\t$fhcAlert.alertDefault('warn', 'PHP ' + error.severity, message, true);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'Notice':\n\t\t\t\t\t\tcase 'User Notice':\n\t\t\t\t\t\tcase 'Runtime Notice':\n\t\t\t\t\t\t\t$fhcAlert.alertDefault('info', 'PHP ' + error.severity, message, true);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tmessage = 'Type: PHP ' + error.severity + '\\n\\n' + message;\n\t\t\t\t\t\t\t$fhcAlert.alertSystemError(message);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\texception(error) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tvar message = '';\n\t\t\t\t\tmessage += 'Type: ' + error.class + '\\n\\n';\n\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\t\t\t\t\tif (error.backtrace && error.backtrace.length) {\n\t\t\t\t\t\tmessage += '\\nBacktrace: ';\n\t\t\t\t\t\terror.backtrace.forEach(err => {\n\t\t\t\t\t\t\tmessage += '\\n\\tFile: ' + err.file + '\\n';\n\t\t\t\t\t\t\tmessage += '\\tLine: ' + err.line + '\\n';\n\t\t\t\t\t\t\tmessage += '\\tFunction: ' + err.function + '\\n';\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$fhcAlert.alertSystemError(message);\n\t\t\t\t},\n\t\t\t\tdb(error) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tvar message = '';\n\t\t\t\t\tif (error.heading !== undefined)\n\t\t\t\t\t\tmessage += error.heading + '\\n\\n';\n\t\t\t\t\tif (error.code !== undefined)\n\t\t\t\t\t\tmessage += 'Code: ' + error.code + '\\n\\n';\n\t\t\t\t\tif (error.sql !== undefined)\n\t\t\t\t\t\tmessage += 'SQL: ' + error.sql + '\\n\\n';\n\t\t\t\t\tif (error.message !== undefined)\n\t\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\telse if (error.messages !== undefined)\n\t\t\t\t\t\tmessage += 'Messages: ' + error.messages.join('\\n\\t') + '\\n\\n';\n\t\t\t\t\tif (error.filename !== undefined)\n\t\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\tif (error.line !== undefined)\n\t\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\n\t\t\t\t\t$fhcAlert.alertSystemError(message);\n\t\t\t\t},\n\t\t\t\tauth(error, config) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tvar message = '';\n\t\t\t\t\tmessage += 'Controller name: ' + error.controller + '\\n';\n\t\t\t\t\tmessage += 'Method name: ' + error.method + '\\n';\n\t\t\t\t\tmessage += 'Required permissions: ' + error.required_permissions;\n\t\t\t\t\tif (config?.errorHeader)\n\t\t\t\t\t\t$fhcAlert.alertDefault(\n\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\tArray.isArray(config.errorHeader) ? app.config.globalProperties.$p.t.apply(null, config.errorHeader) : config.errorHeader,\n\t\t\t\t\t\t\terror.message,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\telse\n\t\t\t\t\t\t$fhcAlert.alertDefault('error', error.message, message);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t/* Deprecated Code start */\n\t\tclass FhcApiFactoryWrapper {\n\t\t\tconstructor(factorypart, root) {\n\t\t\t\tif (root === undefined) {\n\t\t\t\t\tthis.$fhcApi = {\n\t\t\t\t\t\tgetUri(url) {\n\t\t\t\t\t\t\tconsole.warn('$fhcApi.factory is DEPRECATED!');\n\t\t\t\t\t\t\treturn app.config.globalProperties.$fhcApi.getUri(url);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tget(form, uri, params, config) {\n\t\t\t\t\t\t\tconsole.warn('$fhcApi.factory is DEPRECATED!');\n\t\t\t\t\t\t\treturn app.config.globalProperties.$fhcApi.get(form, uri, params, config);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpost(form, uri, data, config) {\n\t\t\t\t\t\t\tconsole.warn('$fhcApi.factory is DEPRECATED!');\n\t\t\t\t\t\t\treturn app.config.globalProperties.$fhcApi.post(form, uri, data, config);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tObject.defineProperty(this.$fhcApi, 'factory', {\n\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\tconsole.warn('$fhcApi.factory is DEPRECATED!');\n\t\t\t\t\t\t\treturn app.config.globalProperties.$fhcApi.factory;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tapp.config.globalProperties.$fhcApi.factory = this;\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(this, '$fhcApi', {\n\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\treturn (root || this).$fhcApi;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tthis.addEndpoints(factorypart, true)\n\t\t\t}\n\n\t\t\taddEndpoints(factorypart, noWarn) {\n\t\t\t\tObject.keys(factorypart).forEach(key => {\n\t\t\t\t\tObject.defineProperty(this, key, {\n\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\tif (typeof factorypart[key] == 'function')\n\t\t\t\t\t\t\t\treturn factorypart[key].bind(this);\n\t\t\t\t\t\t\treturn new FhcApiFactoryWrapper(factorypart[key], this.$fhcApi.factory);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tif (!noWarn) console.warn('$fhcApi.factory.addEndpoints() is DEPRECATED!');\n\t\t\t}\n\t\t}\n\n\t\tconst factory = new FhcApiFactoryWrapper(FhcApiFactory);\n\t\tif (options?.factory) {\n\t\t\tconsole.warn(\"$fhcApi is DEPRECATED!\");\n\t\t\tfactory.addEndpoints(options.factory);\n\t\t}\n\n\t\tapp.config.globalProperties.$fhcApi.factory = factory;\n\t\t/* Deprecated Code end */\n\t\t\n\t\tapp.provide('$fhcApi', app.config.globalProperties.$fhcApi);\n\t}\n};","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n//--------------------------------------------------------------------------------------------------------------------\n// Configs\n\n// To see debug messages into the browser console set this parameter as true\nconst CORE_REST_CLIENT_DEBUG = false;\n\n// Default timeout (milliseconds)\nconst CORE_REST_CLIENT_TIMEOUT = 5000;\n\n//--------------------------------------------------------------------------------------------------------------------\n// Constants\n\n// Success\nconst CORE_REST_CLIENT_SUCCESS = 0;\n\n// Properties present in a response\nconst CORE_REST_CLIENT_ERROR = \"error\";\nconst CORE_REST_CLIENT_RETVAL = \"retval\";\n\n// HTTP method parameters\nconst CRC_HTTP_GET_METHOD = \"get\";\nconst CRC_HTTP_POST_METHOD = \"post\";\n\n/**\n * Definition and initialization of the object CoreRESTClient\n */\nexport const CoreRESTClient = {\n\t//------------------------------------------------------------------------------------------------------------------\n\t// Public methods\n\n\t/**\n\t * Performs a call using the HTTP GET method\n\t * wsParameters is an object\n\t * axiosParameters is an object\n\t */\n\tget: function(wsURL, wsParameters, axiosParameters = null) {\n\t\treturn CoreRESTClient._axiosCall(wsURL, wsParameters, CRC_HTTP_GET_METHOD, axiosParameters);\n\t},\n\n\t/**\n\t * Performs a call using the HTTP POST method\n\t * wsParameters is an object\n\t * axiosParameters is an object\n\t */\n\tpost: function(wsURL, wsParameters, axiosParameters = null) {\n\t\treturn CoreRESTClient._axiosCall(wsURL, wsParameters, CRC_HTTP_POST_METHOD, axiosParameters);\n\t},\n\n\t/**\n\t * Checks if the response is a success\n\t */\n\tisSuccess: function(response) {\n\n\t\tif (typeof response === \"object\" && response.hasOwnProperty(CORE_REST_CLIENT_ERROR)\n\t\t\t&& response.hasOwnProperty(CORE_REST_CLIENT_RETVAL) && response.error == CORE_REST_CLIENT_SUCCESS)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t/**\n\t * Checks if the response is an error\n\t */\n\tisError: function(response) {\n\t\treturn !CoreRESTClient.isSuccess(response);\n\t},\n\n\t/**\n\t * Checks if the response has data\n\t */\n\thasData: function(response) {\n\n\t\tif (CoreRESTClient.isSuccess(response))\n\t\t{\n\t\t\tif ((typeof response[CORE_REST_CLIENT_RETVAL] === \"object\" && Object.keys(response[CORE_REST_CLIENT_RETVAL]).length > 0)\n\t\t\t\t|| (typeof response[CORE_REST_CLIENT_RETVAL] === \"array\" && response[CORE_REST_CLIENT_RETVAL].length > 0)\n\t\t\t\t|| (typeof response[CORE_REST_CLIENT_RETVAL] === \"string\" && response[CORE_REST_CLIENT_RETVAL].trim() != \"\")\n\t\t\t\t|| typeof response[CORE_REST_CLIENT_RETVAL] === \"number\")\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t/**\n\t * Retrives data from response object\n\t */\n\tgetData: function(response) {\n\n\t\tif (CoreRESTClient.hasData(response))\n\t\t{\n\t\t\treturn response[CORE_REST_CLIENT_RETVAL];\n\t\t}\n\n\t\treturn null;\n\t},\n\n\t/**\n\t * Retrives error message from response object\n\t */\n\tgetError: function(response) {\n\n\t\tif (typeof response === \"object\"\n\t\t\t&& Object.keys(response).length > 0\n\t\t\t&& response.hasOwnProperty(CORE_REST_CLIENT_RETVAL))\n\t\t{\n\t\t\treturn response[CORE_REST_CLIENT_RETVAL];\n\t\t}\n\n\t\treturn \"Generic error\";\n\t},\n\n\t/**\n\t * Retrives code from response object\n\t */\n\tgetErrorCode: function(response) {\n\n\t\tif (typeof response === \"object\" && response.hasOwnProperty(CORE_REST_CLIENT_ERROR))\n\t\t{\n\t\t\treturn response[CORE_REST_CLIENT_ERROR];\n\t\t}\n\n\t\treturn 1; // Generic error\n\t},\n\n\t//------------------------------------------------------------------------------------------------------------------\n\t// Private methods\n\n\t/**\n\t * Generate the router URI using the connection parameters\n\t */\n\t_generateRouterURI: function(wsURL) {\n\t\tvar uri = null;\n\n\t\t// Checks if global JS object FHC_JS_DATA_STORAGE_OBJECT exists\n\t\tif (typeof FHC_JS_DATA_STORAGE_OBJECT !== \"undefined\")\n\t\t{\n\t\t\turi = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + \"/\" + wsURL;\n\t\t}\n\n\t\treturn uri;\n\t},\n\n\t/**\n\t * Method to print debug info after a controller has been called\n\t */\n\t_printDebug: function(parameters, response, errorThrown) {\n\n\t\tif (CORE_REST_CLIENT_DEBUG === true) // If global const CORE_REST_CLIENT_DEBUG is true, but really true!\n\t\t{\n\t\t\t// Print info about called controller\n\t\t\tconsole.log(\"Called controller: \" + parameters.remoteController);\n\t\t\tconsole.log(\"Call parameters:\"); // parameters given to this call\n\t\t\tconsole.log(parameters);\n\n\t\t\tif (response != null) // if there is a response...\n\t\t\t{\n\t\t\t\tconsole.log(\"Controller Response:\");\n\t\t\t\tconsole.log(response); // ...print it\n\t\t\t}\n\t\t\tif (errorThrown != null) // if there is a jQuery error...\n\t\t\t{\n\t\t\t\tconsole.log(\"jQuery error:\");\n\t\t\t\tconsole.log(errorThrown); // ...print it\n\t\t\t}\n\t\t\tconsole.log(\"--------------------------------------------------------------------------------------------\");\n\t\t}\n\t},\n\n\t/**\n\t * Performs a call to the server were the CI PHP layer is running\n\t * - wsURL: alias of the core controller to call\n\t * - wsParameters: parameters to give to the called controller\n\t * - type: POST or GET HTTP method\n\t * - axiosParameters: an object to configure the axios call\n\t */\n\t_axiosCall: function(wsURL, wsParameters, type, axiosParameters) {\n\n\t\t// Axios config object\n\t\tlet axiosCallObj = {\n\t\t\tmethod: type,\n\t\t\turl: CoreRESTClient._generateRouterURI(wsURL),\n\t\t\ttimeout: CORE_REST_CLIENT_TIMEOUT // default time out\n\t\t};\n\n\t\t// The ajax call is HTTP GET\n\t\tif (type == CRC_HTTP_GET_METHOD)\n\t\t{\n\t\t\taxiosCallObj.params = wsParameters;\n\t\t}\n\t\t// The ajax call is HTTP POST\n\t\telse\n\t\t{\n\t\t\taxiosCallObj.data = wsParameters;\n\t\t}\n\n\t\t// Check if axiosParameters is an object\n\t\tif (typeof axiosParameters === \"object\")\n\t\t{\n\t\t\t// And then copies the its properties into axiosCallObj\n\t\t\tfor (var prop in axiosParameters) axiosCallObj[prop] = axiosParameters[prop];\n\t\t}\n\n\t\t// Perform the ajax call via axios\n\t\treturn axios(axiosCallObj);\n\t}\n};\n\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n * \n * @usage:\n * Preperations:\n * Be sure to have PrimeVue loaded with the toast and confirmdialog\n * components as primevue variable\n * Install:\n * Import this Plugin and install it with the app.use() function.\n * Use:\n * In your component you can call now the global property $fhcAlert\n * which has the following functions:\n * \n * alertSuccess\n * ------------\n * Displays a success message\n * @param string\tmessage\n * @return void\n * \n * alertInfo\n * ---------\n * Displays an info message\n * @param string\tmessage\n * @return void\n * \n * alertWarning\n * ------------\n * Displays a warning\n * @param string\tmessage\n * @return void\n * \n * alertError\n * ----------\n * Displays an error\n * @param string\tmessage\n * @return void\n * \n * alertSystemError\n * ----------------\n * Displays an alert with the error details and a button to mail\n * the error to the Support Team\n * @param string\tmessage\n * @return void\n * \n * confirmDelete\n * -------------\n * Displays a confirmation dialog and returns a Promise which resolves\n * with true or false depending und the pressed button.\n * @return Promise\n * \n * alertDefault\n * ------------\n * Displays an alert\n * @param string\tseverity\t\tcan be 'success', 'info', 'warning', 'error'\n * @param string\ttitle\n * @param string\tmessage\n * @param boolean\tsticky\t\t\t(optional) defaults to false\n * @return void\n * \n * alertMultiple\n * -------------\n * Displays multiple alerts\n * @param array\t\tmessageArray\n * @param string\tseverity\t\t(optional) defaults to 'info'\n * @param string\ttitle\t\t\t(optional) defaults to 'Info'\n * @param boolean\tsticky\t\t\t(optional) defaults to false\n * @return void\n * \n * handleSystemError\n * -----------------\n * Automatiticly determine how to display an system error and display it.\n * This would be used in a catch block of an ajax call.\n * @param mixed\t\terror\n * @return void\n * \n * handleSystemMessage\n * -------------------\n * Automatiticly determine how to display a message and display it.\n * @param mixed\t\tmessage\n * @return void\n */\nimport PvConfig from \"../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js\";\nimport PvToast from \"../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js\";\nimport PvConfirm from \"../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js\";\nimport PvConfirmationService from \"../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js\";\nimport FhcPhrasen from \"./Phrasen.js\";\n\nimport {CoreRESTClient} from '../RESTClient.js';\n\nconst helperAppContainer = document.createElement('div');\n\nconst helperApp = Vue.createApp({\n\tname: \"FhcAlertApp\",\n\tcomponents: {\n\t\tPvToast,\n\t\tPvConfirm\n\t},\n\tmethods: {\n\t\tmailToUrl(slotProps) {\n\t\t\tlet mailTo = FHC_JS_DATA_STORAGE_OBJECT.systemerror_mailto;\n\t\t\tlet subject = 'Meldung%20Systemfehler';\n\t\t\tlet body = `\n\t\t\t\tDanke, dass Sie uns den Fehler melden. %0D%0A %0D%0A\n\t\t\t\tBitte beschreiben Sie uns ausführlich das Problem.%0D%0A\n\t\t\t\tBsp: Ich habe X ausgewählt und Y angelegt. Beim Speichern erhielt ich die Fehlermeldung. [Optional: Ich habe den Browser Z verwendet.]%0D%0A\n\t\t\t\t-----------------------------------------------------------------------------------------------------------------------------------%0D%0A\n\t\t\t\tPROBLEM: ... %0D%0A %0D%0A %0D%0A\n\n\t\t\t\t-----------------------------------------------------------------------------------------------------------------------------------%0D%0A\n\t\t\t\tFehler URL: ` + FHC_JS_DATA_STORAGE_OBJECT.called_path + '/' + FHC_JS_DATA_STORAGE_OBJECT.called_method + `%0D%0A\n\t\t\t\tFehler Meldung: ` + slotProps.message.detail + `%0D%0A\n\t\t\t\t-----------------------------------------------------------------------------------------------------------------------------------%0D%0A %0D%0A\n\t\t\t\tWir kümmern uns um eine rasche Behebung des Problems!`\n\n\t\t\treturn \"mailto:\" + mailTo + \"?subject=\" + subject + \"&body=\" + body;\n\t\t},\n\t\topenMessagecard(e) {\n\t\t\tbootstrap.Collapse.getOrCreateInstance(e.target.getAttribute('href')).toggle();\n\t\t}\n\t},\n\tunmounted() {\n\t\thelperAppContainer.parentElement.removeChild(helperAppContainer);\n\t},\n\tcomputed: {\n\t\tshowmaillink: function() {\n\t\t\treturn FHC_JS_DATA_STORAGE_OBJECT.systemerror_mailto !== '';\n\t\t}\n\t},\n\ttemplate: /* html */`\n\t\n\t\t\n\t\t\t\n\t\t\t
',\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tphp(errors) {\n\t\t\t\t\t_send_array_or_object(errors, (error, title) => {\n\t\t\t\t\t\tvar message = '';\n\t\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\t\t\t\t\t\tif (error.backtrace && error.backtrace.length) {\n\t\t\t\t\t\t\tmessage += '\\nBacktrace: ';\n\t\t\t\t\t\t\terror.backtrace.forEach(err => {\n\t\t\t\t\t\t\t\tmessage += '\\n\\tFile: ' + err.file + '\\n';\n\t\t\t\t\t\t\t\tmessage += '\\tLine: ' + err.line + '\\n';\n\t\t\t\t\t\t\t\tmessage += '\\tFunction: ' + err.function + '\\n';\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch (error.severity) {\n\t\t\t\t\t\t\tcase 'Warning':\n\t\t\t\t\t\t\tcase 'Core Warning':\n\t\t\t\t\t\t\tcase 'Compile Warning':\n\t\t\t\t\t\t\tcase 'User Warning':\n\t\t\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\t\t\ttitle += ': PHP ' + error.severity;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\ttitle = 'PHP ' + error.severity;\n\t\t\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertDefault('warn', title, message, true);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'Notice':\n\t\t\t\t\t\t\tcase 'User Notice':\n\t\t\t\t\t\t\tcase 'Runtime Notice':\n\t\t\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\t\t\ttitle += ': PHP ' + error.severity;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\ttitle = 'PHP ' + error.severity;\n\t\t\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertDefault('info', title, message, true);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tmessage = 'Type: PHP ' + error.severity + '\\n\\n' + message;\n\t\t\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\t\t\tmessage = title + '\\n\\n' + message;\n\t\t\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertSystemError(message);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\texception(errors) {\n\t\t\t\t\t_send_array_or_object(errors, (error, title) => {\n\t\t\t\t\t\tvar message = '';\n\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\tmessage += title + '\\n\\n';\n\t\t\t\t\t\tmessage += 'Type: ' + error.class + '\\n\\n';\n\t\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\t\t\t\t\t\tif (error.backtrace && error.backtrace.length) {\n\t\t\t\t\t\t\tmessage += '\\nBacktrace: ';\n\t\t\t\t\t\t\terror.backtrace.forEach(err => {\n\t\t\t\t\t\t\t\tmessage += '\\n\\tFile: ' + err.file + '\\n';\n\t\t\t\t\t\t\t\tmessage += '\\tLine: ' + err.line + '\\n';\n\t\t\t\t\t\t\t\tmessage += '\\tFunction: ' + err.function + '\\n';\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertSystemError(message);\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tdb(errors) {\n\t\t\t\t\t_send_array_or_object(errors, (error, title) => {\n\t\t\t\t\t\tvar message = '';\n\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\tmessage += title + '\\n\\n';\n\t\t\t\t\t\tif (error.heading !== undefined)\n\t\t\t\t\t\t\tmessage += error.heading + '\\n\\n';\n\t\t\t\t\t\tif (error.code !== undefined)\n\t\t\t\t\t\t\tmessage += 'Code: ' + error.code + '\\n\\n';\n\t\t\t\t\t\tif (error.sql !== undefined)\n\t\t\t\t\t\t\tmessage += 'SQL: ' + error.sql + '\\n\\n';\n\t\t\t\t\t\tif (error.message !== undefined)\n\t\t\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\t\telse if (error.messages !== undefined)\n\t\t\t\t\t\t\tmessage += 'Messages: ' + error.messages.join('\\n\\t') + '\\n\\n';\n\t\t\t\t\t\tif (error.filename !== undefined)\n\t\t\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\t\tif (error.line !== undefined)\n\t\t\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\n\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertSystemError(message);\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tauth(errors) {\n\t\t\t\t\t_send_array_or_object(errors, (error, title) => {\n\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\ttitle += ': ' + error.message;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\ttitle = error.message;\n\n\t\t\t\t\t\tvar message = '';\n\t\t\t\t\t\tmessage += 'Controller name: ' + error.controller + '\\n';\n\t\t\t\t\t\tmessage += 'Method name: ' + error.method + '\\n';\n\t\t\t\t\t\tmessage += 'Required permissions: ' + error.required_permissions;\n\n\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertDefault(\n\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tif (options?.errorHandling !== undefined)\n\t\t\tDEFAULT_ERROR_CONFIG = _merge_error_config(options.errorHandling);\n\t\t\n\t\tfunction get_config(form, uri, data, config) {\n\t\t\tif (typeof form == 'string' && config === undefined) {\n\t\t\t\t[uri, data, config] = [form, uri, data];\n\t\t\t\tform = undefined;\n\t\t\t} else if (form) {\n\t\t\t\tif (typeof form != 'object')\n\t\t\t\t\tthrow new TypeError('Parameter 1 of _get_config must be an object or a string');\n\t\t\t\tif (uri === undefined && data === undefined && config === undefined) {\n\t\t\t\t\tconfig = form;\n\t\t\t\t\tform = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (form) {\n\t\t\t\t// NOTE(chris): check if form is fhc-form\n\t\t\t\tif (!form.clearValidation || !form.setFeedback)\n\t\t\t\t\tthrow new TypeError(\"'form' is not a Form Component\");\n\n\t\t\t\tform = {\n\t\t\t\t\tclearValidation: form.clearValidation,\n\t\t\t\t\tsetFeedback: form.setFeedback\n\t\t\t\t};\n\n\t\t\t\tif (config)\n\t\t\t\t\tconfig.form = form;\n\t\t\t\telse\n\t\t\t\t\tconfig = {form};\n\t\t\t}\n\n\t\t\treturn [uri, data, config];\n\t\t}\n\t\tfunction clean_return_value(response) {\n\t\t\tif (typeof response.data === 'string' || response.data instanceof String)\n\t\t\t\treturn clean_return_value({ data: response });\n\n\t\t\tconst result = response.data;\n\t\t\tdelete response.data;\n\t\t\tif (!result)\n\t\t\t\treturn {meta: {response}, data: null};\n\t\t\tif (!result.meta)\n\t\t\t\tresult.meta = { response };\n\t\t\telse\n\t\t\t\tresult.meta.response = response;\n\t\t\treturn result;\n\t\t}\n\t\tfunction _merge_error_config(config) {\n\t\t\tif (config === false || config === 'off')\n\t\t\t\treturn { ...DEFAULT_ERROR_CONFIG, success: false, fail: false };\n\t\t\t\n\t\t\tif (!config || config === true)\n\t\t\t\treturn { ...DEFAULT_ERROR_CONFIG };\n\n\t\t\tif (config === 'success')\n\t\t\t\treturn { ...DEFAULT_ERROR_CONFIG, fail: false };\n\t\t\t\n\t\t\tif (config === 'fail')\n\t\t\t\treturn { ...DEFAULT_ERROR_CONFIG, success: false };\n\t\t\t\n\t\t\tconst { success, fail, handler, combine } = config;\n\t\t\t\n\t\t\tconfig = { ...DEFAULT_ERROR_CONFIG };\n\n\t\t\tObject.entries({ fail, success }).forEach(([key, value]) => {\n\t\t\t\tif (value !== undefined)\n\t\t\t\t\tconfig[key] = value;\n\t\t\t});\n\t\t\tObject.entries({ handler, combine }).forEach(([key, value]) => {\n\t\t\t\tif (value !== undefined)\n\t\t\t\t\tconfig[key] = { ...config[key], ...value };\n\t\t\t});\n\n\t\t\treturn config;\n\t\t}\n\t\tfunction get_error_handler(config) {\n\t\t\tconst result = _merge_error_config(config?.errorHandling);\n\n\t\t\tif (!config?.form) {\n\t\t\t\tresult.combine = { ...result.combine, form: [] };\n\t\t\t} else {\n\t\t\t\tconst formHandler = result.handler.form;\n\t\t\t\tresult.handler = { ...result.handler, form: errors => formHandler(config.form, errors) };\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t\tfunction get_error_list(error) {\n\t\t\tif (error.response) {\n\t\t\t\tif (error.response.status == 404) {\n\t\t\t\t\treturn [{\n\t\t\t\t\t\ttype: 'not_found',\n\t\t\t\t\t\tmessage: error.message,\n\t\t\t\t\t\turl: error.request.responseURL\n\t\t\t\t\t}];\n\t\t\t\t} else {\n\t\t\t\t\tif (error.response.data.errors == undefined) return [];\n\t\t\t\t\treturn error.response.data.errors;\n\t\t\t\t}\n\t\t\t} else if (error.request) {\n\t\t\t\treturn [{\n\t\t\t\t\ttype: 'site_failed',\n\t\t\t\t\tmessage: error.message,\n\t\t\t\t\turl: error.request.responseURL\n\t\t\t\t}];\n\t\t\t} else {\n\t\t\t\treturn [{\n\t\t\t\t\ttype: 'script',\n\t\t\t\t\tmessage: error.message\n\t\t\t\t}];\n\t\t\t}\n\t\t}\n\t\tfunction popHandleableErrors(errorHandling, errors) {\n\t\t\tconst result = {};\n\t\t\tconst copy = [];\n\n\t\t\tif (errors == undefined) return {};\n\n\t\t\twhile (errors.length)\n\t\t\t\tcopy.push(errors.pop());\n\t\t\tfor (var error of copy) {\n\t\t\t\tlet type = error.type;\n\t\t\t\tlet newType = null;\n\t\t\t\tfor (var t in errorHandling.combine) {\n\t\t\t\t\tlet newTypeCombinesType = errorHandling\n\t\t\t\t\t\t.combine[t]\n\t\t\t\t\t\t.includes(type);\n\t\t\t\t\tlet newTypeHasHandler = errorHandling.handler[t];\n\t\t\t\t\tif (newTypeCombinesType && newTypeHasHandler) {\n\t\t\t\t\t\tnewType = t;\n\t\t\t\t\t\tif (newType == 'form')\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (newType)\n\t\t\t\t\ttype = newType;\n\t\t\t\tconst handler = errorHandling.handler[type];\n\t\t\t\tif (handler) {\n\t\t\t\t\tif (!result[type])\n\t\t\t\t\t\tresult[type] = [];\n\t\t\t\t\tif (Array.isArray(error))\n\t\t\t\t\t\tresult[type].push(...error);\n\t\t\t\t\telse\n\t\t\t\t\t\tresult[type].push(error);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\terrors.push(error);\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\n\t\tconst fhcApiAxios = axios.create({\n\t\t\ttimeout: 500000,\n\t\t\tbaseURL: FHC_JS_DATA_STORAGE_OBJECT.app_root\n\t\t\t\t+ FHC_JS_DATA_STORAGE_OBJECT.ci_router\n\t\t\t\t+ \"/\"\n\t\t});\n\n\t\tfhcApiAxios.interceptors.request.use(config => {\n\t\t\tif (config.method != 'post' || !config.data)\n\t\t\t\treturn config;\n\n\t\t\tif (config.data instanceof FormData)\n\t\t\t\treturn config;\n\n\t\t\tif (!Object.values(config.data).every(item => {\n\t\t\t\tif (item instanceof FileList)\n\t\t\t\t\treturn false;\n\t\t\t\tif (Array.isArray(item))\n\t\t\t\t\treturn item.every(i => !(i instanceof File));\n\t\t\t\treturn true;\n\t\t\t})) {\n\t\t\t\tconst newData = Object.entries(config.data).reduce((nd, [key, item]) => {\n\t\t\t\t\tif (item instanceof FileList) {\n\t\t\t\t\t\tfor (const file of item)\n\t\t\t\t\t\t\tnd.FormData.append(key + (item.length > 1 ? '[]' : ''), file);\n\t\t\t\t\t} else if (Array.isArray(item)) {\n\t\t\t\t\t\tif (item.every(i => !(i instanceof File))) {\n\t\t\t\t\t\t\tnd.jsondata[key] = item;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\titem.forEach(file => nd.FormData.append(key + (item.length > 1 ? '[]' : ''), file));\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnd.jsondata[key] = item;\n\t\t\t\t\t}\n\t\t\t\t\treturn nd;\n\t\t\t\t}, {\n\t\t\t\t\tFormData: new FormData(),\n\t\t\t\t\tjsondata: {}\n\t\t\t\t});\n\t\t\t\tnewData.FormData.append('_jsondata', JSON.stringify(newData.jsondata));\n\t\t\t\tconfig.data = newData.FormData;\n\t\t\t}\n\n\t\t\treturn config;\n\t\t});\n\n\t\tfhcApiAxios.interceptors.response.use(\n\t\t\tresponse => {\n\t\t\t\tif (response.config?.errorHandling == 'off'\n\t\t\t\t\t|| response.config?.errorHandling === false\n\t\t\t\t\t|| response.config?.errorHandling == 'fail')\n\t\t\t\t\treturn clean_return_value(response);\n\n\t\t\t\t// NOTE(chris): loop through errors\n\t\t\t\tif (response.data.errors)\n\t\t\t\t\tresponse.data.errors = response.data.errors.filter(\n\t\t\t\t\t\terr => (response.config[err.type + 'ErrorHandler'] || app.config.globalProperties.$api._defaultErrorHandlers[err.type])(err, response.config)\n\t\t\t\t\t);\n\n\t\t\t\treturn clean_return_value(response);\n\t\t\t},\n\t\t\terror => {\n\t\t\t\tif (error.code == 'ERR_CANCELED')\n\t\t\t\t\treturn Promise.reject({ handled: true, ...error });\n\n\t\t\t\tconst errorConfig = get_error_handler(error.config);\n\n\t\t\t\tif (!errorConfig.fail)\n\t\t\t\t\treturn Promise.reject(error);\n\n\t\t\t\tconst remaining = get_error_list(error);\n\n\t\t\t\tconst errors = popHandleableErrors(errorConfig, remaining);\n\n\t\t\t\tfor (var type in errors) {\n\t\t\t\t\terrorConfig.handler[type](errors[type]);\n\t\t\t\t}\n\n\t\t\t\tif (remaining.length)\n\t\t\t\t\treturn Promise.reject(error);\n\t\t\t\t\n\t\t\t\treturn Promise.reject({ handled: true, ...error });\n\t\t\t}\n\t\t);\n\n\t\tapp.config.globalProperties.$api = {\n\t\t\tgetUri(url) {\n\t\t\t\treturn fhcApiAxios.getUri({url});\n\t\t\t},\n\t\t\tget(form, uri, params, config) {\n\t\t\t\t[uri, params, config] = get_config(form, uri, params, config);\n\t\t\t\tif (params) {\n\t\t\t\t\tif (config)\n\t\t\t\t\t\tconfig.params = params;\n\t\t\t\t\telse\n\t\t\t\t\t\tconfig = {params};\n\t\t\t\t}\n\t\t\t\treturn fhcApiAxios.get(uri, config);\n\t\t\t},\n\t\t\tpost(form, uri, data, config) {\n\t\t\t\t[uri, data, config] = get_config(form, uri, data, config);\n\t\t\t\treturn fhcApiAxios.post(uri, data, config);\n\t\t\t},\n\t\t\tcall(factory, configoverwrite, form) {\n\t\t\t\tif (Array.isArray(factory)) {\n\t\t\t\t\tconst $api = app.config.globalProperties.$api;\n\n\t\t\t\t\treturn Promise\n\t\t\t\t\t\t.allSettled(factory.map((config, index) => {\n\t\t\t\t\t\t\tif (!Array.isArray(config))\n\t\t\t\t\t\t\t\tconfig = ['#' + index, config];\n\t\t\t\t\t\t\treturn $api.call(config[1], {\n\t\t\t\t\t\t\t\terrorHeader: config[0],\n\t\t\t\t\t\t\t\terrorHandling: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}))\n\t\t\t\t\t\t.then(result => {\n\t\t\t\t\t\t\tconst [ , , config ] = get_config(form, undefined, undefined, configoverwrite || {});\n\t\t\t\t\t\t\tconst errorConfig = get_error_handler(config);\n\n\t\t\t\t\t\t\tif (!errorConfig.success && !errorConfig.fail) {\n\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst typedErrors = {};\n\t\t\t\t\t\t\tfor (var res of result) {\n\t\t\t\t\t\t\t\tconst [ allowed, item ] = res.status === 'fulfilled'\n\t\t\t\t\t\t\t\t\t? [ errorConfig.success, res.value ]\n\t\t\t\t\t\t\t\t\t: [ errorConfig.fail, res.reason ];\n\t\t\t\t\t\t\t\tif (!allowed)\n\t\t\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t\t\tconst errors = popHandleableErrors(errorConfig, get_error_list(item));\n\n\t\t\t\t\t\t\t\tfor (var type in errors) {\n\t\t\t\t\t\t\t\t\tif (!typedErrors[type])\n\t\t\t\t\t\t\t\t\t\ttypedErrors[type] = {\n\t\t\t\t\t\t\t\t\t\t\t[item.config.errorHeader]: errors[type]\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\ttypedErrors[type][item.config.errorHeader] = errors[type];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tfor (var errType in typedErrors) {\n\t\t\t\t\t\t\t\terrorConfig.handler[errType](typedErrors[errType]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tlet { method, url, params, config } = factory;\n\t\t\t\tif (configoverwrite !== undefined) {\n\t\t\t\t\tconfig = configoverwrite;\n\t\t\t\t}\n\t\t\t\tif (!method) {\n\t\t\t\t\tmethod = 'get';\n\t\t\t\t}\n\t\t\t\tif (method.toLowerCase)\n\t\t\t\t\tmethod = method.toLowerCase();\n\t\t\t\tif (method == 'get') {\n\t\t\t\t\treturn this.get(form, url, params, config);\n\t\t\t\t} else if (method == 'post') {\n\t\t\t\t\treturn this.post(form, url, params, config);\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(\"FhcApi: method not allowed:\", method);\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetErrorHandler(config) {\n\t\t\t\treturn get_error_handler(config);\n\t\t\t}\n\t\t};\n\n\t\tapp.provide('$api', app.config.globalProperties.$api);\n\t}\n};\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tloadCategory(category) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/phrasen/loadModule/' + category\n\t\t};\n\t},\n\tsetLanguage(categories,language) {\n\t\tconst params = {categories, language}\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/phrasen/setLanguage',\n\t\t\tparams\n\t\t};\n\t},\n\tgetLanguage() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/phrasen/getLanguage'\n\t\t};\n\t},\n\tgetActiveDbLanguages() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/phrasen/getAllLanguages'\n\t\t};\n\t}\n};","import OldFhcApi from '../plugin/OldFhcApi.js'; // TODO(chris): remove at some point\nimport PluginsApi from './Api.js';\nimport ApiPhrasen from '../api/factory/phrasen.js';\n\nconst categories = Vue.reactive({});\nconst loadingModules = {};\nlet user_language = Vue.ref(FHC_JS_DATA_STORAGE_OBJECT.user_language);\nexport let user_locale = Vue.computed(()=>{\n\tif(!user_language.value) return null;\n\treturn FHC_JS_DATA_STORAGE_OBJECT.server_languages.find(language => language.sprache == user_language.value).LC_Time;\n});\n\nfunction extractCategory(obj, category) {\n\treturn obj.filter(e => e.category == category).reduce((res, elem) => {\n\t\tif (!res[elem.phrase])\n\t\t\tres[elem.phrase] = elem.text;\n\t\treturn res;\n\t}, {});\n}\nfunction getValueForLoadedPhrase(category, phrase, params) {\n\tlet result = categories[category][phrase];\n\tif (!result)\n\t\treturn '<< PHRASE ' + phrase + '>>';\n\tif (params)\n\t\tresult = result.replace(/\\{([^}]*)\\}/g, (match, p1) => params[p1] === undefined ? match : params[p1]);\n\treturn result;\n}\n\nconst phrasen = {\n\tuser_language,\n\tuser_locale,\n\tsetLanguage(language) {\n\t\tconst catArray = Object.keys(categories)\n\t\treturn this.config.globalProperties.$api\n\t\t\t.call(ApiPhrasen.setLanguage(catArray, language))\n\t\t\t.then(res => {\n\t\t\t\tres.data.forEach(row => {\n\t\t\t\t\tcategories[row.category][row.phrase] = row.text\n\t\t\t\t})\n\n\t\t\t\t// update the reactive data that holds the current active user_language\n\t\t\t\tuser_language.value = language;\n\n\t\t\t\treturn res\n\t\t\t})\n\t},\n\tloadCategory(category) {\n\t\tif (Array.isArray(category))\n\t\t\treturn Promise.all(category.map(this.config.globalProperties\n\t\t\t\t.$p.loadCategory));\n\n\t\tif (!loadingModules[category])\n\t\t\tloadingModules[category] = this.config.globalProperties.$api\n\t\t\t\t.call(ApiPhrasen.loadCategory(category))\n\t\t\t\t.then(res => res?.data ? extractCategory(res.data, category) : {})\n\t\t\t\t.then(res => {\n\t\t\t\t\tcategories[category] = res;\n\t\t\t\t});\n\t\treturn loadingModules[category];\n\t},\n\tt_ref(category, phrase, params) {\n\t\tconsole.warn('deprecated');\n\t\treturn Vue.computed(() => this.t(category, phrase, params));\n\t},\n\tt(category, phrase, params) {\n\t\tif (params === undefined && (\n\t\t\t(Array.isArray(category) && category.length == 2) ||\n\t\t\t(category.split && category.split('/').length == 2))\n\t\t\t) {\n\t\t\tparams = phrase;\n\t\t\t[category, phrase] = category.split ? category.split('/') : category;\n\t\t}\n\t\tif (phrase === undefined) {\n\t\t\tconsole.error('invalid input', category, phrase, params);\n\t\t\treturn '';\n\t\t}\n\t\tlet val = Vue.computed(() => {\n\t\t\tif (!categories[category])\n\t\t\t\treturn '';\n\t\t\treturn getValueForLoadedPhrase(category, phrase, params);\n\t\t});\n\t\tif (!categories[category])\n\t\t\tthis.loadCategory(category);\n\t\treturn val.value;\n\t}\n};\n\nexport default {\n\tinstall(app, options) {\n\t\tif (!app.config.globalProperties.$fhcApi)\n\t\t\tapp.use(OldFhcApi); // TODO(chris): remove at some point\n\t\tif (!app.config.globalProperties.$api)\n\t\t\tapp.use(PluginsApi);\n\t\tapp.config.globalProperties.$p = {\n\t\t\tt: phrasen.t,\n\t\t\tloadCategory: cat => phrasen.loadCategory.call(app, cat),\n\t\t\tsetLanguage: lang => phrasen.setLanguage.call(app, lang),\n\t\t\tuser_language: user_language,\n\t\t\tuser_locale,\n\t\t\tt_ref: phrasen.t_ref\n\t\t};\n\t\tapp.provide('$p', app.config.globalProperties.$p);\n\t}\n}","import ProfilUpdateView from \"../../components/Cis/ProfilUpdate/ProfilUpdateView.js\";\nimport PluginsPhrasen from \"../../plugins/Phrasen.js\";\n\nimport ApiProfilUpdate from '../../api/factory/profilUpdate.js';\n\n// TODO: sobald in verwendung den vue router pfad zu ProfilUpdateView definieren und diese app in component auslagern\nconst app = Vue.createApp({\n name: 'ProfilUpdateRequestsApp',\n components: {\n [\"profil-update-view\"]: ProfilUpdateView,\n },\n\n data() {\n return {\n profilUpdateStates: null,\n };\n },\n provide() {\n return {\n profilUpdateStates: Vue.computed(() =>\n this.profilUpdateStates ? this.profilUpdateStates : false\n ),\n };\n },\n methods: {},\n created() {\n this.$api\n .call(ApiProfilUpdate.getStatus())\n .then((response) => {\n this.profilUpdateStates = response.data;\n })\n .catch((error) => {\n console.error(error);\n });\n },\n});\napp.use(PluginsPhrasen).mount(\"#content\");"],"names":["CoreFetchCmpt","emits","props","refresh","type","Boolean","apiFunction","required","Function","apiFunctionParameters","watch","newValue","oldValue","this","fetchData","data","loading","error","errorMessage","created","methods","apiFunctionResult","Promise","then","successHandler","catch","errorHandler","finally","finallyHandler","setError","response","$emit","undefined","retval","message","template","FILTER_COMPONENT_NEW_FILTER","FilterConfig","filters","Array","default","columns","fields","switchFilter","applyFilterConfig","saveCustomFilter","currentFields","computed","types","reduce","a","c","toLowerCase","indexOf","name","n","evt","currentTarget","value","filteredFields","filter","el","condition","length","alert","addField","push","removeField","index","splice","FilterColumns","selected","names","Object","hide","show","selectedFields","toggle","field","DEFAULT_ICONS","jsonLines","xlsx","pdf","html","json","csv","DEFAULT_LABELS","TableDownload","tabulator","config","String","iconClass","currentConfig","prototype","toString","call","split","isArray","newConfig","k","v","stringToFileFormatter","icon","label","formatter","map","validateFileFormatter","input","lcInput","includes","window","XLSX","jspdf","jsPDF","autoTable","download","file","options","elementDataMap","WeakMap","collapseAutoClose","mounted","binding","open","set","contains","target","collapse","bootstrap","Collapse","getInstance","addEventListener","document","get","beforeUnmount","removeEventListener","collapsibleAutoHideFunc","Tabulator","extendModule","fitDataStretchFrozen","forced","colsWidth","tableWidth","table","rowManager","element","clientWidth","gap","lastCol","forEach","column","i","widthFixed","reinitializeWidth","responsiveLayout","modules","responsive","visible","definition","frozen","getWidth","modExists","setWidth","update","ApiFilter","wsParams","method","url","params","filterUniqueId","filterType","customFilterName","removeCustomFilter","filterId","applyFilterFields","filterFields","addFilterField","filterField","removeFilterField","getFilterById","getFilter","_uuid","CoreFilterCmpt","components","directives","onNwNewEntry","title","description","sideMenu","tabulatorOptions","tabulatorEvents","tableOnly","noColumnFilter","reload","reloadBtnInfotext","newBtnShow","newBtnClass","newBtnDisabled","newBtnLabel","uniqueId","idField","parentIdField","countOnly","useSelectionSpan","uuid","filterName","filterActive","dataset","datasetMetadata","availableFilters","selectedFilter","fetchCmptRefresh","fetchCmptApiFunction","fetchCmptApiFunctionParams","fetchCmptDataFetched","fetchResult","tableBuilt","tabulatorHasSelector","selectedData","persistence","sort","headerFilter","group","page","notSelectedFields","x","filteredData","JSON","parse","stringify","filteredColumns","hasOwnProperty","col","resizable","fieldIdsForVisibilty","getColumns","def","getDefinition","getField","fieldNames","res","idExtra","columnsForFilter","filterTitles","reloadTable","setData","initTabulator","placeholder","$p","loadCategory","t","resolve","location","hash","slice","resolvePromiseFunc","setRenderData","startFetchCmpt","$api","layout","movableColumns","columnDefaults","tooltip","height","minHeight","maxHeight","selectable","dataTree","$refs","on","event","handler","toDelete","childIdx","child","appendChild","counter","cols","isVisible","_setHeaderFilter","updateTabulator","_updateTabulator","setColumns","clearFilters","getHeaderFilters","setHeaderFilterValue","clearFilter","render","j","setSideMenu","setDropDownMenu","personalFilters","filtersArray","filtersCount","link","id","filter_id","desc","onClickCall","handlerGetFilterById","subscriptDescription","subscriptLinkClass","subscriptLinkValue","onClickSubscriptCall","handlerRemoveCustomFilter","children","option","dataFetchedCallback","FHC_JS_DATA_STORAGE_OBJECT","called_path","called_method","handlerSaveCustomFilter","getAttribute","substring","attr","parentId","parentIdx","parent","_children","beforeCreate","$props","BsModal","modal","fullscreen","backdrop","validator","focus","keyboard","noCloseBtn","dialogClass","headerClass","bodyClass","footerClass","allowFullscreenExpand","dispose","handleUpdate","relatedTarget","toggleFullscreen","Modal","popup","body","footer","slots","includedPrimevue","primevue","reject","instance","Vue","createApp","setup","h","class","ref","unmount","result","unmounted","wrapper","parentElement","removeChild","createElement","use","zIndex","overlay","Phrasen","mount","Kontakt","view","Adresse","withZustelladresse","ApiProfilUpdate","getStatus","getTopic","acceptProfilRequest","profil_update_id","uid","status_message","topic","requested_change","denyProfilRequest","insertFile","dms","replace","updateProfilbild","getProfilUpdateWithPermission","encodeURIComponent","getProfilRequestFiles","requestID","selectProfilRequest","insertProfilRequest","payload","fileID","updateProfilRequest","ID","deleteProfilRequest","AcceptDenyUpdate","inject","mixins","setLoading","onHideBsModal","onHiddenBsModal","onHidePreventedBsModal","onShowBsModal","onShownBsModal","info","files","getProfilStatus","async","app_root","ci_router","dms_id","getDocumentLink","handleRequest","e","$fhcAlert","handleSystemError","getComponentView","attachment_id","modalContainer","bind","Loading","timeout","Number","state","setTimeout","clearTimeout","dateFilter","cell","onRendered","success","div","initialValue","val","getValue","start","Date","end","PrimevueCalendar","calendar","console","dates","headerValue","rowValue","rowDate","startDate","endDate","setHours","toDateString","singleDate","ProfilUpdateView","categoryLoaded","showModal","modalData","profilUpdateEvents","handleDataProcessed","profilUpdateOptions","ajaxURL","ajaxRequestFunc","ajaxParams","profilUpdateStates","ajaxResponse","ele1","ele2","sortProfilUpdates","thisPointer","status","insertamum","reverse","join","statusMessage","getData","statusDate","status_timestamp","classList","add","statusDateEl","innerHTML","statusMessageEl","rowContextMenu","component","menu","action","UpdatesTable","separator","showAcceptDenyModal","minWidth","headerFilterParams","valuesLookup","listOnEmpty","autocomplete","headerFilterFunc","formatterParams","datetimeFormatterParams","hozAlign","para","iconClasses","getRow","headerSort","node","DOMParser","parseFromString","firstChild","querySelector","denyProfilUpdate","acceptProfilUpdate","hideAcceptDenyModal","AcceptDenyModal","nextTick","updateData","sessionStorage","setItem","arrayRowData","row","inputFormat","outputFormat","invalidPlaceholder","timezone","loadingModalRef","getItem","search","searchsettings","$fhcApi","post","searchAdvanced","searchdummy","phrasen$1","category","setLanguage","categories","language","getLanguage","getActiveDbLanguages","navigation","getHeader","navigation_page","getMenu","filter$1","studstatus","abmeldung","getDetails","antrag_id","prestudent_id","create","stdsem","grund","studiensemester","errorHandling","cancel","allSettled","antrag","studierendenantrag_id","errorHeader","unterbrechung","datum_wiedereinstieg","attachment","wiederholung","getLvs","saveLvs","forbiddenLvs","mandatoryLvs","leitung","getStgs","getAntraege","getHistory","getPrestudents","query","signal","approve","reopen","pause","unpause","object","approveObjection","denyObjection","profil","getView","fotoSperre","isStudent","isMitarbeiter","getZustellAdresse","getZustellKontakt","getGemeinden","nation","zip","getAllNationen","profilUpdate","lvPlan","getRoomInfo","ort_kurzbz","start_date","end_date","getStunden","getOrtReservierungen","getLvPlanReservierungen","getLehreinheitStudiensemester","lehreinheit_id","studiensemesterDateInterval","date","LvPlanEvents","lv_id","stv","verband","favorites","students","studiensemester_kurzbz","getUri","prestudent","person","person_id","relative_path","getStg","setStg","studiengang_kz","konto","tabulatorConfig","self","modelValue","only_open","studiengang_kz_intern","stg_kz","checkDoubles","form","confirmErrorHandler","insert","edit","delete","buchungsnr","getBuchungstypen","getGruppen","deleteGroup","kontakt","getAdressen","addNewAddress","loadAddress","address_id","updateAddress","deleteAddress","getPlaces","plz","getFirmen","searchString","getNations","getAdressentypen","getBankverbindung","addNewBankverbindung","loadBankverbindung","bankverbindung_id","updateBankverbindung","deleteBankverbindung","getKontakte","addNewContact","loadContact","kontakt_id","updateContact","deleteContact","getStandorteByFirma","getKontakttypen","updatePrestudent","getBezeichnungZGV","getBezeichnungMZgv","getBezeichnungDZgv","getAusbildung","getAufmerksamdurch","getBerufstaetigkeit","getTypenStg","getBisstandort","getHistoryPrestudent","getMaxSem","studiengang_kzs","advanceStatus","status_kurzbz","ausbildungssemester","confirmStatus","isLastStatus","deleteStatus","getLastBismeldestichtag","getHistoryPrestudents","insertStatus","loadStatus","updateStatus","getStudienplaene","getStudiengang","getStatusgruende","getStati","addStudent","changeStatus","getStatusarray","details","save","exam","getPruefungen","loadPruefung","pruefung_id","getTypenPruefungen","getAllLehreinheiten","getLvsByStudent","getLvsandLesByStudent","semester","getLvsAndMas","getMitarbeiterLv","getNoten","checkZeugnisnoteLv","addPruefung","updatePruefung","deletePruefung","abschlusspruefung","getAbschlusspruefung","addNewAbschlusspruefung","loadAbschlusspruefung","updateAbschlusspruefung","deleteAbschlusspruefung","getTypenAbschlusspruefung","getTypenAntritte","getBeurteilungen","getAkadGrade","getTypStudiengang","getMitarbeiter","getPruefer","checkForExistingExams","uids","grades","list","getCertificate","getTeacherProposal","getRepeaterGrades","updateCertificate","lehrveranstaltung_id","student_uid","note","lehrveranstaltung_bezeichnung","deleteCertificate","copyTeacherProposalToCertificate","copyRepeaterGradeToCertificate","studierendenantrag_lehrveranstaltung_id","lv_bezeichnung","getGradeFromPoints","points","manualErrorHandling","mobility","getMobilitaeten","getProgramsMobility","addNewMobility","loadMobility","bisio_id","updateMobility","deleteMobility","getLVList","getPurposes","getSupports","getListPurposes","getListSupports","deleteMobilityPurpose","addMobilityPurpose","deleteMobilitySupport","addMobilitySupport","archiv","getArchivVorlagen","archive","archiveSigned","akte_id","documents","getDocumentsUnaccepted","getDocumentsAccepted","deleteZuordnung","dokument_kurzbz","createZuordnung","loadAkte","getDoktypen","updateFile","deleteFile","uploadFile","exemptions","getAnrechnungen","getLehrveranstaltungen","getBegruendungen","getLvsKompatibel","getLektoren","addNewAnrechnung","loadAnrechnung","anrechnung_id","editAnrechnung","deleteAnrechnung","jointstudies","getStudies","getTypenMobility","getStudiensemester","getStudyprograms","getListPartner","getStatiPrestudent","loadStudy","insertStudy","updateStudy","deleteStudy","courselist","getCourselist","group_consecutiveHours","dbStundenplanTable","configStudent","configStudents","notiz","getNotizen","getUid","addNewNotiz","formData","loadNotiz","notiz_id","loadDokumente","deleteNotiz","type_id","updateNotiz","isBerechtigt","betriebsmittel","getAllBetriebsmittel","addNewBetriebsmittel","loadBetriebsmittel","betriebsmittelperson_id","updateBetriebsmittel","deleteBetriebsmittel","getTypenBetriebsmittel","loadInventarliste","checkperson","updatePersonUnrulyStatus","unrulyParam","unruly","filterPerson","base","axios","ort","getContentID","ort_kurbz","getRooms","datum","von","bis","typ","personenanzahl","getRoomTypes","cms","content","content_id","version","sprache","sichtbar","getNews","page_size","news","limit","getNewsRowCount","getNewsExtra","lehre","getStudentenMail","getLvInfo","getStudentPruefungen","getStudentProjektarbeiten","getStudentProjektabgaben","detail","projektarbeit_id","postStudentProjektarbeitEndupload","Headers","postStudentProjektarbeitZwischenabgabe","getStudentProjektarbeitAbgabeFile","paabgabe_id","getMitarbeiterProjektarbeiten","all","postProjektarbeitAbgabe","termin","paabgabetyp_kurzbz","bezeichnung","fixtermin","insertvon","kurzbz","deleteProjektarbeitAbgabe","postSerientermin","projektarbeit_ids","fetchDeadlines","addons","getLvMenu","lvid","messages","getMessages","size","getVorlagen","getMsgVarsLoggedInUser","getMessageVarsPerson","getMsgVarsPrestudent","getPersonId","getDataVorlage","vorlage_kurzbz","getNameOfDefaultRecipient","getPreviewText","getReplyData","messageId","sendMessageFromModalContext","sendMessage","deleteMessage","vorlagen","getVorlagenByLoggedInUser","studium","getAllStudienSemester","studiengang","studienplan","getStudiengaengeForStudienSemester","getStudienplaeneBySemester","getLvPlanForStudiensemester","getLvEvaluierungInfo","FhcApiFactory","phrasen","dashboard","getViewData","bookmark","getBookmarks","bookmark_id","tag","ampeln","confirm","ampel_id","studiengangInformation","getStudiengangByKz","authinfo","getAuthUID","getAuthInfo","getAll","OldFhcApi","install","app","globalProperties","factory","warn","addEndpoints","_get_config","uri","TypeError","clearValidation","setFeedback","_clean_return_value","meta","fhcApiAxios","baseURL","interceptors","request","FormData","values","every","item","FileList","File","newData","entries","nd","key","append","jsondata","errors","err","_defaultErrorHandlers","code","handled","alertDefault","responseURL","alertError","validation","apply","general","php","filename","line","backtrace","function","severity","alertSystemError","exception","db","heading","sql","auth","controller","required_permissions","FhcApiFactoryWrapper","constructor","factorypart","root","defineProperty","noWarn","keys","provide","CORE_REST_CLIENT_ERROR","CORE_REST_CLIENT_RETVAL","CoreRESTClient","wsURL","wsParameters","axiosParameters","_axiosCall","isSuccess","isError","hasData","trim","getError","getErrorCode","_generateRouterURI","_printDebug","parameters","errorThrown","axiosCallObj","prop","helperAppContainer","helperApp","PvToast","PvConfirm","mailToUrl","slotProps","systemerror_mailto","openMessagecard","getOrCreateInstance","showmaillink","PvConfig","PvConfirmationService","helperAppInstance","FhcAlert","FhcPhrasen","alertSuccess","toast","summary","life","alertInfo","alertWarning","confirmDelete","$confirm","require","header","acceptLabel","acceptClass","rejectLabel","rejectClass","accept","sticky","alertMultiple","messageArray","errMsg","toUpperCase","stack","handleSystemMessage","msg","resetFormValidation","Event","querySelectorAll","dispatchEvent","handleFormValidation","nodeType","Node","ELEMENT_NODE","notFound","CustomEvent","arr","PluginsApi","_send_array_or_object","func","errs","DEFAULT_ERROR_CONFIG","fail","combine","_format_toast","_default","msgs","b","n_errors","get_config","clean_return_value","_merge_error_config","get_error_handler","formHandler","get_error_list","popHandleableErrors","copy","pop","newType","newTypeCombinesType","newTypeHasHandler","errorConfig","remaining","configoverwrite","typedErrors","allowed","reason","errType","getErrorHandler","ApiPhrasen","reactive","loadingModules","user_language","user_locale","server_languages","find","LC_Time","catArray","phrase","text","obj","elem","extractCategory","t_ref","match","p1","getValueForLoadedPhrase","PluginsPhrasen","cat","lang"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ProfilUpdateRequests.js","sources":["../../../../js/components/Fetch.js","../../../../js/components/filter/Filter/Config.js","../../../../js/components/filter/Filter/Columns.js","../../../../js/components/filter/Table/Download.js","../../../../js/directives/collapseAutoClose.js","../../../../js/tabulator/layouts/fitDataStretchFrozen.js","../../../../js/api/factory/filter.js","../../../../js/components/filter/Filter.js","../../../../js/components/Bootstrap/Modal.js","../../../../js/components/Cis/Profil/ProfilComponents/Kontakt.js","../../../../js/components/Cis/Profil/ProfilComponents/Adresse.js","../../../../js/api/factory/profilUpdate.js","../../../../js/components/Cis/ProfilUpdate/AcceptDenyUpdate.js","../../../../js/components/Loader.js","../../../../js/tabulator/filters/Dates.js","../../../../js/components/Cis/ProfilUpdate/ProfilUpdateView.js","../../../../js/api/search.js","../../../../js/api/phrasen.js","../../../../js/api/navigation.js","../../../../js/api/filter.js","../../../../js/api/studstatus.js","../../../../js/api/profil.js","../../../../js/api/profilUpdate.js","../../../../js/api/lvPlan.js","../../../../js/api/stv.js","../../../../js/api/stv/verband.js","../../../../js/api/stv/students.js","../../../../js/api/stv/filter.js","../../../../js/api/stv/konto.js","../../../../js/api/stv/group.js","../../../../js/api/stv/kontakt.js","../../../../js/api/stv/prestudent.js","../../../../js/api/stv/status.js","../../../../js/api/stv/details.js","../../../../js/api/stv/exam.js","../../../../js/api/stv/abschlusspruefung.js","../../../../js/api/stv/grades.js","../../../../js/api/stv/mobility.js","../../../../js/api/stv/archiv.js","../../../../js/api/stv/documents.js","../../../../js/api/stv/exemptions.js","../../../../js/api/stv/jointstudies.js","../../../../js/api/stv/courselist.js","../../../../js/api/notiz.js","../../../../js/api/notiz/person.js","../../../../js/api/betriebsmittel.js","../../../../js/api/betriebsmittel/person.js","../../../../js/api/checkperson.js","../../../../js/api/ort.js","../../../../js/api/cms.js","../../../../js/api/lehre.js","../../../../js/api/addons.js","../../../../js/api/messages.js","../../../../js/api/messages/person.js","../../../../js/api/vorlagen.js","../../../../js/api/studium.js","../../../../js/api/fhcapifactory.js","../../../../js/api/dashboard.js","../../../../js/api/bookmark.js","../../../../js/api/ampeln.js","../../../../js/api/studiengang.js","../../../../js/api/menu.js","../../../../js/api/authinfo.js","../../../../js/api/language.js","../../../../js/plugin/OldFhcApi.js","../../../../js/RESTClient.js","../../../../js/plugins/FhcAlert.js","../../../../js/plugins/Api.js","../../../../js/api/factory/phrasen.js","../../../../js/plugins/Phrasen.js","../../../../js/apps/Cis/ProfilUpdateRequests.js"],"sourcesContent":["/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n *\n */\nexport const CoreFetchCmpt = {\n\temits: ['dataFetched'], // this component can emit the event dataFetched that it is catched by this component itself\n\tprops: {\n\t\trefresh: { // to refresh this component\n\t\t\ttype: Boolean\n\t\t},\n\t\tapiFunction: { // the function to call, must return a Promise\n\t\t\trequired: true,\n\t\t\ttype: Function\n\t\t},\n\t\tapiFunctionParameters: {} // parameters for the apiFunction, type mixed, optional\n\t},\n\twatch: {\n\t\t/**\n\t\t * If the refresh property is changed then call fetchData\n\t\t */\n\t\trefresh: function (newValue, oldValue) {\n\t\t\tthis.fetchData();\n\t\t}\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tloading: false, // if in loading or not\n\t\t\terror: false, // if an error occurred while loading data\n\t\t\terrorMessage: null // the error message\n\t\t};\n\t},\n\tcreated: function() {\n\t\tthis.fetchData();\n\t},\n\tmethods: {\n\t\t/**\n\t\t *\n\t\t */\n\t\tfetchData: function() {\n\t\t\tthis.loading = true; // loader started\n\t\t\tthis.error = false;\n\t\t\tthis.errorMessage = null;\n\n\t\t\t// Checks if the apifunction is a callable function\n\t\t\tif (typeof this.apiFunction == \"function\")\n\t\t\t{\n\t\t\t\t// Call the function stored in apiFunction\n\t \t\tlet apiFunctionResult = this.apiFunction(this.apiFunctionParameters);\n\n\t\t\t\t// It is expected that the function returns a Promise\n\t\t\t\tif (apiFunctionResult instanceof Promise)\n\t\t\t\t{\n\t\t\t\t\tapiFunctionResult\n\t\t\t\t\t\t.then(this.successHandler) // on success\n\t\t\t\t\t\t.catch(this.errorHandler) // on error\n\t\t\t\t\t\t.finally(this.finallyHandler); // finally in any case\n\t\t\t\t}\n\t\t\t\telse // otherwise display an error\n\t\t\t\t{\n\t\t\t\t\tthis.setError(\"The called apiFunction does not return a Promise\");\n\t\t\t\t}\n\t\t\t}\n\t\t\telse // otherwise display an error\n\t\t\t{\n\t\t\t\tthis.setError(\"Property apiFunction is not a function\");\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tsetError: function(errorMessage) {\n\t\t\tthis.loading = false; // loading ended\n\t\t\tthis.error = true; // error occurred\n\t\t\tthis.errorMessage = errorMessage; // save the error message\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tsuccessHandler: function(response) {\n\t\t\tthis.$emit('dataFetched', response ? response.data : undefined); // trigger the event dataFetched\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\terrorHandler: function(error) {\n\t\t\tif (error.response?.data?.retval)\n\t\t\t\tthis.setError(error.response.data.retval);\n\t\t\telse if (error.data?.message)\n\t\t\t\tthis.setError(error.data.message);\n\t\t\telse\n\t\t\t\tthis.setError(error.message);\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tfinallyHandler: function() {\n\t\t\tthis.loading = false; // loading ended\n\t\t}\n\t},\n\ttemplate: `\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t`\n};\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nconst FILTER_COMPONENT_NEW_FILTER = 'Filter Component New Filter';\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\tfilters: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tfields: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t}\n\t},\n\temits: {\n\t\tswitchFilter: ['filterId'],\n\t\tapplyFilterConfig: ['filterFields'],\n\t\tsaveCustomFilter: ['customFilterName']\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tcurrentFields: []\n\t\t};\n\t},\n\tcomputed: {\n\t\ttypes() {\n\t\t\treturn this.columns.reduce((a,c) => {\n\t\t\t\tlet type = c.type.toLowerCase();\n\t\t\t\tif (type.indexOf('int') >= 0)\n\t\t\t\t\ta[c.name] = 'Numeric';\n\t\t\t\telse if (\n\t\t\t\t\ttype.indexOf('varchar') >= 0 || \n\t\t\t\t\ttype.indexOf('text') >= 0 || \n\t\t\t\t\ttype.indexOf('bpchar') >= 0\n\t\t\t\t)\n\t\t\t\t\ta[c.name] = 'Text';\n\t\t\t\telse if (\n\t\t\t\t\ttype.indexOf('timestamp') >= 0 || \n\t\t\t\t\ttype.indexOf('date') >= 0\n\t\t\t\t)\n\t\t\t\t\ta[c.name] = 'Date';\n\t\t\t\telse\n\t\t\t\t\ta[c.name] = '';\n\t\t\t\treturn a;\n\t\t\t}, {});\n\t\t}\n\t},\n\twatch: {\n\t\tfields(n) {\n\t\t\tthis.currentFields = n;\n\t\t}\n\t},\n\tmethods: {\n\t\tswitchFilter(evt) {\n\t\t\tthis.$emit('switchFilter', evt.currentTarget.value);\n\t\t},\n\t\tapplyFilterConfig() {\n\t\t\tconst filteredFields = this.currentFields.filter(el => el.name != FILTER_COMPONENT_NEW_FILTER);\n\t\t\tif (filteredFields.filter(el => el.condition == \"\").length)\n\t\t\t\talert(\"Please fill all the filter options\");\n\t\t\telse\n\t\t\t\tthis.$emit('applyFilterConfig', filteredFields);\n\t\t},\n\t\taddField(evt) {\n\t\t\tthis.currentFields.push({\n\t\t\t\tname: FILTER_COMPONENT_NEW_FILTER\n\t\t\t});\n\t\t},\n\t\tremoveField(index) {\n\t\t\tthis.currentFields.splice(index, 1);\n\t\t}\n\t},\n\ttemplate: `\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t`\n};\n\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\tfields: Array,\n\t\tselected: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tnames: {\n\t\t\ttype: Object,\n\t\t\tdefault: {}\n\t\t}\n\t},\n\temits: {\n\t\thide: ['fieldName'],\n\t\tshow: ['fieldName']\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tselectedFields: []\n\t\t};\n\t},\n\twatch: {\n\t\tselected(n) {\n\t\t\tthis.selectedFields = n;\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggle(field) {\n\t\t\tif (this.selectedFields.indexOf(field) != -1)\n\t\t\t{\n\t\t\t\tthis.selectedFields.splice(this.selectedFields.indexOf(field), 1);\n\t\t\t\tthis.$emit('hide', field);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.selectedFields.push(field);\n\t\t\t\tthis.$emit('show', field);\n\t\t\t}\n\t\t}\n\t},\n\ttemplate: `\n\t
\n\t`\n};\n\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nconst DEFAULT_ICONS = {\n\tjsonLines: 'fa-file-lines',\n\txlsx: 'fa-file-excel',\n\tpdf: 'fa-file-pdf',\n\thtml: 'fa-file-code',\n\tjson: 'fa-file',\n\tcsv: 'fa-file-csv'\n};\nconst DEFAULT_LABELS = {\n\tjsonLines: 'Download as JSONLINES',\n\txlsx: 'Download as XLSX',\n\tpdf: 'Download as PDF',\n\thtml: 'Download as HTML',\n\tjson: 'Download as JSON',\n\tcsv: 'Download as CSV '\n};\n\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\ttabulator: Object,\n\t\tconfig: {\n\t\t\ttype: [Boolean, String, Function, Array, Object],\n\t\t\tdefault: false\n\t\t},\n\t\ticonClass: [String, Array, Object]\n\t},\n\tcomputed: {\n\t\tcurrentConfig() {\n\t\t\tif (!this.config)\n\t\t\t\treturn false;\n\n\t\t\tlet config = this.config;\n\n\t\t\tif (config instanceof Function)\n\t\t\t\treturn [config];\n\n\t\t\tif (config === null)\n\t\t\t\treturn [];\n\n\t\t\tif (this.config === true)\n\t\t\t\tconfig = ['csv'];\n\n\t\t\tif (Object.prototype.toString.call(config) === \"[object String]\")\n\t\t\t\tconfig = config.split(',');\n\n\t\t\tif (typeof config === 'object' && !Array.isArray(config)) {\n\t\t\t\tlet newConfig = [];\n\t\t\t\tfor (var k in config) {\n\t\t\t\t\tvar v = config[k], type;\n\t\t\t\t\t\n\t\t\t\t\tif (!v)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\n\t\t\t\t\tif (Object.prototype.toString.call(v) === \"[object String]\") {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(v);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\tlabel: v === k ? DEFAULT_LABELS[type] : k,\n\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\t\tif(type !== null) {\n\t\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\t\tlabel: v,\n\t\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\talert('neither ' + k + ' nor ' + v + ' are supported download file types');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (typeof v === 'object' && !Array.isArray(v)) {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tif (v.formatter === undefined)\n\t\t\t\t\t\t\t\tv.formatter = type;\n\t\t\t\t\t\t\tif (v.label === undefined)\n\t\t\t\t\t\t\t\tv.label = DEFAULT_LABELS[type];\n\t\t\t\t\t\t\tif (v.icon === undefined)\n\t\t\t\t\t\t\t\tv.icon = DEFAULT_ICONS[type];\n\t\t\t\t\t\t\tnewConfig.push(v);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (v.label === undefined)\n\t\t\t\t\t\t\t\tv.label = k;\n\t\t\t\t\t\t\tnewConfig.push(v);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\tlabel: DEFAULT_LABELS[type],\n\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\talert(k + ' is not a supported download file type');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconfig = newConfig;\n\t\t\t}\n\n\t\t\tif (Array.isArray(config))\n\t\t\t{\n\t\t\t\tconfig = config.map(el => {\n\t\t\t\t\tif (Object.prototype.toString.call(el) === \"[object String]\") {\n\t\t\t\t\t\tlet formatter = this.stringToFileFormatter(el);\n\t\t\t\t\t\tif (formatter === null)\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[formatter],\n\t\t\t\t\t\t\tlabel: DEFAULT_LABELS[formatter],\n\t\t\t\t\t\t\tformatter\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (el instanceof Function)\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tformatter: el\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (typeof el === 'object' && !Array.isArray(el) && el !== null) {\n\t\t\t\t\t\tif (el.formatter instanceof Function)\n\t\t\t\t\t\t\treturn el;\n\t\t\t\t\t\tif (this.validateFileFormatter(el.formatter))\n\t\t\t\t\t\t\treturn el;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null;\n\t\t\t\t}).filter(el => el !== null);\n\n\t\t\t\tif (config.length < 2)\n\t\t\t\t\treturn config;\n\n\t\t\t\tif (config.filter(el => el.label || el.icon).length == config.length)\n\t\t\t\t\treturn config;\n\n\t\t\t\talert('Config not valid');\n\t\t\t}\n\n\t\t\treturn [];\n\t\t}\n\t},\n\tmethods: {\n\t\tstringToFileFormatter(input) {\n\t\t\tlet lcInput = input.toLowerCase();\n\t\t\t\n\t\t\tif (lcInput == 'jsonlines')\n\t\t\t\treturn 'jsonLines';\n\t\t\t\n\t\t\tif (['xlsx', 'pdf', 'html', 'json', 'csv'].includes(lcInput))\n\t\t\t\treturn lcInput;\n\n\t\t\treturn null;\n\t\t},\n\t\tvalidateFileFormatter(input) {\n\t\t\tlet formatter = this.stringToFileFormatter(input);\n\t\t\tif (!formatter) {\n\t\t\t\talert(input + ' is not a supported file formatter');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (formatter == 'xlsx') {\n\t\t\t\tif (!window.XLSX) {\n\t\t\t\t\talert('XLSX Library not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (formatter == 'pdf') {\n\t\t\t\tif (!window.jspdf) {\n\t\t\t\t\talert('jsPDF Library not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tvar doc = new jspdf.jsPDF({});\n\t\t\t\tif (!doc.autoTable) {\n\t\t\t\t\talert('jsPDF-AutoTable Plugin not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tdownload(config) {\n\t\t\tthis.tabulator.download(config.formatter, config.file, config.options)\n\t\t}\n\t},\n\ttemplate: `\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
\n\t\n\t`\n};\n\n","const elementDataMap = new WeakMap();\n\nexport default {\n\tmounted(el, binding) {\n\t\tlet open = false;\n\t\telementDataMap.set(el, evt => {\n\t\t\tif (!open)\n\t\t\t\treturn;\n\n\t\t\tif (el.contains(evt.target))\n\t\t\t\treturn;\n\n\t\t\tconst collapse = bootstrap.Collapse.getInstance(el)\n\t\t\tif (collapse)\n\t\t\t\tcollapse.hide();\n\t\t});\n\t\tel.addEventListener('shown.bs.collapse', () => {\n\t\t\topen = true;\n\t\t});\n\t\tel.addEventListener('hide.bs.collapse', () => {\n\t\t\topen = false;\n\t\t});\n\t\tdocument.addEventListener('click', elementDataMap.get(el), true);\n\t},\n\tbeforeUnmount(el, binding) {\n\t\tdocument.removeEventListener('click', elementDataMap.get(el));\n\t\tdelete el.collapsibleAutoHideFunc;\n\t}\n}","/**\n * This may need changes if Tabulator gets updated!\n *\n * Current working Version: 5.5.2\n * \n * This is a copy of the fitDataStretch function. The only difference\n * is the check for frozen columns on line 22.\n */\n\nexport default window.Tabulator?.extendModule(\"layout\", \"modes\", {\n\tfitDataStretchFrozen(columns, forced) {\n\t\tvar colsWidth = 0,\n\t\ttableWidth = this.table.rowManager.element.clientWidth,\n\t\tgap = 0,\n\t\tlastCol = false;\n\n\t\tcolumns.forEach((column, i) => {\n\t\t\tif (!column.widthFixed) {\n\t\t\t\tcolumn.reinitializeWidth();\n\t\t\t}\n\n\t\t\tif (this.table.options.responsiveLayout ? column.modules.responsive.visible : column.visible && !column.definition.frozen) {\n\t\t\t\tlastCol = column;\n\t\t\t}\n\n\t\t\tif (column.visible) {\n\t\t\t\tcolsWidth += column.getWidth();\n\t\t\t}\n\t\t});\n\n\t\tif (lastCol){\n\t\t\tgap = tableWidth - colsWidth + lastCol.getWidth();\n\n\t\t\tif (this.table.options.responsiveLayout && this.table.modExists(\"responsiveLayout\", true)) {\n\t\t\t\tlastCol.setWidth(0);\n\t\t\t\tthis.table.modules.responsiveLayout.update();\n\t\t\t}\n\n\t\t\tif (gap > 0) {\n\t\t\t\tlastCol.setWidth(gap);\n\t\t\t} else {\n\t\t\t\tlastCol.reinitializeWidth();\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.table.options.responsiveLayout && this.table.modExists(\"responsiveLayout\", true)) {\n\t\t\t\tthis.table.modules.responsiveLayout.update();\n\t\t\t}\n\t\t}\n\t}\n});\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tsaveCustomFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/saveCustomFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tcustomFilterName: wsParams.customFilterName\n\t\t\t}\n\t\t};\n\t},\n\tremoveCustomFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/removeCustomFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t};\n\t},\n\tapplyFilterFields(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/applyFilterFields',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterFields: wsParams.filterFields\n\t\t\t}\n\t\t};\n\t},\n\taddFilterField(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/addFilterField',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t};\n\t},\n\tremoveFilterField(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/removeFilterField',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t};\n\t},\n\tgetFilterById(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/filter/getFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t};\n\t},\n\tgetFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/filter/getFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType\n\t\t\t}\n\t\t};\n\t}\n};","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport {CoreFetchCmpt} from '../../components/Fetch.js';\nimport FilterConfig from './Filter/Config.js';\nimport FilterColumns from './Filter/Columns.js';\nimport TableDownload from './Table/Download.js';\nimport collapseAutoClose from '../../directives/collapseAutoClose.js';\n\nimport moduleLayoutFitDataStretchFrozen from '../../tabulator/layouts/fitDataStretchFrozen.js';\n\nimport ApiFilter from '../../api/factory/filter.js';\n\n//\nconst FILTER_COMPONENT_NEW_FILTER = 'Filter Component New Filter';\nconst FILTER_COMPONENT_NEW_FILTER_TYPE = 'Filter Component New Filter Type';\n\nvar _uuid = 0;\n\n/**\n *\n */\nexport const CoreFilterCmpt = {\n\tcomponents: {\n\t\tCoreFetchCmpt,\n\t\tFilterConfig,\n\t\tFilterColumns,\n\t\tTableDownload\n\t},\n\tdirectives: {\n\t\tcollapseAutoClose\n\t},\n\temits: [\n\t\t'nwNewEntry',\n\t\t'click:new',\n\t\t'tableBuilt',\n\t\t'uuidDefined'\n\t],\n\tprops: {\n\t\tonNwNewEntry: Function, // NOTE(chris): Hack to get the nwNewEntry listener into $props\n\t\ttitle: String,\n\t\tdescription: String,\n\t\tsideMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tfilterType: {\n\t\t\ttype: String\n\t\t},\n\t\ttabulatorOptions: Object,\n\t\ttabulatorEvents: Array,\n\t\ttableOnly: Boolean,\n\t\tnoColumnFilter:Boolean,\n\t\treload: Boolean,\n\t\treloadBtnInfotext: String,\n\t\tdownload: {\n\t\t\ttype: [Boolean, String, Function, Array, Object],\n\t\t\tdefault: false\n\t\t},\n\t\tnewBtnShow: Boolean,\n\t\tnewBtnClass: [String, Array, Object],\n\t\tnewBtnDisabled: Boolean,\n\t\tnewBtnLabel: String,\n\t\tuniqueId: String,\n\n\t\tidField: String,\n\t\tparentIdField: String,\n\t\tcountOnly: Boolean,\n\t\tuseSelectionSpan: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t}\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tuuid: 0,\n\t\t\t// FilterCmpt properties\n\t\t\tfilterName: null,\n\t\t\tfilterActive: false,\n\t\t\tfields: null,\n\t\t\tdataset: null,\n\t\t\tdatasetMetadata: null,\n\t\t\tselectedFields: null,\n\t\t\tfilterFields: null,\n\n\t\t\tavailableFilters: null,\n\t\t\tselectedFilter: null,\n\n\t\t\t// FetchCmpt binded properties\n\t\t\tfetchCmptRefresh: false,\n\t\t\tfetchCmptApiFunction: null,\n\t\t\tfetchCmptApiFunctionParams: null,\n\t\t\tfetchCmptDataFetched: null,\n\n\t\t\tfetchResult: null,\n\n\t\t\ttabulator: null,\n\t\t\ttableBuilt: false,\n\t\t\ttabulatorHasSelector: false,\n\t\t\tselectedData: [],\n\t\t\tpersistence: {\n\t\t\t\tsort: true,\n\t\t\t\tcolumns: true,\n\t\t\t\tfilter: false,\n\t\t\t\theaderFilter: false,\n\t\t\t\tgroup: false,\n\t\t\t\tpage: false,\n\t\t\t}\n\t\t};\n\t},\n\tcomputed: {\n\t\tnotSelectedFields() {\n\t\t\tif (!this.fields || !this.selectedFields)\n\t\t\t\treturn null;\n\t\t\treturn this.fields.filter(x => this.selectedFields.indexOf(x) === -1)\n\t\t},\n\t\tfilteredData() {\n\t\t\tif (!this.dataset)\n\t\t\t\treturn [];\n\t\t\treturn JSON.parse(JSON.stringify(this.dataset));\n\t\t},\n\t\tfilteredColumns() {\n\t\t\tlet fields = JSON.parse(JSON.stringify(this.fields)) || [];\n\t\t\tlet selectedFields = JSON.parse(JSON.stringify(this.selectedFields)) || [];\n\n\t\t\tlet columns = null;\n\n\t\t\t// If the tabulator options has been provided and it contains the property columns\n\t\t\tif (this.tabulatorOptions && this.tabulatorOptions.hasOwnProperty('columns'))\n\t\t\t\tcolumns = this.tabulatorOptions.columns;\n\n\t\t\t// If columns is not an array or it is an array with less elements then the array fields\n\t\t\tif (!Array.isArray(columns) || (Array.isArray(columns) && columns.length < fields.length))\n\t\t\t{\n\t\t\t\tcolumns = []; // set it as an empty array\n\n\t\t\t\t// Loop throught all the retrieved columns from database\n\t\t\t\tfor (let field of fields)\n\t\t\t\t{\n\t\t\t\t\t// Create a new column having the title equal to the field name\n\t\t\t\t\tlet column = {\n\t\t\t\t\t\ttitle: field,\n\t\t\t\t\t\tfield: field\n\t\t\t\t\t};\n\n\t\t\t\t\t// If the column has to be displayed or not\n\t\t\t\t\tcolumn.visible = selectedFields.indexOf(field) >= 0;\n\n\t\t\t\t\t// Add the new column to the list of columns\n\t\t\t\t\tcolumns.push(column);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse // the property columns has been provided in the tabulator options\n\t\t\t{\n\t\t\t\t// Loop throught the property columns of the tabulator options\n\t\t\t\tfor (let col of columns)\n\t\t\t\t{\n\t\t\t\t\t// If the column has to be displayed or not\n\t\t\t\t\t/* fields.indexOf(col.field) == -1; ensures displaying formatter colums\n\t\t\t\t\te.g. column with rowSelection checkboxes or with custom formatted action buttons */\n\t\t\t\t\tcol.visible = selectedFields.indexOf(col.field) >= 0 || fields.indexOf(col.field) == -1;\n\n\t\t\t\t\tif (col.hasOwnProperty('resizable'))\n\t\t\t\t\t\tcol.resizable = col.visible;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn columns;\n\t\t},\n\t\tfieldIdsForVisibilty() {\n\t\t\tif (!this.tableBuilt)\n\t\t\t\treturn [];\n\t\t\treturn this.tabulator.getColumns().filter(col => {\n\t\t\t\tlet def = col.getDefinition();\n\t\t\t\treturn !def.frozen && def.title && def.formatter != \"responsiveCollapse\";\n\t\t\t}).map(col => col.getField());\n\t\t},\n\t\tfieldNames() {\n\t\t\tif (!this.tableBuilt)\n\t\t\t\treturn {};\n\t\t\treturn this.tabulator.getColumns().reduce((res, col) => {\n\t\t\t\tres[col.getField()] = col.getDefinition().title;\n\t\t\t\treturn res;\n\t\t\t}, {});\n\t\t},\n\t\tidExtra() {\n\t\t\tif (!this.uuid)\n\t\t\t\treturn '';\n\t\t\treturn '-' + this.uuid;\n\t\t},\n\t\tcolumnsForFilter() {\n\t\t\tif (!this.filteredColumns || !this.datasetMetadata)\n\t\t\t\treturn [];\n\t\t\tconst filterTitles = this.filteredColumns.reduce((a,c) => {\n\t\t\t\ta[c.field] = c.title;\n\t\t\t\treturn a;\n\t\t\t}, {});\n\t\t\treturn this.datasetMetadata.map(el => ({...el, ...{title: filterTitles[el.name]}}));\n\t\t}\n\t},\n\tmethods: {\n\t\treloadTable() {\n\t\t\tif (this.tableOnly)\n\t\t\t\tthis.tabulator.setData();\n\t\t\telse\n\t\t\t\tthis.getFilter();\n\t\t},\n\t\tasync initTabulator() {\n\t\t\tlet placeholder = '< Phrasen Plugin not loaded! >';\n\t\t\tif (this.$p) {\n\t\t\t\tawait this.$p.loadCategory('ui');\n\t\t\t\tplaceholder = this.$p.t('ui/keineDatenVorhanden');\n\t\t\t}\n\n\t\t\tif (!this.tableOnly) {\n\t\t\t\t// prefetch data to get fields & selectedFields for filteredColumns & filteredData\n\t\t\t\tawait new Promise(resolve => {\n\t\t\t\t\tconst filterId = window.location.hash ? window.location.hash.slice(1) : null;\n\n\t\t\t\t\tconst resolvePromiseFunc = data => {\n\t\t\t\t\t\tthis.setRenderData(data);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t};\n\t\t\t\t\t// get the filter data\n\t\t\t\t\tif (filterId === null)\n\t\t\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilter(wsParams)),\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tresolvePromiseFunc\n\t\t\t\t\t\t);\n\t\t\t\t\telse\n\t\t\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilterById(wsParams)),\n\t\t\t\t\t\t\t{ filterId },\n\t\t\t\t\t\t\tresolvePromiseFunc\n\t\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Define a default tabulator options in case it was not provided\n\t\t\tlet tabulatorOptions = {...{\n\t\t\t\t\tlayout: \"fitDataStretchFrozen\",\n\t\t\t\t\tmovableColumns: true,\n\t\t\t\t\tcolumnDefaults:{\n\t\t\t\t\t\ttooltip: true\n\t\t\t\t\t},\n\t\t\t\t\tplaceholder,\n\t\t\t\t\tpersistence: this.persistence,\n\t\t\t\t}, ...(this.tabulatorOptions || {})};\n\n\t\t\t// set default height if no height property is set\n\t\t\tif (tabulatorOptions.height === undefined &&\n\t\t\t\ttabulatorOptions.minHeight === undefined &&\n\t\t\t\ttabulatorOptions.maxHeight === undefined) {\n\t\t\t\ttabulatorOptions.height = 500;\n\t\t\t}\n\n\t\t\tif (!this.tableOnly) {\n\t\t\t\ttabulatorOptions.data = this.filteredData;\n\t\t\t\ttabulatorOptions.columns = this.filteredColumns;\n\t\t\t} else {\n\t\t\t\ttabulatorOptions.columns.forEach(col => {\n\t\t\t\t\tif (col.visible === undefined)\n\t\t\t\t\t\tcol.visible = true;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (tabulatorOptions.selectable || (tabulatorOptions.columns && tabulatorOptions.columns.filter(el => el.formatter == 'rowSelection').length))\n\t\t\t\tthis.tabulatorHasSelector = true;\n\n\t\t\tif (this.idField) {\n\t\t\t\t// enable nested tabulator if parent Id given\n\t\t\t\tif (this.parentIdField) tabulatorOptions.dataTree = true;\n\t\t\t\t// set tabulator index\n\t\t\t\ttabulatorOptions.index = this.idField;\n\t\t\t}\n\n\t\t\t// Start the tabulator with the build options\n\t\t\tthis.tabulator = new Tabulator(\n\t\t\t\tthis.$refs.table,\n\t\t\t\ttabulatorOptions\n\t\t\t);\n\t\t\t// If event handlers have been provided\n\t\t\tif (Array.isArray(this.tabulatorEvents) && this.tabulatorEvents.length > 0)\n\t\t\t{\n\t\t\t\t// Attach all the provided event handlers to the started tabulator\n\t\t\t\tfor (let evt of this.tabulatorEvents)\n\t\t\t\t\tthis.tabulator.on(evt.event, evt.handler);\n\t\t\t}\n\t\t\tthis.tabulator.on('tableBuilt', () => {this.tableBuilt = true; this.$emit('tableBuilt');});\n\t\t\tthis.tabulator.on(\"rowSelectionChanged\", data => {\n\t\t\t\tthis.selectedData = data;\n\t\t\t});\n\n\t\t\t// if nested tabulator, restructure data\n\t\t\tif (this.parentIdField && this.idField) {\n\t\t\t\tthis.tabulator.on(\"dataLoading\", data => {\n\t\t\t\t\tlet toDelete = [];\n\n\t\t\t\t\t// loop through all data\n\t\t\t\t\tfor (let childIdx = 0; childIdx < data.length; childIdx++)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet child = data[childIdx];\n\n\t\t\t\t\t\t// if it has parent id, it is a child\n\t\t\t\t\t\tif (child[this.parentIdField])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// append the child on the right place. If parent found, mark original sw child on 0 level for deleting\n\t\t\t\t\t\t\tif (this.appendChild(data, child)) toDelete.push(childIdx);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// delete the marked children from 0 level\n\t\t\t\t\tfor (let counter = 0; counter < toDelete.length; counter++)\n\t\t\t\t\t{\n\t\t\t\t\t\t// decrease index by counter as index of data array changes after every deletion\n\t\t\t\t\t\tdata.splice(toDelete[counter] - counter, 1);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (this.tableOnly) {\n\t\t\t\tthis.tabulator.on('tableBuilt', () => {\n\t\t\t\t\tconst cols = this.tabulator.getColumns();\n\t\t\t\t\tthis.fields = cols.map(col => col.getField());\n\t\t\t\t\tthis.selectedFields = cols.filter(col => col.isVisible()).map(col => col.getField());\n\t\t\t\t\tif (this.tabulator.options.persistence.headerFilter)\n\t\t\t\t\t\tthis._setHeaderFilter();\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t\tthis.tabulator.on(\"dataFiltered\", filters => {\n\t\t\t\tthis.filterActive = filters.length > 0;\n\t\t\t});\n\t\t},\n\t\tupdateTabulator() {\n\t\t\tif (this.tabulator) {\n\t\t\t\tif (this.tableBuilt)\n\t\t\t\t\tthis._updateTabulator();\n\t\t\t\telse\n\t\t\t\t\tthis.tabulator.on('tableBuilt', this._updateTabulator);\n\t\t\t}\n\t\t},\n\t\t_updateTabulator() {\n\t\t\tthis.tabulatorHasSelector = this.tabulatorOptions.selectable || this.filteredColumns.filter(el => el.formatter == 'rowSelection').length;\n\t\t\tthis.tabulator.setColumns(this.filteredColumns);\n\t\t\tthis.tabulator.setData(this.filteredData);\n\t\t\tthis._setHeaderFilter()\n\t\t},\n\t\tclearFilters()\n\t\t{\n\t\t\tlet existingFilters = this.tabulator.getHeaderFilters();\n\t\t\texistingFilters.forEach(filter => {\n\t\t\t\tthis.tabulator.setHeaderFilterValue(filter.field, \"\");\n\t\t\t});\n\t\t\tthis.tabulator.clearFilter();\n\t\t\tthis.filterActive = false;\n\t\t},\n\t\t_setHeaderFilter()\n\t\t{\n\t\t\tconst existingFilters = this.tabulator.getHeaderFilters();\n\t\t\texistingFilters.forEach(filter => {\n\t\t\t\tthis.tabulator.setHeaderFilterValue(filter.field, filter.value);\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tgetFilter() {\n\t\t\tif (this.selectedFilter === null)\n\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilter(wsParams)),\n\t\t\t\t\tnull,\n\t\t\t\t\tthis.render\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilterById(wsParams)),\n\t\t\t\t\t{\n\t\t\t\t\t\tfilterId: this.selectedFilter\n\t\t\t\t\t},\n\t\t\t\t\tthis.render\n\t\t\t\t);\n\t\t},\n\t\tsetRenderData(data) {\n\t\t\tthis.fetchResult = data;\n\t\t\tthis.filterName = data.filterName;\n\t\t\tthis.dataset = data.dataset;\n\t\t\tthis.datasetMetadata = data.datasetMetadata;\n\n\t\t\tthis.fields = data.fields;\n\t\t\tthis.selectedFields = data.selectedFields;\n\t\t\tthis.filterFields = [];\n\n\t\t\tfor (let i = 0; i < data.datasetMetadata.length; i++)\n\t\t\t{\n\t\t\t\tfor (let j = 0; j < data.filters.length; j++)\n\t\t\t\t{\n\t\t\t\t\tif (data.datasetMetadata[i].name == data.filters[j].name)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet filter = data.filters[j];\n\t\t\t\t\t\tfilter.type = data.datasetMetadata[i].type;\n\n\t\t\t\t\t\tthis.filterFields.push(filter);\n\t\t\t\t\t\t//break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\trender(response) {\n\t\t\tlet data = response;\n\n\t\t\tthis.setRenderData(data);\n\n\t\t\t// If the side menu is active\n\t\t\tif (this.sideMenu === true)\n\t\t\t{\n\t\t\t\tthis.setSideMenu(data);\n\t\t\t}\n\t\t\telse // otherwise use the dropdown in the filter options\n\t\t\t{\n\t\t\t\tthis.setDropDownMenu(data);\n\t\t\t}\n\t\t\tthis.updateTabulator();\n\t\t},\n\t\t/**\n\t\t * Set the menu\n\t\t */\n\t\tsetSideMenu(data) {\n\t\t\tlet filters = data.sideMenu.filters;\n\t\t\tlet personalFilters = data.sideMenu.personalFilters;\n\t\t\tlet filtersArray = [];\n\n\t\t\tfor (let filtersCount = 0; filtersCount < filters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = filters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: filters[filtersCount].filter_id,\n\t\t\t\t\tlink: link + filters[filtersCount].filter_id,\n\t\t\t\t\tdescription: filters[filtersCount].desc,\n\t\t\t\t\tsort: filtersCount,\n\t\t\t\t\tonClickCall: this.handlerGetFilterById\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfor (let filtersCount = 0; filtersCount < personalFilters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = personalFilters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: personalFilters[filtersCount].filter_id,\n\t\t\t\t\tlink: link + personalFilters[filtersCount].filter_id,\n\t\t\t\t\tdescription: personalFilters[filtersCount].desc,\n\t\t\t\t\tsubscriptDescription: personalFilters[filtersCount].subscriptDescription,\n\t\t\t\t\tsubscriptLinkClass: personalFilters[filtersCount].subscriptLinkClass,\n\t\t\t\t\tsubscriptLinkValue: personalFilters[filtersCount].subscriptLinkValue,\n\t\t\t\t\tsort: filtersCount,\n\t\t\t\t\tonClickCall: this.handlerGetFilterById,\n\t\t\t\t\tonClickSubscriptCall: this.handlerRemoveCustomFilter\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.availableFilters = filtersArray;\n\n\t\t\tthis.$emit(\n\t\t\t\t'nwNewEntry',\n\t\t\t\t{\n\t\t\t\t\tlink: \"#\",\n\t\t\t\t\tdescription: \"Filters\",\n\t\t\t\t\ticon: \"filter\",\n\t\t\t\t\tchildren: filtersArray\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t/**\n\t\t * Set the drop down menu\n\t\t */\n\t\tsetDropDownMenu(data) {\n\t\t\tlet filters = data.sideMenu.filters;\n\t\t\tlet personalFilters = data.sideMenu.personalFilters;\n\t\t\tlet filtersArray = [];\n\n\t\t\tfor (let filtersCount = 0; filtersCount < filters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = filters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: filters[filtersCount].filter_id,\n\t\t\t\t\toption: filters[filtersCount].filter_id,\n\t\t\t\t\tdescription: filters[filtersCount].desc\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfor (let filtersCount = 0; filtersCount < personalFilters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = personalFilters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: personalFilters[filtersCount].filter_id,\n\t\t\t\t\toption: personalFilters[filtersCount].filter_id,\n\t\t\t\t\tdescription: personalFilters[filtersCount].desc\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.availableFilters = filtersArray;\n\t\t},\n\t\t/**\n\t\t * Used to start/refresh the FetchCmpt\n\t\t */\n\t\tstartFetchCmpt(apiFunction, apiFunctionParameters, dataFetchedCallback) {\n\t\t\t// Assign the function api of the FetchCmpt binded property\n\t\t\tthis.fetchCmptApiFunction = apiFunction;\n\n\t\t\t// In case a null value is provided set the parameters as an empty object\n\t\t\tif (apiFunctionParameters == null) apiFunctionParameters = {};\n\n\t\t\t// Always needed parameters\n\t\t\tapiFunctionParameters.filterUniqueId = FHC_JS_DATA_STORAGE_OBJECT.called_path + \"/\" + FHC_JS_DATA_STORAGE_OBJECT.called_method;\n\t\t\tapiFunctionParameters.filterType = this.filterType;\n\n\t\t\tif (this.uniqueId)\n\t\t\t\tapiFunctionParameters.filterUniqueId += '_' + this.uniqueId;\n\n\t\t\t// Assign parameters to the FetchCmpt binded properties\n\t\t\tthis.fetchCmptApiFunctionParams = apiFunctionParameters;\n\t\t\t// Assign data fetch callback to the FetchCmpt binded properties\n\t\t\tthis.fetchCmptDataFetched = dataFetchedCallback;\n\t\t\t// Set the FetchCmpt binded property refresh to have the component to refresh\n\t\t\t// NOTE: this should be the last one to be called because it triggers the FetchCmpt to start to refresh\n\t\t\tthis.fetchCmptRefresh === true ? this.fetchCmptRefresh = false : this.fetchCmptRefresh = true;\n\t\t},\n\n\t\t// ------------------------------------------------------------------------------------------------------------------\n\t\t// Event handlers\n\n\t\t/**\n\t\t *\n\t\t */\n\t\thandlerSaveCustomFilter(customFilterName) {\n\t\t\tthis.selectedFilter = null;\n\t\t\t//\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.saveCustomFilter(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tcustomFilterName\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\thandlerRemoveCustomFilter(event) {\n\t\t\tlet filterId = event.currentTarget.getAttribute(\"href\").substring(1);\n\t\t\tif (filterId === this.selectedFilter)\n\t\t\t\tthis.selectedFilter = null;\n\t\t\t//\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.removeCustomFilter(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tfilterId: filterId\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\n\t\t/*\n\t\t *\n\t\t */\n\t\thandlerGetFilterById: function(event) {\n\n\t\t\tlet filterId = null;\n\n\t\t\t// Get the attribute href if side menu is rendered\n\t\t\tlet attr = event.currentTarget.getAttribute(\"href\");\n\n\t\t\t// Otherwise get the value of the drop down menu\n\t\t\tif (attr == null)\n\t\t\t{\n\t\t\t\tfilterId = event.currentTarget.value;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfilterId = attr.substring(1);\n\t\t\t}\n\n\t\t\tthis.switchFilter(filterId);\n\t\t},\n\t\tswitchFilter(filterId) {\n\t\t\tthis.selectedFilter = filterId;\n\t\t\tthis.getFilter();\n\t\t},\n\t\tapplyFilterConfig(filterFields) {\n\t\t\tthis.selectedFilter = null;\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.applyFilterFields(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tfilterFields\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\n\t\t// append child to it's parent\n\t\tappendChild(data, child) {\n\t\t\t// get parent id\n\t\t\tlet parentId = child[this.parentIdField];\n\n\t\t\t// loop thorugh all data\n\t\t\tfor (let parentIdx = 0; parentIdx < data.length; parentIdx++)\n\t\t\t{\n\t\t\t\tlet parent = data[parentIdx];\n\n\t\t\t\t// if it's the parent\n\t\t\t\tif (parent[this.idField] == parentId)\n\t\t\t\t{\n\t\t\t\t\t// create children array if not done yet\n\t\t\t\t\tif (!parent._children) parent._children = [];\n\n\t\t\t\t\t// if child is not included in children array, append the child\n\t\t\t\t\tif (!parent._children.includes(child)) parent._children.push(child);\n\n\t\t\t\t\t// parent found\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// search children for parents\n\t\t\t\telse if (parent._children) this.appendChild(parent._children, child);\n\t\t\t}\n\n\t\t\t// parent not found\n\t\t\treturn false;\n\t\t}\n\t},\n\tbeforeCreate() {\n\t\tif (!this.tableOnly == !this.filterType)\n\t\t\talert('You can not have a filter-type in table-only mode!');\n\t},\n\tcreated() {\n\t\tif (this.sideMenu && (!this.$props.onNwNewEntry || !(this.$props.onNwNewEntry instanceof Function)))\n\t\t\talert('\"nwNewEntry\" listener is mandatory when sideMenu is true');\n\t\tthis.uuid = _uuid++;\n\t\tthis.$emit('uuidDefined', this.uuid)\n\t},\n\tmounted() {\n\t\tthis.initTabulator().then(() => {\n\t\t\tif (!this.tableOnly) {\n\t\t\t\tthis.selectedFilter = window.location.hash ? window.location.hash.slice(1) : null;\n\t\t\t\tthis.render(this.fetchResult);\n\t\t\t}\n\t\t});\n\n\t},\n\ttemplate: `\n\t\t\n\t\t\n\t\t\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{{ title }}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ selectedData.length }} ausgewählt\n\t\t\t\t\t\t Mit {{ selectedData.length }} ausgewählten:\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n \n \n \n `,\n};\n","import BsModal from './Bootstrap/Modal.js';\n\nexport default {\n\tcomponents: {\n\t\tBsModal\n\t},\n\tprops: {\n\t\ttimeout: {\n\t\t\ttype: Number,\n\t\t\tdefault: 300\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tt: null,\n\t\t\tstate: 0\n\t\t}\n\t},\n\tmethods: {\n\t\tshow() {\n\t\t\tswitch (this.state) {\n\t\t\t\tcase 0:\n\t\t\t\t\tif (this.timeout) {\n\t\t\t\t\t\tthis.state = 1;\n\t\t\t\t\t\tthis.t = window.setTimeout(() => this.$refs.modal.show(), this.timeout);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else\n\t\t\t\t\t\treturn this.$refs.modal.show();\n\t\t\t\tcase 4:\n\t\t\t\t\treturn window.setTimeout(() => this.show(), 1);\n\t\t\t}\n\t\t},\n\t\thide() {\n\t\t\tswitch (this.state) {\n\t\t\t\tcase 1:\n\t\t\t\t\treturn window.clearTimeout(this.t);\n\t\t\t\tcase 2:\n\t\t\t\t\treturn window.setTimeout(() => this.hide(), 1);\n\t\t\t\tcase 3:\n\t\t\t\t\tthis.$refs.modal.hide();\n\t\t\t}\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.$refs.modal.$refs.modal.addEventListener('show.bs.modal', () => {\n\t\t\tthis.state = 2;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('shown.bs.modal', () => {\n\t\t\tthis.state = 3;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('hide.bs.modal', () => {\n\t\t\tthis.state = 4;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('hidden.bs.modal', () => {\n\t\t\tthis.state = 0;\n\t\t});\n\t},\n\ttemplate: `\n\t\n\t\tLoading...\n\t`\n}","if (!primevue) {\n\tconsole.error('PrimeVue not loaded!');\n}\n\n// NOTE(chris): Click on clear button gives an error. This is a bug in primevue => fixed in current version\nTabulator.extendModule('filter', 'filters', {\n\t\"dates\": (headerValue, rowValue) => {\n\t\tif (!headerValue)\n\t\t\treturn true;\n\n\t\tlet rowDate = new Date(rowValue);\n\n\t\tif (Array.isArray(headerValue))\n\t\t{\n\t\t\tlet startDate = new Date(headerValue[0]);\n\t\t\tif (headerValue[1])\n\t\t\t{\n\t\t\t\tlet endDate = new Date(headerValue[1]);\n\n\t\t\t\tendDate.setHours(23, 59, 59, 999);\n\n\t\t\t\treturn rowDate >= startDate && rowDate <= endDate;\n\t\t\t}\n\n\t\t\treturn rowDate.toDateString() === startDate.toDateString();\n\t\t}\n\t\tlet singleDate = new Date(headerValue);\n\t\treturn rowDate.toDateString() === singleDate.toDateString();\n\t}\n});\n\nfunction dateFilter(cell, onRendered, success) {\n\tlet div = document.createElement('div');\n\n\tlet initialValue = null;\n\n\tlet val = cell.getValue();\n\n\tif (Array.isArray(val))\n\t{\n\t\tconst start = val[0] ? new Date(val[0]) : null;\n\t\tconst end = val[1] ? new Date(val[1]) : null;\n\t\tinitialValue = [start, end];\n\t}\n\n\tVue.createApp({\n\t\tcomponents: {\n\t\t\tPrimevueCalendar: primevue.calendar\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tval: initialValue\n\t\t\t}\n\t\t},\n\t\twatch: {\n\t\t\tval(n) {\n\t\t\t\tsuccess(n);\n\t\t\t}\n\t\t},\n\t\ttemplate: `\n\t\t\t\t `\n\t}).use(primevue.config.default).mount(div);\n\n\treturn div;\n}\nexport { dateFilter };","import { CoreFilterCmpt } from \"../../filter/Filter.js\";\nimport AcceptDenyUpdate from \"./AcceptDenyUpdate.js\";\nimport Alert from \"../../../components/Bootstrap/Alert.js\";\nimport Loading from \"../../../components/Loader.js\";\n\nimport ApiProfilUpdate from '../../../api/factory/profilUpdate.js';\nimport { dateFilter } from '../../../tabulator/filters/Dates.js';\n\nconst sortProfilUpdates = (ele1, ele2, thisPointer) => {\n let result = 0;\n if (ele1.status === thisPointer.profilUpdateStates[\"Pending\"]) {\n result = -1;\n } else if (ele1.status === thisPointer.profilUpdateStates[\"Accepted\"]) {\n result =\n ele2.status === thisPointer.profilUpdateStates[\"Rejected\"] ? -1 : 1;\n } else {\n result = 1;\n }\n\n if (ele1.status === ele2.status) {\n //? if they have the same status , insert_date gets compared for order\n result =\n new Date(ele2.insertamum.split(\".\").reverse().join(\"-\")) -\n new Date(ele1.insertamum.split(\".\").reverse().join(\"-\"));\n }\n return result;\n};\n\nexport default {\n components: {\n CoreFilterCmpt,\n Loading,\n AcceptDenyUpdate,\n },\n inject: [\"profilUpdateStates\"],\n props: {\n id: {\n type: String,\n },\n },\n data() {\n return {\n categoryLoaded: false,\n showModal: false,\n modalData: null,\n loading: false,\n filter: \"Pending\",\n profil_update_id: Number(this.id),\n };\n },\n\tcomputed: {\n\t\tprofilUpdateEvents: function () {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\t\"event\": \"dataProcessed\",\n\t\t\t\t\t\"handler\": this.handleDataProcessed\n\t\t\t\t}\n\t\t\t];\n\t\t},\n\t\tprofilUpdateOptions: function () {\n\t\t\treturn {\n\t\t\t\tpersistence: {\n\t\t\t\t\tcolumns: [\"width\", \"visible\", \"frozen\"],\n\t\t\t\t},\n\t\t\t\tpersistenceID: 'cis-profilupdate-2025121702',\n\t\t\t\tajaxURL: 'dummy',\n\t\t\t\tajaxRequestFunc: (url, config, params) => {\n\t\t\t\t\treturn this.$api.call(ApiProfilUpdate.getProfilUpdateWithPermission(params.filter));\n\t\t\t\t},\n\t\t\t\tajaxParams: () => {\n\t\t\t\t\tlet filter = '';\n\t\t\t\t\tswitch (this.filter) {\n\t\t\t\t\t\tcase this.profilUpdateStates[\"Pending\"]:\n\t\t\t\t\t\t\tfilter = this.profilUpdateStates[\"Pending\"];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase this.profilUpdateStates[\"Accepted\"]:\n\t\t\t\t\t\t\tfilter = this.profilUpdateStates[\"Accepted\"];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase this.profilUpdateStates[\"Rejected\"]:\n\t\t\t\t\t\t\tfilter = this.profilUpdateStates[\"Rejected\"];\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tfilter = '';\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t\"filter\": filter\n\t\t\t\t\t};\n\t\t\t\t},\n ajaxResponse: (url, params, response) => {\n //url - the URL of the request\n //params - the parameters passed with the request\n //response - the JSON object returned in the body of the response.\n //? sorts the response data from the backend\n\t\t\t\t\tif (response?.data)\n\t\t\t\t\t\tresponse.data.sort((ele1, ele2) => sortProfilUpdates(ele1, ele2, this));\n\n\t\t\t\t\treturn response.data;\n },\n //? adds tooltip with the status message of a profil update request if its status is not pending\n columnDefaults: {\n tooltip: (e, cell, onRendered) => {\n //e - mouseover event\n //cell - cell component\n //onRendered - onRendered callback registration function\n let statusMessage = cell.getData().status_message;\n let statusDate = cell.getData().status_timestamp;\n let status = cell.getData().status;\n if (!statusMessage) {\n return null;\n }\n let el = document.createElement(\"div\");\n el.classList.add(\"border\", \"border-dark\");\n\n let statusDateEl = document.createElement(\"span\");\n statusDateEl.classList.add(\"d-block\", \"mb-1\");\n statusDateEl.innerHTML =\n \"Request was \" + status + \" on \" + statusDate;\n let statusMessageEl = document.createElement(\"span\");\n statusMessageEl.innerHTML = \"Status message: \" + statusMessage;\n\n el.appendChild(statusDateEl);\n el.appendChild(statusMessageEl);\n return el;\n },\n },\n rowContextMenu: (e, component) => {\n let menu = [];\n if (\n component.getData().status === this.profilUpdateStates[\"Pending\"]\n ) {\n menu.push(\n {\n label: ` ${this.$p.t(\n \"profilUpdate\",\n \"acceptUpdate\"\n )}`,\n action: (e, column) => {\n this.$api\n .call(ApiProfilUpdate.acceptProfilRequest(column.getData()))\n .then((res) => {\n this.$refs.UpdatesTable.tabulator.setData();\n })\n\t\t\t\t\t.catch((e) => this.$fhcAlert.handleSystemError);\n },\n },\n {\n separator: true,\n },\n {\n label: ` ${this.$p.t(\n \"profilUpdate\",\n \"denyUpdate\"\n )}`,\n action: (e, column) => {\n this.$api\n .call(ApiProfilUpdate.denyProfilRequest(column.getData()))\n .then((res) => {\n this.$refs.UpdatesTable.tabulator.setData();\n })\n\t\t\t\t\t.catch((e) => this.$fhcAlert.handleSystemError);\n },\n },\n {\n separator: true,\n },\n {\n label: ` ${this.$p.t(\n \"profilUpdate\",\n \"showRequest\"\n )}`,\n action: (e, column) => {\n this.showAcceptDenyModal(column.getData());\n },\n }\n );\n } else {\n menu.push({\n label: ` ${this.$p.t(\n \"profilUpdate\",\n \"showRequest\"\n )}`,\n action: (e, column) => {\n this.showAcceptDenyModal(column.getData());\n },\n });\n }\n return menu;\n },\n\n height: 600,\n layout: \"fitDataStretchFrozen\",\n\n columns: [\n {\n title: this.$p.t(\"profilUpdate\", \"UID\"),\n field: \"uid\",\n minWidth: 100,\n resizable: true,\n headerFilter: true,\n //responsive:0,\n },\n {\n title: this.$p.t(\"profilUpdate\", \"Name\"),\n field: \"name\",\n minWidth: 200,\n resizable: true,\n headerFilter: true,\n //responsive:0,\n },\n {\n title: this.$p.t(\"profil\", \"stg_short\") + ' (' + this.$p.t(\"profil\", \"studentIn\") + ')',\n field: \"studiengang\",\n minWidth: 50,\n resizable: true,\n headerFilter: \"list\",\n headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"},\n //responsive:0,\n },\n\t\t {\n\t\t\ttitle: this.$p.t(\"profil\", \"sem_short\") + ' (' + this.$p.t(\"profil\", \"studentIn\") + ')',\n\t\t\tfield: \"semester\",\n\t\t\theaderFilter: \"list\",\n\t\t\theaderFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"}\n\t\t },\n\t\t {\n title: this.$p.t(\"profil\", \"orgform_short\") + ' (' + this.$p.t(\"profil\", \"studentIn\") + ')',\n field: \"orgform\",\n minWidth: 50,\n resizable: true,\n headerFilter: \"list\",\n headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"},\n //responsive:0,\n },\n\t\t {\n title: this.$p.t(\"profil\", \"orgeinheit_short\") + ' (' + this.$p.t(\"profil\", \"mitarbeiterIn\") + ')',\n field: \"oezuordnung\",\n minWidth: 200,\n resizable: true,\n headerFilter: \"list\",\n headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"},\n //responsive:0,\n },\n\t\t {\n title: this.$p.t(\"profilUpdate\", \"Topic\"),\n field: \"topic\",\n resizable: true,\n minWidth: 200,\n headerFilter: \"list\",\n headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"},\n //responsive:0,\n },\n\t\t {\n title: this.$p.t(\"profilUpdate\", \"insertamum\"),\n field: \"insertamum_iso\",\n resizable: true,\n\t\t\theaderFilterFunc: 'dates',\n\t\t\theaderFilter: dateFilter,\n minWidth: 200,\n\t\t\tformatter:\"datetime\",\n\t\t\tformatterParams: this.datetimeFormatterParams(),\n //responsive:0,\n },\n\t\t {\n title: this.$p.t(\"profilUpdate\", \"Status\"),\n field: \"status_translated\",\n hozAlign: \"center\",\n headerFilter: \"list\",\n headerFilterParams: {valuesLookup:true, listOnEmpty:true, autocomplete:true, sort:\"asc\"},\n formatter: (cell, para) => {\n let iconClasses = \"\";\n let status = cell.getRow().getData().status;\n switch (status) {\n case this.profilUpdateStates[\"Pending\"]:\n iconClasses += \"fa fa-lg fa-circle-info text-info \";\n break;\n case this.profilUpdateStates[\"Accepted\"]:\n iconClasses += \"fa fa-lg fa-circle-check text-success \";\n break;\n case this.profilUpdateStates[\"Rejected\"]:\n iconClasses += \"fa fa-lg fa-circle-xmark text-danger \";\n break;\n }\n return `
${cell.getValue()}
`;\n },\n resizable: true,\n minWidth: 200,\n //responsive:0,\n },\n {\n title: this.$p.t(\"profilUpdate\", \"actions\"),\n headerSort: false,\n\t\t\tfrozen: true,\n formatter: (cell, params) => {\n let details = this.$p.t('global', 'details');\n let html = `
\n \n
`;\n\n // Convert the HTML string to an HTML node\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, \"text/html\");\n const node = doc.body.firstChild;\n\n // Add event listeners\n node\n .querySelector(\"#showButton\")\n .addEventListener(\"click\", () => {\n this.showAcceptDenyModal(cell.getRow().getData());\n });\n\n return node;\n },\n minWidth: 200,\n resizable: true,\n hozAlign: \"center\",\n },\n ],\n };\n }\n },\n methods: {\n denyProfilUpdate: function (data) {\n this.$api\n .call(ApiProfilUpdate.denyProfilRequest(data))\n .then((res) => {\n // block when the request was successful\n })\n\t\t.catch((e) => this.$fhcAlert.handleSystemError)\n .finally(() => {\n this.$refs.UpdatesTable.tabulator.setData();\n });\n },\n acceptProfilUpdate: function (data) {\n this.$api\n .call(ApiProfilUpdate.acceptProfilRequest(data))\n .then((res) => {\n // block when the request was successful\n })\n\t\t.catch((e) => this.$fhcAlert.handleSystemError)\n .finally(() => {\n // update the data inside the table\n this.$refs.UpdatesTable.tabulator.setData();\n });\n },\n setLoading: function (newValue) {\n this.loading = newValue;\n },\n hideAcceptDenyModal: function () {\n //? checks the AcceptDenyModal component property result, if the user made a successful request or not\n if (this.$refs.AcceptDenyModal.result) {\n //? refetches the data, if any request was denied or accepted\n //* setData will call the ajaxURL again to refresh the data\n\n this.$refs.UpdatesTable.tabulator.setData();\n } else {\n // when modal was closed without submitting request\n }\n this.showModal = false;\n this.modalData = null;\n },\n showAcceptDenyModal(value) {\n this.modalData = value;\n if (!this.modalData) {\n return;\n }\n this.showModal = true;\n\n // after a state change, wait for the DOM updates to complete\n Vue.nextTick(() => {\n this.$refs.AcceptDenyModal.show();\n });\n },\n updateData: function (event) {\n this.$refs.UpdatesTable.tabulator.setData();\n //? store the selected view in the session storage of the browser\n sessionStorage.setItem(\"filter\", event.target.value);\n\t\t},\n\t\thandleDataProcessed: function () {\n\t\t\tif (this.profil_update_id) {\n\t\t\t\tconst arrayRowData = this.$refs.UpdatesTable.tabulator\n\t\t\t\t\t.getData()\n\t\t\t\t\t.filter((row) => {\n\t\t\t\t\t\treturn row.profil_update_id === this.profil_update_id;\n\t\t\t\t\t});\n\t\t\t\tif (arrayRowData.length) {\n\t\t\t\t\tthis.showAcceptDenyModal(arrayRowData[0]);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tdatetimeFormatterParams: function() {\n\t\t\tconst params = {\n\t\t\t\tinputFormat:\"yyyy-MM-dd\",\n\t\t\t\toutputFormat:\"dd.MM.yyyy\",\n\t\t\t\tinvalidPlaceholder:\"(invalid date)\",\n\t\t\t\ttimezone:FHC_JS_DATA_STORAGE_OBJECT.timezone\n\t\t\t};\n\t\t\treturn params;\n\t\t}\n },\n watch: {\n loading: function (newValue, oldValue) {\n if (newValue) {\n this.$refs.loadingModalRef.show();\n } else {\n this.$refs.loadingModalRef.hide();\n }\n },\n },\n created() {\n this.$p.loadCategory([\"profilUpdate\", \"lehre\", \"profil\", \"global\"]).then(() => {\n this.categoryLoaded = true;\n });\n },\n\n mounted() {\n\t\t//? opens the AcceptDenyUpdate Modal if a preselected profil_update_id was passed to the component (used for email links)\n if (sessionStorage.getItem(\"filter\")) {\n this.filter = sessionStorage.getItem(\"filter\");\n }\n },\n template: /*html*/ `\n
\n\t\t\n\t\t
{{$p.t('profilUpdate', 'profilUpdateRequests')}}
\n\t\t\n\n\t\t\n\t\t\t\t \n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\n\n\t
`,\n};\n","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tsearch(searchsettings, config) {\n\t\tconst url = '/api/frontend/v1/searchbar/search';\n\t\treturn this.$fhcApi.post(url, searchsettings, config);\n\t},\n\tsearchAdvanced(searchsettings, config) {\n\t\tconst url = '/api/frontend/v1/searchbar/searchAdvanced';\n\t\treturn this.$fhcApi.post(url, searchsettings, config);\n\t},\n\tsearchdummy(searchsettings) {\n\t\tconst url = 'public/js/apps/api/dummyapi.php/Search';\n\t\treturn this.$fhcApi.post(url, searchsettings);\n\t}\n};\n","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tloadCategory(category) {\n\t\treturn this.$fhcApi.get('/api/frontend/v1/phrasen/loadModule/' + category);\n\t},\n\tsetLanguage(categories,language) {\n\t\tconst payload = {categories, language}\n\t\treturn this.$fhcApi.post('/api/frontend/v1/phrasen/setLanguage', payload);\n\t},\n\tgetLanguage() {\n\t\treturn this.$fhcApi.get('/api/frontend/v1/phrasen/getLanguage', {});\n\t},\n\tgetActiveDbLanguages() {\n\t\treturn this.$fhcApi.get('/api/frontend/v1/phrasen/getAllLanguages', {});\n\t}\n};","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tgetHeader(navigation_page) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/navigation/header',\n\t\t\t{ navigation_page }\n\t\t);\n\t},\n\tgetMenu: function(navigation_page) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/navigation/menu',\n\t\t\t{ navigation_page }\n\t\t);\n\t}\n};\n\n","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tsaveCustomFilter(wsParams) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/filter/saveCustomFilter',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tcustomFilterName: wsParams.customFilterName\n\t\t\t}\n\t\t);\n\t},\n\tremoveCustomFilter(wsParams) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/filter/removeCustomFilter',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t);\n\t},\n\tapplyFilterFields(wsParams) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/filter/applyFilterFields',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterFields: wsParams.filterFields\n\t\t\t}\n\t\t);\n\t},\n\taddFilterField(wsParams) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/filter/addFilterField',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t);\n\t},\n\tremoveFilterField(wsParams) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/filter/removeFilterField',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t);\n\t},\n\tgetFilterById(wsParams) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/filter/getFilter',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t);\n\t},\n\tgetFilter(wsParams) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/filter/getFilter',\n\t\t\t{\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType\n\t\t\t}\n\t\t);\n\t}\n};\n\n","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tabmeldung: {\n\t\tgetDetails(antrag_id, prestudent_id) {\n\t\t\tconst url = '/api/frontend/v1/studstatus/abmeldung/'\n\t\t\t\t+ (antrag_id !== undefined ? 'getDetailsForAntrag/' + antrag_id : 'getDetailsForNewAntrag/' + prestudent_id);\n\t\t\treturn this.$fhcApi.get(url);\n\t\t},\n\t\tcreate(stdsem, prestudent_id, grund) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/abmeldung/createAntrag', {\n\t\t\t\tstudiensemester: stdsem,\n\t\t\t\tprestudent_id,\n\t\t\t\tgrund\n\t\t\t}, {\n\t\t\t\terrorHandling: 'strict'\n\t\t\t});\n\t\t},\n\t\tcancel(antrag_id) {\n\t\t\tif (!Array.isArray(antrag_id))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/abmeldung/cancelAntrag',\n\t\t\t\t\t{ antrag_id }\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag_id.map(antrag => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/abmeldung/cancelAntrag',\n\t\t\t\t{ antrag_id: antrag.studierendenantrag_id },\n\t\t\t\t{ errorHeader: '#' + antrag.studierendenantrag_id }\n\t\t\t)));\n\t\t}\n\t},\n\tunterbrechung: {\n\t\tgetDetails(antrag_id, prestudent_id) {\n\t\t\tconst url = '/api/frontend/v1/studstatus/unterbrechung/'\n\t\t\t\t+ (antrag_id !== undefined ? 'getDetailsForAntrag/' + antrag_id : 'getDetailsForNewAntrag/' + prestudent_id);\n\t\t\treturn this.$fhcApi.get(url);\n\t\t},\n\t\tcreate(studiensemester, prestudent_id, grund, datum_wiedereinstieg, attachment) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/unterbrechung/createAntrag', {\n\t\t\t\tstudiensemester,\n\t\t\t\tprestudent_id,\n\t\t\t\tgrund,\n\t\t\t\tdatum_wiedereinstieg,\n\t\t\t\tattachment\n\t\t\t}, {\n\t\t\t\terrorHandling: 'strict'\n\t\t\t});\n\t\t},\n\t\tcancel(antrag_id) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/unterbrechung/cancelAntrag', {\n\t\t\t\tantrag_id\n\t\t\t}, {\n\t\t\t\terrorHandling: 'strict'\n\t\t\t});\n\t\t}\n\t},\n\twiederholung: {\n\t\tgetDetails(prestudent_id) {\n\t\t\tconst url = '/api/frontend/v1/studstatus/wiederholung/getDetailsForNewAntrag/' + prestudent_id;\n\t\t\treturn this.$fhcApi.get(url)\n\t\t},\n\t\tgetLvs(antrag_id) {\n\t\t\tconst url = '/api/frontend/v1/studstatus/wiederholung/getLvs/' + antrag_id;\n\t\t\treturn this.$fhcApi.get(url)\n\t\t},\n\t\tcreate(prestudent_id, studiensemester) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/wiederholung/createAntrag', {\n\t\t\t\tprestudent_id,\n\t\t\t\tstudiensemester\n\t\t\t}, {\n\t\t\t\terrorHandling: 'strict'\n\t\t\t});\n\t\t},\n\t\tcancel(prestudent_id, studiensemester) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/wiederholung/cancelAntrag', {\n\t\t\t\tprestudent_id,\n\t\t\t\tstudiensemester\n\t\t\t}, {\n\t\t\t\terrorHandling: 'strict'\n\t\t\t});\n\t\t},\n\t\tsaveLvs(forbiddenLvs, mandatoryLvs) {\n\t\t\treturn this.$fhcApi.post('/api/frontend/v1/studstatus/wiederholung/saveLvs', {\n\t\t\t\tforbiddenLvs,\n\t\t\t\tmandatoryLvs\n\t\t\t});\n\t\t}\n\t},\n\tleitung: {\n\t\tgetStgs() {\n\t\t\treturn this.$fhcApi.get('/api/frontend/v1/studstatus/leitung/getActiveStgs');\n\t\t},\n\t\tgetAntraege(url, config, params) {\n\t\t\treturn this.$fhcApi\n\t\t\t\t.get('/api/frontend/v1/studstatus/leitung/getAntraege/' + url)\n\t\t\t\t.then(res => res.data); // Return data for tabulator\n\t\t},\n\t\tgetHistory(antrag_id) {\n\t\t\treturn this.$fhcApi.get('/api/frontend/v1/studstatus/leitung/getHistory/' + antrag_id)\n\t\t},\n\t\tgetPrestudents(query, signal) {\n\t\t\treturn this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/getPrestudents',\n\t\t\t\t{ query },\n\t\t\t\t{\n signal: signal,\n timeout: 30000\n }\n\t\t\t);\n\t\t},\n\t\tapprove(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/approveAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/approveAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\treject(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/rejectAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/rejectAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\treopen(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/reopenAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/reopenAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\tpause(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/pauseAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/pauseAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\tunpause(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/unpauseAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/unpauseAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\tobject(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/objectAntrag',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/objectAntrag',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\tapproveObjection(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/approveObjection',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/approveObjection',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t},\n\t\tdenyObjection(antrag) {\n\t\t\tif (!Array.isArray(antrag))\n\t\t\t\treturn this.$fhcApi.post(\n\t\t\t\t\t'/api/frontend/v1/studstatus/leitung/denyObjection',\n\t\t\t\t\tantrag\n\t\t\t\t);\n\t\t\treturn Promise.allSettled(antrag.map(a => this.$fhcApi.post(\n\t\t\t\t'/api/frontend/v1/studstatus/leitung/denyObjection',\n\t\t\t\ta,\n\t\t\t\t{ errorHeader: '#' + a.studierendenantrag_id }\n\t\t\t)));\n\t\t}\n\t}\n};","export default {\n\n getView: function (uid) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/getView/${uid}`,{}\n );\n },\n\n fotoSperre: function (value) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/fotoSperre/${value}`,\n {}\n );\n \n },\n\n isStudent: function (uid) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/isStudent`,\n {\n uid:uid,\n }\n );\n },\n\n isMitarbeiter: function (uid) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/isMitarbeiter/${uid}`,\n {}\n );\n },\n\n getZustellAdresse: function () {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/getZustellAdresse`,{}\n );\n },\n\n getZustellKontakt: function () {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/getZustellKontakt`,{}\n );\n },\n\n getGemeinden: function(nation,zip){\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/Profil/getGemeinden/${nation}/${zip}`,\n {}\n );\n \n },\n getAllNationen:function(){\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root + \n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/Profil/getAllNationen\",{}\n );\n },\n}","export default {\n //! API calls for profil update requests\n \n getStatus: function () {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/getStatus`,{});\n },\n \n getTopic: function () {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/getTopic`,{});\n },\n \n acceptProfilRequest: function ({profil_update_id, uid, status_message, topic, requested_change}) {\n\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/ProfilUpdate/acceptProfilRequest\",{profil_update_id, uid, status_message, topic, requested_change});\n },\n \n denyProfilRequest: function ({profil_update_id, uid, topic, status_message}) {\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/ProfilUpdate/denyProfilRequest\",{profil_update_id,uid,topic,status_message});\n },\n \n insertFile: function (dms, replace = null) {\n\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/insertFile/${replace}`,\n dms);\n\n },\n \n getProfilRequestFiles: function (requestID) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/getProfilRequestFiles/${requestID}`,{});\n },\n \n selectProfilRequest: function (uid = null, id = null) {\n\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/selectProfilRequest`,\n {...(uid?{uid}:{}),\n ...(id?{id}:{})\n });\n },\n \n insertProfilRequest: function (topic, payload, fileID = null) {\n\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/ProfilUpdate/insertProfilRequest\",\n {\n topic,\n payload,\n ...(fileID ? { fileID } : {}),\n });\n },\n \n updateProfilRequest: function (topic, payload, ID, fileID = null) {\n\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/updateProfilRequest`,\n {\n topic,\n payload,\n ID,\n ...(fileID ? { fileID: fileID } : {}),\n });\n },\n \n deleteProfilRequest: function (requestID) {\n\n return this.$fhcApi.post(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/ProfilUpdate/deleteProfilRequest`,\n {\n requestID,\n });\n },\n };\n ","\nexport default {\n\tgetRoomInfo(ort_kurzbz, start_date, end_date) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/LvPlan/getRoomplan',\n\t\t\t{ ort_kurzbz, start_date, end_date}\n\t\t);\n\t},\n\tgetStunden() {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/LvPlan/Stunden',\n\t\t\t{}\n\t\t);\n\t},\n\tgetOrtReservierungen(ort_kurzbz, start_date, end_date) {\n\t\treturn this.$fhcApi.post(\n\t\t\t`/api/frontend/v1/LvPlan/getReservierungen/${ort_kurzbz}`,\n\t\t\t{ start_date, end_date}\n\t\t);\n\t},\n\tgetLvPlanReservierungen(start_date, end_date) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'/api/frontend/v1/LvPlan/getReservierungen',\n\t\t\t{ start_date, end_date }\n\t\t);\n\t},\n\tgetLehreinheitStudiensemester(lehreinheit_id) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/LvPlan/getLehreinheitStudiensemester/${lehreinheit_id}`,\n\t\t\t{}\n\t\t);\n\t},\n\tstudiensemesterDateInterval(date) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/LvPlan/studiensemesterDateInterval/${date}`,\n\t\t\t{}\n\t\t);\n\t},\n\tLvPlanEvents(start_date, end_date, lv_id) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/LvPlan/LvPlanEvents',\n\t\t\t{ start_date, end_date, lv_id }\n\t\t);\n\t},\n\t\n\t\n};","import verband from './stv/verband.js';\nimport students from './stv/students.js';\nimport filter from './stv/filter.js';\nimport konto from './stv/konto.js';\nimport group from './stv/group.js';\nimport kontakt from './stv/kontakt.js';\nimport prestudent from './stv/prestudent.js';\nimport status from './stv/status.js';\nimport details from './stv/details.js';\nimport exam from './stv/exam.js';\nimport abschlusspruefung from './stv/abschlusspruefung.js';\nimport grades from './stv/grades.js';\nimport mobility from './stv/mobility.js';\nimport archiv from './stv/archiv.js';\nimport documents from './stv/documents.js';\nimport exemptions from './stv/exemptions.js';\nimport jointstudies from \"./stv/jointstudies.js\";\nimport courselist from './stv/courselist.js';\n\nexport default {\n\tverband,\n\tstudents,\n\tfilter,\n\tkonto,\n\tgroup,\n\tkontakt,\n\tprestudent,\n\tstatus,\n\tdetails,\n\texam,\n\tabschlusspruefung,\n\tgrades,\n\tmobility,\n\tarchiv,\n\tdocuments,\n\texemptions,\n\tjointstudies,\n\tcourselist,\n\tconfigStudent() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/config/student');\n\t},\n\tconfigStudents() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/config/students');\n\t}\n};\n","export default {\n\tget() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/verband');\n\t},\n\tfavorites: {\n\t\tget() {\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/stv/favorites');\n\t\t},\n\t\tset(favorites) {\n\t\t\treturn this.$fhcApi.post('api/frontend/v1/stv/favorites/set', {\n\t\t\t\tfavorites\n\t\t\t});\n\t\t}\n\t}\n}","export default {\n\tuid(uid, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/students/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz)\n\t\t\t+ '/uid/'\n\t\t\t+ encodeURIComponent(uid);\n\t\treturn this.$fhcApi.getUri(url);\n\t},\n\tprestudent(prestudent_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/students/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz)\n\t\t\t+ '/prestudent/'\n\t\t\t+ encodeURIComponent(prestudent_id);\n\t\treturn this.$fhcApi.getUri(url);\n\t},\n\tperson(person_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/students/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz)\n\t\t\t+ '/person/'\n\t\t\t+ encodeURIComponent(person_id);\n\t\treturn this.$fhcApi.getUri(url);\n\t},\n\tverband(relative_path) {\n\t\treturn this.$fhcApi.getUri('api/frontend/v1/stv/students/' + relative_path);\n\t}\n}","export default {\n\tgetStg() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/filter/getStg');\n\t},\n\tsetStg(studiengang_kz) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/filter/setStg', {\n\t\t\tstudiengang_kz\n\t\t});\n\t}\n};","export default {\n\ttabulatorConfig(config, self) {\n\t\tconfig.ajaxURL = 'api/frontend/v1/stv/konto/get';\n\t\tconfig.ajaxParams = () => {\n\t\t\tconst params = {\n\t\t\t\tperson_id: self.modelValue.person_id || self.modelValue.map(e => e.person_id),\n\t\t\t\tonly_open: self.filter,\n\t\t\t\tstudiengang_kz: self.studiengang_kz_intern ? self.stg_kz : ''\n\t\t\t};\n\t\t\treturn params;\n\t\t};\n\t\tconfig.ajaxRequestFunc = (url, config, params) => this.$fhcApi.post(url, params, config);\n\t\tconfig.ajaxResponse = (url, params, response) => response.data;\n\n\t\treturn config;\n\t},\n\tcheckDoubles(form, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/konto/checkDoubles', data, {\n\t\t\tconfirmErrorHandler: error => true\n\t\t});\n\t},\n\tinsert(form, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/konto/insert', data);\n\t},\n\tcounter(data) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/konto/counter', data);\n\t},\n\tedit(form, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/konto/update', data);\n\t},\n\tdelete(buchungsnr) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/konto/delete', {buchungsnr});\n\t},\n\tgetBuchungstypen() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/konto/getBuchungstypen');\n\t}\n};","export default {\n\tgetGruppen(url, config, params) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/Gruppen/getGruppen/' + params.id);\n\t},\n\tdeleteGroup(params) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/Gruppen/deleteGruppe/', params);\n\t}\n}","export default {\n\t//------------- address.js-----------\n\tgetAdressen (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getAdressen/' + params.id);\n\t},\n\taddNewAddress(form, id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/addNewAddress/' + id,\n\t\t\tdata\n\t\t);\n\t},\n\tloadAddress(address_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/loadAddress/', {address_id});\n\t},\n\tupdateAddress(form, address_id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/updateAddress/' + address_id,\n\t\t\tdata\n\t\t);\n\t},\n\tdeleteAddress(address_id) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteAddress/', {address_id});\n\t},\n\tgetPlaces(plz) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/address/getPlaces/' + plz);\n\t},\n\tgetFirmen(searchString) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getFirmen/' + searchString);\n\t},\n\tgetNations() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/address/getNations/');\n\t},\n\tgetAdressentypen() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getAdressentypen/');\n\t},\n\n\t//------------- bankverbindung.js-----------\n\tgetBankverbindung (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getBankverbindung/' + params.id);\n\t},\n\taddNewBankverbindung(form, id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/addNewBankverbindung/' + id,\n\t\t\tdata\n\t\t);\n\t},\n\tloadBankverbindung(bankverbindung_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/loadBankverbindung/', {bankverbindung_id});\n\t},\n\tupdateBankverbindung(form, bankverbindung_id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/updateBankverbindung/' + bankverbindung_id,\n\t\t\tdata\n\t\t);\n\t},\n\tdeleteBankverbindung(bankverbindung_id) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteBankverbindung/', {bankverbindung_id});\n\t},\n\n\t//------------- contact.js-----------\n\tgetKontakte (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getKontakte/' + params.id);\n\t},\n\taddNewContact(form, id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/addNewContact/' + id,\n\t\t\tdata\n\t\t);\n\t},\n\tloadContact(kontakt_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/loadContact/', {kontakt_id});\n\t},\n\tupdateContact(form, kontakt_id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/kontakt/updateContact/' + kontakt_id,\n\t\t\tdata\n\t\t);\n\t},\n\tdeleteContact(kontakt_id) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/kontakt/deleteContact/', {kontakt_id});\n\t},\n\tgetStandorteByFirma(searchString){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getStandorteByFirma/' + searchString);\n\t},\n\tgetKontakttypen(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/kontakt/getKontakttypen/');\n\t}\n};","export default {\n\n//------------- Prestudent.js------------------------------------------------------\n\n\tget(prestudent_id, studiensemester_kurzbz) {\n\t\treturn \tthis.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/prestudent/get/'\n\t\t\t+ encodeURIComponent(prestudent_id)\n\t\t\t+ '/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz)\n\t\t\t);\n\t},\n\tupdatePrestudent(form, prestudent_id, data){\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/prestudent/updatePrestudent/' + prestudent_id,\n\t\t\tdata\n\t\t);\n\t},\n\tgetBezeichnungZGV() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBezeichnungZGV/');\n\t},\n\tgetBezeichnungMZgv() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBezeichnungMZgv/');\n\t},\n\tgetBezeichnungDZgv() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBezeichnungDZgv/');\n\t},\n\tgetStgs() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/lists/getStgs/');\n\t},\n\tgetAusbildung() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getAusbildung/');\n\t},\n\tgetAufmerksamdurch() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getAufmerksamdurch/');\n\t},\n\tgetBerufstaetigkeit() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBerufstaetigkeit/');\n\t},\n\tgetTypenStg() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getTypenStg/');\n\t},\n\tgetBisstandort() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getBisstandort/');\n\t},\n\n//------------- MultiStatus.js------------------------------------------------------\n\tgetHistoryPrestudent (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/status/getHistoryPrestudent/' + params.id);\n\t},\n\tgetMaxSem(studiengang_kzs) {\n\t\treturn \tthis.$fhcApi.post('api/frontend/v1/stv/status/getMaxSemester/', {studiengang_kzs});\n\t},\n\tadvanceStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/status/advanceStatus/'\n\t\t\t+ prestudent_id + '/'\n\t\t\t+ status_kurzbz + '/'\n\t\t\t+ studiensemester_kurzbz + '/'\n\t\t\t+ ausbildungssemester\n\t\t);\n\t},\n\tconfirmStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/status/confirmStatus/'\n\t\t\t+ prestudent_id + '/'\n\t\t\t+ status_kurzbz + '/'\n\t\t\t+ studiensemester_kurzbz + '/'\n\t\t\t+ ausbildungssemester\n\t\t);\n\t},\n\tisLastStatus(id) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/status/isLastStatus/' + id);\n\t},\n\tdeleteStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/status/deleteStatus/'\n\t\t\t+ prestudent_id + '/'\n\t\t\t+ status_kurzbz + '/'\n\t\t\t+ studiensemester_kurzbz + '/'\n\t\t\t+ ausbildungssemester\n\t\t);\n\t},\n\tgetLastBismeldestichtag() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/status/getLastBismeldestichtag/');\n\t},\n\n//------------- History.js------------------------------------------------------\n\tgetHistoryPrestudents (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getHistoryPrestudents/' + params.id);\n\t},\n\n}","export default {\n\n//------------- Modal.js------------------------------------------------------\n\n\tinsertStatus(form, id, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/status/insertStatus/' + id,\n\t\t\tdata\n\t\t);\n\t},\n\tloadStatus({prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/status/loadStatus/'\n\t\t\t+ prestudent_id + '/'\n\t\t\t+ status_kurzbz + '/'\n\t\t\t+ studiensemester_kurzbz + '/'\n\t\t\t+ ausbildungssemester\n\t\t);\n\t},\n\tupdateStatus(form, {prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester}, data) {\n\t\treturn this.$fhcApi.post(\n\t\t\tform,\n\t\t\t'api/frontend/v1/stv/status/updateStatus/'\n\t\t\t+ prestudent_id + '/'\n\t\t\t+ status_kurzbz + '/'\n\t\t\t+ studiensemester_kurzbz + '/'\n\t\t\t+ ausbildungssemester,\n\t\t\tdata\n\t\t);\n\t},\n\tgetStudienplaene(prestudent_id) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getStudienplaene/' + prestudent_id);\n\t},\n\tgetStudiengang(prestudent_id) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/prestudent/getStudiengang/' + prestudent_id);\n\t},\n\tgetStatusgruende() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/status/getStatusgruende/');\n\t},\n\tgetStati() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/lists/getStati/');\n\t},\n\n//------------- Dropdown.js------------------------------------------------------\n\n\taddStudent(id, data) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/status/addStudent/' + id,\n\t\t\tdata,\n\t\t\t{errorHeader: id}\n\t\t);\n\t},\n\tchangeStatus(id, data) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/status/changeStatus/' + id,\n\t\t\tdata,\n\t\t\t{errorHeader: id}\n\t\t);\n\t},\n\tgetStatusarray() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/status/getStatusarray/');\n\t}\n}","export default {\n\tget(prestudent_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/student/get/'\n\t\t\t+ encodeURIComponent(prestudent_id)\n\t\t\t+ '/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz);\n\t\treturn this.$fhcApi.post(url);\n\t},\n\tsave(form, prestudent_id, studiensemester_kurzbz, data) {\n\t\tlet url = 'api/frontend/v1/stv/student/save/'\n\t\t\t+ encodeURIComponent(prestudent_id)\n\t\t\t+ '/'\n\t\t\t+ encodeURIComponent(studiensemester_kurzbz);\n\t\treturn this.$fhcApi.post(form, url, data);\n\t},\n}\n","export default {\n\tgetPruefungen(url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getPruefungen/' + params.id);\n\t},\n\tloadPruefung(pruefung_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/loadPruefung/' + pruefung_id);\n\t},\n\tgetTypenPruefungen(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getTypenPruefungen');\n\t},\n\tgetAllLehreinheiten(data){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/pruefung/getAllLehreinheiten/', data)\n\t},\n\tgetLvsByStudent(uid){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getLvsByStudent/' + uid)\n\t},\n\tgetLvsandLesByStudent(uid, semester){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getLvsandLesByStudent/' + uid + '/' + semester);\n\t},\n\tgetLvsAndMas(uid){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getLvsAndMas/' + uid)\n\t},\n\tgetMitarbeiterLv(id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getMitarbeiterLv/' + id)\n\t},\n\tgetNoten(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/pruefung/getNoten');\n\t},\n\tcheckZeugnisnoteLv(data){\n\t\treturn \tthis.$fhcApi.post('api/frontend/v1/stv/pruefung/checkZeugnisnoteLv/', data)\n\t},\n\taddPruefung(form, data){\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/stv/pruefung/insertPruefung/', data);\n\t},\n\tupdatePruefung(form, id, data){\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/stv/pruefung/updatePruefung/' + id, data);\n\t},\n\tdeletePruefung(id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/pruefung/deletePruefung/' + id)\n\t}\n}","export default {\n\n\tgetAbschlusspruefung (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getAbschlusspruefung/' + params.id);\n\t},\n\taddNewAbschlusspruefung(form, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/abschlusspruefung/insertAbschlusspruefung/', data\n\t\t);\n\t},\n\tloadAbschlusspruefung(id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/abschlusspruefung/loadAbschlusspruefung/', {id});\n\t},\n\tupdateAbschlusspruefung(form, data) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/abschlusspruefung/updateAbschlusspruefung/', data\n\t\t);\n\t},\n\tdeleteAbschlusspruefung(id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/abschlusspruefung/deleteAbschlusspruefung/', {id});\n\t},\n\tgetTypenAbschlusspruefung(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getTypenAbschlusspruefung/');\n\t},\n\tgetTypenAntritte(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getTypenAntritte/');\n\t},\n\tgetBeurteilungen(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getBeurteilungen/');\n\t},\n\tgetAkadGrade(studiengang_kz){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/abschlusspruefung/getAkadGrade/', {studiengang_kz});\n\t},\n\tgetTypStudiengang(studiengang_kz){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/abschlusspruefung/getTypStudiengang/', {studiengang_kz});\n\t},\n\tgetMitarbeiter(searchString){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getMitarbeiter/' + searchString);\n\t},\n\tgetPruefer(searchString){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getPruefer/' + searchString);\n\t},\n\tgetNoten(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/abschlusspruefung/getNoten/');\n\t},\n\tcheckForExistingExams(uids) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/abschlusspruefung/checkForExistingExams/', {uids}\n\t\t);\n\t}\n}","export default {\n\tlist() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/grades/list');\n\t},\n\tgetCertificate(prestudent_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/grades/getCertificate/' + encodeURIComponent(prestudent_id);\n\t\tif (!!studiensemester_kurzbz) {\n\t\t\turl = url + '/' + encodeURIComponent(studiensemester_kurzbz);\n\t\t}\n\t\treturn this.$fhcApi.get(url);\n\t},\n\tgetTeacherProposal(prestudent_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/grades/getTeacherProposal/' + encodeURIComponent(prestudent_id);\n\t\tif (!!studiensemester_kurzbz) {\n\t\t\turl = url + '/' + encodeURIComponent(studiensemester_kurzbz);\n\t\t}\n\t\treturn this.$fhcApi.get(url);\n\t},\n\tgetRepeaterGrades(prestudent_id, studiensemester_kurzbz) {\n\t\tlet url = 'api/frontend/v1/stv/grades/getRepeaterGrades/' + encodeURIComponent(prestudent_id);\n\t\tif (!!studiensemester_kurzbz) {\n\t\t\turl = url + '/' + encodeURIComponent(studiensemester_kurzbz);\n\t\t}\n\t\treturn this.$fhcApi.get(url);\n\t},\n\tupdateCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, note, lehrveranstaltung_bezeichnung}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/grades/updateCertificate',\n\t\t\t{\n\t\t\t\tlehrveranstaltung_id,\n\t\t\t\tstudent_uid,\n\t\t\t\tstudiensemester_kurzbz,\n\t\t\t\tnote\n\t\t\t},\n\t\t\t{\n\t\t\t\terrorHeader: lehrveranstaltung_bezeichnung\n\t\t\t}\n\t\t);\n\t},\n\tdeleteCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, lehrveranstaltung_bezeichnung}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/grades/deleteCertificate',\n\t\t\t{\n\t\t\t\tlehrveranstaltung_id,\n\t\t\t\tstudent_uid,\n\t\t\t\tstudiensemester_kurzbz\n\t\t\t},\n\t\t\t{\n\t\t\t\terrorHeader: lehrveranstaltung_bezeichnung\n\t\t\t}\n\t\t);\n\t},\n\tcopyTeacherProposalToCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, lehrveranstaltung_bezeichnung}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/grades/copyTeacherProposalToCertificate',\n\t\t\t{\n\t\t\t\tlehrveranstaltung_id,\n\t\t\t\tstudent_uid,\n\t\t\t\tstudiensemester_kurzbz\n\t\t\t},\n\t\t\t{\n\t\t\t\terrorHeader: lehrveranstaltung_bezeichnung\n\t\t\t}\n\t\t);\n\t},\n\tcopyRepeaterGradeToCertificate({studierendenantrag_lehrveranstaltung_id, lv_bezeichnung}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/stv/grades/copyRepeaterGradeToCertificate',\n\t\t\t{\n\t\t\t\tstudierendenantrag_lehrveranstaltung_id\n\t\t\t},\n\t\t\t{\n\t\t\t\terrorHeader: lv_bezeichnung\n\t\t\t}\n\t\t);\n\t},\n\tgetGradeFromPoints(points, lehrveranstaltung_id, studiensemester_kurzbz, manualErrorHandling) {\n\t\tconst config = manualErrorHandling ? {errorHandling: false} : {};\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/grades/getGradeFromPoints',\n\t\t\t{\n\t\t\t\t\"points\": points,\n\t\t\t\t\"lehrveranstaltung_id\": lehrveranstaltung_id,\n\t\t\t\t\"studiensemester_kurzbz\": studiensemester_kurzbz\n\t\t\t},\n\t\t\tconfig\n\t\t\t);\n\t}\n}","export default {\n\tgetMobilitaeten (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getMobilitaeten/' + params.id);\n\t},\n\tgetProgramsMobility(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getProgramsMobility/');\n\t},\n\taddNewMobility(form, data){\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/mobility/insertMobility/', data);\n\t},\n\tloadMobility(bisio_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/loadMobility/' + bisio_id);\n\t},\n\tupdateMobility(form, data){\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/mobility/updateMobility/', data);\n\t},\n\tdeleteMobility(bisio_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/deleteMobility/' + bisio_id);\n\t},\n\tgetLVList(studiengang_kz){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getLVList/' + studiengang_kz);\n\t},\n\tgetAllLehreinheiten(data){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/getAllLehreinheiten/', data)\n\t},\n\tgetLvsandLesByStudent(uid){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getLvsandLesByStudent/' + uid);\n\t},\n\tgetPurposes(url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getPurposes/' + params.id);\n\t},\n\tgetSupports(url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getSupports/' + params.id);\n\t},\n\tgetListPurposes() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getListPurposes/');\n\t},\n\tgetListSupports() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/mobility/getListSupports/');\n\t},\n\tdeleteMobilityPurpose(params) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/deleteMobilityPurpose/' + params.bisio_id, params);\n\t},\n\taddMobilityPurpose(params) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/addMobilityPurpose/' + params.bisio_id, params);\n\t},\n\tdeleteMobilitySupport(params) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/deleteMobilitySupport/' + params.bisio_id, params);\n\t},\n\taddMobilitySupport(params) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/mobility/addMobilitySupport/' + params.bisio_id, params);\n\t},\n\n}","export default {\n\ttabulatorConfig(config, self) {\n\t\tconfig.ajaxURL = 'api/frontend/v1/stv/archiv/get';\n\t\tconfig.ajaxParams = () => {\n\t\t\tconst params = {\n\t\t\t\tperson_id: self.modelValue.person_id || self.modelValue.map(e => e.person_id)\n\t\t\t};\n\t\t\treturn params;\n\t\t};\n\t\tconfig.ajaxRequestFunc = (url, config, params) => this.$fhcApi.post(url, params, config);\n\t\tconfig.ajaxResponse = (url, params, response) => response.data;\n\n\t\treturn config;\n\t},\n\tgetArchivVorlagen() {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/archiv/getArchivVorlagen');\n\t},\n\tarchive(data) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/documents/archive',\n\t\t\tdata\n\t\t);\n\t},\n\tarchiveSigned(data) {\n\t\treturn this.$fhcApi.post(\n\t\t\t'api/frontend/v1/documents/archiveSigned',\n\t\t\tdata\n\t\t);\n\t},\n\tupdate(data) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/archiv/update', data);\n\t},\n\tdelete({akte_id, studiengang_kz}) {\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/archiv/delete', {akte_id, studiengang_kz});\n\t}\n};\n","export default {\n\tgetDocumentsUnaccepted(url, config, params) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/dokumente/getDocumentsUnaccepted/' + params.id + '/' + params.studiengang_kz);\n\t},\n\tgetDocumentsAccepted(url, config, params) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/dokumente/getDocumentsAccepted/' + params.id + '/' + params.studiengang_kz);\n\t},\n\tdeleteZuordnung(params){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/dokumente/deleteZuordnung/' + params.prestudent_id + '/' + params.dokument_kurzbz);\n\t},\n\tcreateZuordnung(params){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/dokumente/createZuordnung/'\n\t\t\t+ params.prestudent_id + '/'\n\t\t\t+ params.dokument_kurzbz);\n\t},\n\tloadAkte(akte_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/dokumente/loadAkte/' + akte_id);\n\t},\n\tgetDoktypen(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/dokumente/getDoktypen/');\n\t},\n\tupdateFile(akte_id, data){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/dokumente/updateAkte/' + akte_id,\n\t\t\tdata);\n\t},\n\tdeleteFile(akte_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/dokumente/deleteAkte/' + akte_id);\n\t},\n\tuploadFile(prestudent_id, data){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/dokumente/uploadDokument/' + prestudent_id,\n\t\t\tdata);\n\t},\n}","export default {\n\tgetAnrechnungen(url, config, params) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/getAnrechnungen/' + params.id);\n\t},\n\tgetLehrveranstaltungen(prestudent_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/getLehrveranstaltungen/' + prestudent_id);\n\t},\n\tgetBegruendungen(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/getBegruendungen/');\n\t},\n\tgetLvsKompatibel(lv_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/getLvsKompatibel/' + lv_id);\n\t},\n\tgetLektoren(studiengang_kz){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/getLektoren/' + studiengang_kz);\n\t},\n\taddNewAnrechnung(form, data){\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/anrechnungen/insertAnrechnung/', data);\n\t},\n\tloadAnrechnung(anrechnung_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/anrechnungen/loadAnrechnung/' + anrechnung_id);\n\t},\n\teditAnrechnung(form, data){\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/stv/anrechnungen/updateAnrechnung/', data);\n\t},\n\tdeleteAnrechnung(anrechnung_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/anrechnungen/deleteAnrechnung/' + anrechnung_id);\n\t},\n}","export default {\n\tgetStudies(url, config, params) {\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getStudien/' + params.id);\n\t},\n\tgetTypenMobility(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getTypenMobility/');\n\t},\n\tgetStudiensemester(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getStudiensemester/');\n\t},\n\tgetStudyprograms(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getStudienprogramme/');\n\t},\n\tgetListPartner(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getPartnerfirmen/');\n\t},\n\tgetStatiPrestudent(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/getStatiPrestudent/');\n\t},\n\tloadStudy(id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/GemeinsameStudien/loadStudie/' + id);\n\t},\n\tinsertStudy(form, data){\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/stv/GemeinsameStudien/insertStudie/', data);\n\t},\n\tupdateStudy(form, data){\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/stv/GemeinsameStudien/updateStudie/', data);\n\t},\n\tdeleteStudy(id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/stv/GemeinsameStudien/deleteStudie/' + id);\n\t},\n\n}","export default {\n\tgetCourselist(url, config, params) {\n\t\t//corresponding logic controller Stundenplan.php\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/LvTermine/getStundenplan/'\n\t\t\t+ params.student_uid + '/'\n\t\t\t+ params.start_date + '/'\n\t\t\t+ params.end_date + '/'\n\t\t\t+ params.group_consecutiveHours + '/'\n\t\t\t+ params.dbStundenplanTable\n\t\t);\n\t},\n\tgetStudiensemester(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/stv/LvTermine/getStudiensemester/');\n\t},\n}","import person from \"./notiz/person.js\";\n\nexport default {\n\tperson\n}","export default {\n\tgetNotizen (url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/notiz/notizPerson/getNotizen/' + params.id + '/' + params.type);\n\t},\n\tgetUid(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/notiz/notizPerson/getUid/');\n\t},\n\taddNewNotiz(form, id, formData) {\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/notiz/notizPerson/addNewNotiz/' + id,\n\t\t\tformData\n\t\t);\n\t},\n\tloadNotiz(notiz_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/notiz/notizPerson/loadNotiz/', {\n\t\t\tnotiz_id\n\t\t});\n\t},\n\tloadDokumente(notiz_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/notiz/notizPerson/loadDokumente/', {\n\t\t\tnotiz_id\n\t\t});\n\t},\n\tdeleteNotiz(notiz_id, type_id, id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/notiz/notizPerson/deleteNotiz/', {\n\t\t\tnotiz_id,\n\t\t\ttype_id,\n\t\t\tid\n\t\t});\n\t},\n\tupdateNotiz(form, notiz_id, formData){\n\t\treturn this.$fhcApi.post(form,'api/frontend/v1/notiz/notizPerson/updateNotiz/' + notiz_id,\n\t\t\tformData\n\t\t);\n\t},\n\tgetMitarbeiter(event){\n\t\treturn this.$fhcApi.get('api/frontend/v1/notiz/notizPerson/getMitarbeiter/' + event);\n\t},\n\tisBerechtigt(id, type_id){\n\t\treturn this.$fhcApi.get('api/frontend/v1/notiz/notizPerson/isBerechtigt/');\n\t}\n}","import person from \"./betriebsmittel/person.js\";\n\nexport default {\n\tperson\n}","export default {\n\tgetAllBetriebsmittel(url, config, params){\n\t\treturn this.$fhcApi.get('api/frontend/v1/betriebsmittel/betriebsmittelP/getAllBetriebsmittel/' + params.type + '/' + params.id);\n\t},\n\taddNewBetriebsmittel(form, person_id, formData) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/betriebsmittel/betriebsmittelP/addNewBetriebsmittel/' +\n\t\t\tperson_id, formData\n\t\t);\n\t},\n\tloadBetriebsmittel(betriebsmittelperson_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/betriebsmittel/betriebsmittelP/loadBetriebsmittel/' + betriebsmittelperson_id);\n\t},\n\tupdateBetriebsmittel(form, betriebsmittelperson_id, formData) {\n\t\treturn this.$fhcApi.post(form, 'api/frontend/v1/betriebsmittel/betriebsmittelP/updateBetriebsmittel/' + betriebsmittelperson_id,\n\t\t\tformData);\n\t},\n\tdeleteBetriebsmittel(betriebsmittelperson_id){\n\t\treturn this.$fhcApi.post('api/frontend/v1/betriebsmittel/betriebsmittelP/deleteBetriebsmittel/' +\tbetriebsmittelperson_id);\n\t},\n\tgetTypenBetriebsmittel(){\n\t\treturn this.$fhcApi.get('api/frontend/v1/betriebsmittel/betriebsmittelP/getTypenBetriebsmittel/');\n\t},\n\tloadInventarliste(query){\n\t\treturn this.$fhcApi.get('api/frontend/v1/betriebsmittel/betriebsmittelP/loadInventarliste/' +\tquery);\n\t}\n}","export default {\n\tupdatePersonUnrulyStatus(person_id, unrulyParam) {\n\n\t\ttry {\n\t\t\tconst payload = {person_id, unruly: unrulyParam}\n\t\t\tconst url = '/api/frontend/v1/checkperson/CheckPerson/updatePersonUnrulyStatus';\n\t\t\treturn this.$fhcApi.post(url, payload, null);\n\t\t} catch (error) {\n\t\t\tthrow error;\n\t\t}\n\n\t},\n\tfilterPerson(payload, base = ''){\n\n\t\ttry {\n\t\t\tconst url = base + '/api/frontend/v1/checkperson/CheckPerson/filterPerson';\n\t\t\treturn axios.post(url, payload)\n\t\t} catch (error) {\n\t\t\tthrow error;\n\t\t}\n\n\t}\n}","export default {\n getContentID(ort_kurbz) {\n\t\treturn this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/Ort/ContentID\",\n\t\t\t{ ort_kurzbz: ort_kurbz }\n\t\t);\n\t},\n\tgetRooms(datum, von, bis, typ, personenanzahl = 0) {\n\t\treturn this.$fhcApi.get(\n\t\t\tFHC_JS_DATA_STORAGE_OBJECT.app_root +\n\t\t\tFHC_JS_DATA_STORAGE_OBJECT.ci_router +\n\t\t\t\"/api/frontend/v1/Ort/getRooms\",\n\t\t\t{ datum, von, bis, typ, personenanzahl }\n\t\t);\n\t},\n\tgetRoomTypes() {\n\t\treturn this.$fhcApi.get(\n\t\t\tFHC_JS_DATA_STORAGE_OBJECT.app_root +\n\t\t\tFHC_JS_DATA_STORAGE_OBJECT.ci_router +\n\t\t\t\"/api/frontend/v1/Ort/getTypes\"\n\t\t);\n\t}\n}","export default {\n content(content_id, version=null, sprache=null, sichtbar=null) {\n return this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Cms/content\",\n\t\t\t{ \n\t\t\t\tcontent_id: content_id,\n\t\t\t\t...(version?{version}:{}),\n\t\t\t\t...(sprache?{sprache}:{}),\n\t\t\t\t...(sichtbar?{sichtbar}:{}),\n }\n );\n },\n\t//api function used for the news View that renders the html\n\tgetNews(page = 1, page_size = 10, sprache) {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Cms/getNews\",\n\t\t\t{\n\t\t\t\tpage,\n\t\t\t\tpage_size,\n\t\t\t\tsprache,\n\t\t\t},\n\t\t);\n\t},\n\t//api function used for the widget component\n\tnews(limit) {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Cms/news\",\n\t\t\t{\n\t\t\t\tlimit: limit\n\t\t\t}\n\t\t);\n\t},\n\tgetNewsRowCount: function () {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Cms/getNewsRowCount\",\n\t\t\t{}\n\t\t);\n\t},\n\tgetNewsExtra: function(){\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Cms/getStudiengangInfoForNews\",\n\t\t\t{}\n\t\t);\n\t}\n }","export default {\n getStudentenMail(lehreinheit_id) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n \"/api/frontend/v1/Lehre/lvStudentenMail\",\n { lehreinheit_id: lehreinheit_id }\n );\n },\n\tgetLvInfo(studiensemester_kurzbz, lehrveranstaltung_id) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Lehre/LV/${studiensemester_kurzbz}/${lehrveranstaltung_id}`\n\t\t\t, {}\n\t\t);\n\t},\n\tgetStudentPruefungen(lehrveranstaltung_id){\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Lehre/Pruefungen/${lehrveranstaltung_id}`\n\t\t\t, {}\n\t\t);\n\t},\n\tgetStudentProjektarbeiten(uid) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Lehre/getStudentProjektarbeiten/${uid}`\n\t\t\t, {}\n\t\t);\n\t},\n\tgetStudentProjektabgaben(detail) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Lehre/getStudentProjektabgaben`\n\t\t\t, {\n\t\t\t\tprojektarbeit_id: detail.projektarbeit_id,\n\t\t\t\tstudent_uid: detail.student_uid\n\t\t\t}\n\t\t);\n\t},\n\tpostStudentProjektarbeitEndupload(formData) {\n\t\tconst url = '/api/frontend/v1/Lehre/postStudentProjektarbeitEndupload';\n\t\tconst headers = {Headers: { \"Content-Type\": \"multipart/form-data\" }}\n\t\treturn this.$fhcApi.post(url, formData, headers)\n\t},\n\tpostStudentProjektarbeitZwischenabgabe(formData) {\n\t\tconst url = '/api/frontend/v1/Lehre/postStudentProjektarbeitZwischenabgabe';\n\t\tconst headers = {Headers: { \"Content-Type\": \"multipart/form-data\" }}\n\t\treturn this.$fhcApi.post(url, formData, headers)\n\t},\n\tgetStudentProjektarbeitAbgabeFile(paabgabe_id, student_uid) {\n\t\tconst url = `/Cis/Abgabetool/getStudentProjektarbeitAbgabeFile?paabgabe_id=${paabgabe_id}&student_uid=${student_uid}`;\n\n\t\twindow.location = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + url\n\t},\n\tgetMitarbeiterProjektarbeiten(uid, all) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Lehre/getMitarbeiterProjektarbeiten?showall=${all}`\n\t\t\t, {}\n\t\t);\n\t},\n\tpostProjektarbeitAbgabe(termin) {\n\t\tconst payload = {\n\t\t\tpaabgabe_id: termin.paabgabe_id,\n\t\t\tpaabgabetyp_kurzbz: termin.bezeichnung.paabgabetyp_kurzbz,\n\t\t\tdatum: termin.datum,\n\t\t\tfixtermin: termin.fixtermin,\n\t\t\tinsertvon: termin.insertvon,\n\t\t\tkurzbz: termin.kurzbz,\n\t\t\tprojektarbeit_id: termin.projektarbeit_id\n\t\t}\n\t\tconst url = '/api/frontend/v1/Lehre/postProjektarbeitAbgabe';\n\n\t\treturn this.$fhcApi.post(url, payload, null)\n\t\t\n\t},\n\tdeleteProjektarbeitAbgabe(paabgabe_id) {\n\t\tconst payload = {\n\t\t\tpaabgabe_id\n\t\t}\n\t\tconst url = '/api/frontend/v1/Lehre/deleteProjektarbeitAbgabe';\n\n\t\treturn this.$fhcApi.post(url, payload, null)\n\t},\n\tpostSerientermin(datum, paabgabetyp_kurzbz, bezeichnung, kurzbz, projektarbeit_ids) {\n\t\tconst payload = {\n\t\t\tdatum, paabgabetyp_kurzbz, bezeichnung, kurzbz, projektarbeit_ids\n\t\t}\n\t\tconst url = '/api/frontend/v1/Lehre/postSerientermin';\n\n\t\treturn this.$fhcApi.post(url, payload, null)\n\t},\n\tfetchDeadlines(person_id) {\n\t\tconst payload = {\n\t\t\tperson_id\n\t\t}\n\t\tconst url = '/api/frontend/v1/Lehre/fetchDeadlines';\n\n\t\treturn this.$fhcApi.post(url, payload, null)\n\t}\n }","export default {\n getLvMenu(lvid, studiensemester_kurzbz) {\n return this.$fhcApi.get(\n FHC_JS_DATA_STORAGE_OBJECT.app_root +\n FHC_JS_DATA_STORAGE_OBJECT.ci_router +\n `/api/frontend/v1/LvMenu/getLvMenu/${lvid}/${studiensemester_kurzbz}`,\n {}\n );\n },\n\n \n }","import person from \"./messages/person.js\";\n\nexport default {\n\tperson\n}","export default {\n\t\tgetMessages(url, config, params) {\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getMessages/' + params.id + '/' + params.type + '/' + params.size + '/' + params.page);\n\t\t},\n\t\tgetVorlagen(){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getVorlagen/');\n\t\t},\n\t\tgetMsgVarsLoggedInUser(){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getMsgVarsLoggedInUser/');\n\t\t},\n\t\tgetMessageVarsPerson(params){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getMessageVarsPerson/' + params.id + '/' + params.type_id);\n\t\t},\n\t\tgetMsgVarsPrestudent(params){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getMsgVarsPrestudent/' + params.id + '/' + params.type_id);\n\t\t},\n\t\tgetPersonId(params){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getPersonId/'+ params.id + '/' + params.type_id);\n\t\t},\n\t\tgetUid(params){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getUid/'+ params.id + '/' + params.type_id);\n\t\t},\n\t\tgetDataVorlage(vorlage_kurzbz){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getDataVorlage/' + vorlage_kurzbz);\n\t\t},\n\t\tgetNameOfDefaultRecipient(params){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getNameOfDefaultRecipient/' + params.id + '/' + params.type_id);\n\t\t},\n\t\tgetPreviewText(params, data){\n\t\t\treturn this.$fhcApi.post('api/frontend/v1/messages/messages/getPreviewText/' + params.id + '/' + params.type_id,\n\t\t\t\tdata);\n\t\t},\n\t\tgetReplyData(messageId){\n\t\t\treturn this.$fhcApi.get('api/frontend/v1/messages/messages/getReplyData/' + messageId);\n\t\t},\n\t\tsendMessageFromModalContext(form, id, data) {\n\t\t\treturn this.$fhcApi.post(form,'api/frontend/v1/messages/messages/sendMessage/' + id,\n\t\t\t\tdata);\n\t\t},\n\t\tsendMessage(id, data) {\n\t\t\treturn this.$fhcApi.post('api/frontend/v1/messages/messages/sendMessage/' + id,\n\t\t\t\tdata);\n\t\t},\n\t\tdeleteMessage(messageId){\n\t\t\treturn this.$fhcApi.post('api/frontend/v1/messages/messages/deleteMessage/' + messageId);\n\t\t}\n}","export default {\n\tgetVorlagen() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/vorlagen/vorlagen/getVorlagen/');\n\t},\n\tgetVorlagenByLoggedInUser() {\n\t\treturn this.$fhcApi.get('api/frontend/v1/vorlagen/vorlagen/getVorlagenByLoggedInUser/');\n\t}\n}","export default {\n\n\tgetStudiensemester: function () {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/components/Cis/Mylv/Studiensemester',\n\t\t\t{}\n\t\t);\n\t},\n\n\tgetAllStudienSemester: function (studiensemester=undefined, studiengang=undefined, semester=undefined, studienplan=undefined) {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/Studium/getStudienAllSemester',\n\t\t\t{studiensemester, studiengang, semester, studienplan}\n\t\t);\n\t},\n\n\tgetStudiengaengeForStudienSemester: function (studiensemester) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Studium/getStudiengaengeForStudienSemester/${studiensemester}`,\n\t\t\t{}\n\t\t);\n\t},\n\tgetStudienplaeneBySemester: function (studiengang, studiensemester) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Studium/getStudienplaeneBySemester`,\n\t\t\t{\n\t\t\t\tstudiengang,\n\t\t\t\tstudiensemester,\n\t\t\t}\n\t\t);\n\t},\n\tgetLvPlanForStudiensemester: function (studiensemester, lvid) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/LvPlan/getLvPlanForStudiensemester/${studiensemester}/${lvid}`,\n\t\t\t{\n\t\t\t}\n\t\t);\n\t},\n\tgetLvEvaluierungInfo: function (studiensemester_kurzbz, lvid) {\n\t\treturn this.$fhcApi.get(\n\t\t\t`/api/frontend/v1/Studium/getLvEvaluierungInfo/${studiensemester_kurzbz}/${lvid}`,\n\t\t\t{\n\t\t\t}\n\t\t);\n\t},\n\t\n}","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport search from \"./search.js\";\nimport phrasen from \"./phrasen.js\";\nimport navigation from \"./navigation.js\";\nimport filter from \"./filter.js\";\nimport studstatus from \"./studstatus.js\";\nimport profil from \"./profil.js\";\nimport profilUpdate from \"./profilUpdate.js\";\nimport lvPlan from \"./lvPlan.js\";\nimport bookmark from \"./bookmark.js\";\nimport stv from \"./stv.js\";\nimport notiz from \"./notiz.js\";\nimport betriebsmittel from \"./betriebsmittel.js\";\nimport checkperson from \"./checkperson.js\";\nimport ampeln from \"./ampeln.js\";\nimport ort from \"./ort.js\";\nimport cms from \"./cms.js\";\nimport lehre from \"./lehre.js\";\nimport addons from \"./addons.js\";\nimport messages from \"./messages.js\";\nimport vorlagen from \"./vorlagen.js\";\nimport studiengang from \"./studiengang.js\";\nimport menu from \"./menu.js\";\nimport dashboard from \"./dashboard.js\";\nimport authinfo from \"./authinfo.js\";\nimport studium from \"./studium.js\";\nimport language from \"./language.js\";\n\nexport default {\n search,\n phrasen,\n navigation,\n dashboard,\n filter,\n studstatus,\n profil,\n profilUpdate,\n lvPlan,\n bookmark,\n stv,\n notiz,\n betriebsmittel,\n checkperson,\n ampeln,\n ort,\n cms,\n lehre,\n addons,\n messages,\n vorlagen,\n addons,\n\tstudiengang,\n\tmenu,\n\tauthinfo,\n\tstudium,\n language\n};\n","export default {\n\tasync getViewData() {\n\t\tconst url = `/api/frontend/v1/Cis4FhcApi/getViewData`;\n\t\treturn this.$fhcApi.get(url, null, null)\n\t},\n}","export default {\n\n getBookmarks: function () {\n return this.$fhcApi.get(\n `/api/frontend/v1/Bookmark/getBookmarks`\n ,{}\n );\n },\n \n delete: function (bookmark_id) {\n return this.$fhcApi.get(\n `/api/frontend/v1/Bookmark/delete/${bookmark_id}`\n ,{}\n ); \n },\n\n\tupdate: function ({ bookmark_id, url, title, tag=null}) {\n\t\treturn this.$fhcApi.post(\n\t\t\t`/api/frontend/v1/Bookmark/update/${bookmark_id}`\n\t\t\t, {\n\t\t\t\turl: url,\n\t\t\t\ttitle: title\n\t\t\t}\n\t\t);\n\t},\n\n insert: function ({url, title, tag}) {\n return this.$fhcApi.post(\n `/api/frontend/v1/Bookmark/insert`\n ,{\n url: url,\n title: title,\n tag: tag\n }\n ); \n },\n}","export default {\n \n open: function () {\n return this.$fhcApi.get(\n `/api/frontend/v1/Ampeln/open`,{});\n },\n\n all: function () {\n return this.$fhcApi.get(\n `/api/frontend/v1/Ampeln/all`,{});\n },\n\n confirm: function (ampel_id) {\n return this.$fhcApi.get(\n `/api/frontend/v1/Ampeln/confirm/${ampel_id}`,{});\n },\n\n}","export default {\n\tstudiengangInformation: function () {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/Studgang/getStudiengangInfo\",\n\t\t\t{}\n\t\t);\n\t},\n\tgetStudiengangByKz: function (studiengang_kz) {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/organisation/StudiengangEP/getStudiengangByKz\",\n\t\t\t{\n\t\t\t\t\"studiengang_kz\": studiengang_kz\n\t\t\t}\n\t\t);\n\t}\n}","export default {\n\tgetMenu: function () {\n\t\treturn this.$fhcApi.get(\n\t\t\t\"/api/frontend/v1/CisMenu/getMenu\",\n\t\t\t{}\n\t\t);\n\t}\n\n}","\nexport default {\n\tgetAuthUID() {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/AuthInfo/getAuthUID',\n\t\t\t{ }\n\t\t);\n\t},\n\tgetAuthInfo() {\n\t\treturn this.$fhcApi.get(\n\t\t\t'/api/frontend/v1/AuthInfo/getAuthInfo',\n\t\t\t{}\n\t\t);\n\t},\n};","/**\n * Copyright (C) 2024 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tgetAll() {\n\t\treturn this.$fhcApi.get('/api/frontend/v1/language/get');\n\t}\n};","/** TODO(chris):\n * when deleting this file be sure to\n * remove line 1 & 90 from ../plugins/Phrasen.js\n */\nimport FhcApiFactory from '../api/fhcapifactory.js';\n\n\nexport default {\n\tinstall: (app, options) => {\n\t\tif (app.config.globalProperties.$fhcApi) {\n\t\t\t/* Deprecated Code start */\n\t\t\tif (options?.factory) {\n\t\t\t\tconsole.warn(\"$fhcApi is DEPRECATED!\");\n\t\t\t\tapp.config.globalProperties.$fhcApi.factory.addEndpoints(options.factory);\n\t\t\t}\n\t\t\t/* Deprecated Code end */\n\t\t\treturn;\n\t\t}\n\n\t\tfunction _get_config(form, uri, data, config) {\n\t\t\tif (typeof form == 'string' && config === undefined) {\n\t\t\t\t[uri, data, config] = [form, uri, data];\n\t\t\t\tform = undefined;\n\t\t\t} else if (form) {\n\t\t\t\tif (typeof form != 'object')\n\t\t\t\t\tthrow new TypeError('Parameter 1 of _get_config must be an object or a string');\n\t\t\t\tif (uri === undefined && data === undefined && config === undefined) {\n\t\t\t\t\tconfig = form;\n\t\t\t\t\tform = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (form) {\n\t\t\t\t// NOTE(chris): check if form is fhc-form\n\t\t\t\tif (!form.clearValidation || !form.setFeedback)\n\t\t\t\t\tthrow new TypeError(\"'form' is not a Form Component\");\n\n\t\t\t\tform = {\n\t\t\t\t\tclearValidation: form.clearValidation,\n\t\t\t\t\tsetFeedback: form.setFeedback\n\t\t\t\t};\n\n\t\t\t\tif (config)\n\t\t\t\t\tconfig.form = form;\n\t\t\t\telse\n\t\t\t\t\tconfig = {form};\n\t\t\t}\n\n\t\t\treturn [uri, data, config];\n\t\t}\n\n\t\tfunction _clean_return_value(response) {\n\t\t\tconst result = response.data;\n\t\t\tdelete response.data;\n\t\t\tif (!result.meta)\n\t\t\t\tresult.meta = {response};\n\t\t\telse\n\t\t\t\tresult.meta.response = response;\n\t\t\treturn result;\n\t\t}\n\t\tconst baseURL = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + \"/\";\n\t\tconst fhcApiAxios = axios.create({\n\t\t\ttimeout: 500000,\n\t\t\tbaseURL: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + \"/\"\n\t\t});\n\n\t\tfhcApiAxios.interceptors.request.use(config => {\n\t\t\tif (config.method != 'post' || !config.data)\n\t\t\t\treturn config;\n\n\t\t\tif (config.data instanceof FormData)\n\t\t\t\treturn config;\n\n\t\t\tif (!Object.values(config.data).every(item => {\n\t\t\t\tif (item instanceof FileList)\n\t\t\t\t\treturn false;\n\t\t\t\tif (Array.isArray(item))\n\t\t\t\t\treturn item.every(i => !(i instanceof File));\n\t\t\t\treturn true;\n\t\t\t})) {\n\t\t\t\tconst newData = Object.entries(config.data).reduce((nd, [key, item]) => {\n\t\t\t\t\tif (item instanceof FileList) {\n\t\t\t\t\t\tfor (const file of item)\n\t\t\t\t\t\t\tnd.FormData.append(key + (item.length > 1 ? '[]' : ''), file);\n\t\t\t\t\t} else if (Array.isArray(item)) {\n\t\t\t\t\t\tif (item.every(i => !(i instanceof File))) {\n\t\t\t\t\t\t\tnd.jsondata[key] = item;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\titem.forEach(file => nd.FormData.append(key + (item.length > 1 ? '[]' : ''), file));\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnd.jsondata[key] = item;\n\t\t\t\t\t}\n\t\t\t\t\treturn nd;\n\t\t\t\t}, {\n\t\t\t\t\tFormData: new FormData(),\n\t\t\t\t\tjsondata: {}\n\t\t\t\t});\n\t\t\t\tnewData.FormData.append('_jsondata', JSON.stringify(newData.jsondata));\n\t\t\t\tconfig.data = newData.FormData;\n\t\t\t}\n\n\t\t\treturn config;\n\t\t});\n\n\t\tfhcApiAxios.interceptors.response.use(response => {\n\t\t\tif (response.config?.errorHandling == 'off'\n\t\t\t\t|| response.config?.errorHandling === false\n\t\t\t\t|| response.config?.errorHandling == 'fail')\n\t\t\t\treturn _clean_return_value(response);\n\n\t\t\t// NOTE(chris): loop through errors\n\t\t\tif (response.data.errors)\n\t\t\t\tresponse.data.errors = response.data.errors.filter(\n\t\t\t\t\terr => (response.config[err.type + 'ErrorHandler'] || app.config.globalProperties.$fhcApi._defaultErrorHandlers[err.type])(err, response.config)\n\t\t\t\t);\n\n\t\t\treturn _clean_return_value(response);\n\t\t}, error => {\n\t\t\tif (error.code == 'ERR_CANCELED')\n\t\t\t\treturn Promise.reject({...{handled: true}, ...error});\n\n\t\t\tif (error.config?.errorHandling == 'off'\n\t\t\t\t|| error.config?.errorHandling === false\n\t\t\t\t|| error.config?.errorHandling == 'success')\n\t\t\t\treturn Promise.reject(error);\n\n\t\t\tif (error.response) {\n\t\t\t\tif (error.response.status == 404) {\n\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertDefault('error', error.message, error.request.responseURL, true);\n\t\t\t\t\treturn Promise.reject({...{handled: true}, ...error});\n\t\t\t\t}\n\n\t\t\t\t// NOTE(chris): loop through errors\n\t\t\t\terror.response.data.errors = error.response.data.errors.filter(\n\t\t\t\t\terr => (error.config[err.type + 'ErrorHandler'] || app.config.globalProperties.$fhcApi._defaultErrorHandlers[err.type])(err, error.config)\n\t\t\t\t);\n\t\t\t\tif (!error.response.data.errors.length)\n\t\t\t\t\treturn Promise.reject({...{handled: true}, ...error});\n\t\t\t} else if (error.request) {\n\t\t\t\tapp.config.globalProperties.$fhcAlert.alertDefault('error', error.message, error.request.responseURL);\n\t\t\t\treturn Promise.reject({...{handled: true}, ...error});\n\t\t\t} else {\n\t\t\t\tapp.config.globalProperties.$fhcAlert.alertError(error.message);\n\t\t\t\treturn Promise.reject({...{handled: true}, ...error});\n\t\t\t}\n\n\t\t\treturn Promise.reject(error);\n\t\t});\n\n\t\tapp.config.globalProperties.$fhcApi = {\n\t\t\tgetUri(url) {\n\t\t\t\tconsole.warn('$fhcApi.getUri is DEPRECATED! Use $api.getUri instead.');\n\t\t\t\treturn fhcApiAxios.getUri({url});\n\t\t\t},\n\t\t\tget(form, uri, params, config) {\n\t\t\t\tconsole.warn('$fhcApi.get is DEPRECATED! Use $api.get instead.');\n\t\t\t\t[uri, params, config] = _get_config(form, uri, params, config);\n\t\t\t\tif (params) {\n\t\t\t\t\tif (config)\n\t\t\t\t\t\tconfig.params = params;\n\t\t\t\t\telse\n\t\t\t\t\t\tconfig = {params};\n\t\t\t\t}\n\t\t\t\treturn fhcApiAxios.get(uri, config);\n\t\t\t},\n\t\t\tpost(form, uri, data, config) {\n\t\t\t\tconsole.warn('$fhcApi.post is DEPRECATED! Use $api.post instead.');\n\t\t\t\t[uri, data, config] = _get_config(form, uri, data, config);\n\t\t\t\treturn fhcApiAxios.post(uri, data, config);\n\t\t\t},\n\t\t\t_defaultErrorHandlers: {\n\t\t\t\tvalidation(error, config) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tif (config?.form) {\n\t\t\t\t\t\tconfig.form.clearValidation();\n\t\t\t\t\t\tconfig.form.setFeedback(false, error.messages);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (Array.isArray(error.messages)) {\n\t\t\t\t\t\terror.messages.forEach($fhcAlert.alertError);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else if (typeof error.messages == 'object') {\n\t\t\t\t\t\tif (config?.errorHeader)\n\t\t\t\t\t\t\tObject.values(error.messages).forEach(\n\t\t\t\t\t\t\t\tvalue => $fhcAlert.alertDefault(\n\t\t\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\t\t\tArray.isArray(config.errorHeader) ? app.config.globalProperties.$p.t.apply(null, config.errorHeader) : config.errorHeader,\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tObject.entries(error.messages).forEach(\n\t\t\t\t\t\t\t\t([key, value]) => $fhcAlert.alertDefault('error', key, value, true)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t},\n\t\t\t\tgeneral(error, config) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tif (config?.form)\n\t\t\t\t\t\tconfig.form.setFeedback(false, error.message);\n\t\t\t\t\telse if (config?.errorHeader)\n\t\t\t\t\t\t$fhcAlert.alertDefault(\n\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\tArray.isArray(config.errorHeader) ? app.config.globalProperties.$p.t.apply(null, config.errorHeader) : config.errorHeader,\n\t\t\t\t\t\t\terror.message,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\telse\n\t\t\t\t\t\t$fhcAlert.alertError(error.message);\n\t\t\t\t},\n\t\t\t\tphp(error) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tvar message = '';\n\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\t\t\t\t\tif (error.backtrace && error.backtrace.length) {\n\t\t\t\t\t\tmessage += '\\nBacktrace: ';\n\t\t\t\t\t\terror.backtrace.forEach(err => {\n\t\t\t\t\t\t\tmessage += '\\n\\tFile: ' + err.file + '\\n';\n\t\t\t\t\t\t\tmessage += '\\tLine: ' + err.line + '\\n';\n\t\t\t\t\t\t\tmessage += '\\tFunction: ' + err.function + '\\n';\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tswitch (error.severity) {\n\t\t\t\t\t\tcase 'Warning':\n\t\t\t\t\t\tcase 'Core Warning':\n\t\t\t\t\t\tcase 'Compile Warning':\n\t\t\t\t\t\tcase 'User Warning':\n\t\t\t\t\t\t\t$fhcAlert.alertDefault('warn', 'PHP ' + error.severity, message, true);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'Notice':\n\t\t\t\t\t\tcase 'User Notice':\n\t\t\t\t\t\tcase 'Runtime Notice':\n\t\t\t\t\t\t\t$fhcAlert.alertDefault('info', 'PHP ' + error.severity, message, true);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tmessage = 'Type: PHP ' + error.severity + '\\n\\n' + message;\n\t\t\t\t\t\t\t$fhcAlert.alertSystemError(message);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\texception(error) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tvar message = '';\n\t\t\t\t\tmessage += 'Type: ' + error.class + '\\n\\n';\n\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\t\t\t\t\tif (error.backtrace && error.backtrace.length) {\n\t\t\t\t\t\tmessage += '\\nBacktrace: ';\n\t\t\t\t\t\terror.backtrace.forEach(err => {\n\t\t\t\t\t\t\tmessage += '\\n\\tFile: ' + err.file + '\\n';\n\t\t\t\t\t\t\tmessage += '\\tLine: ' + err.line + '\\n';\n\t\t\t\t\t\t\tmessage += '\\tFunction: ' + err.function + '\\n';\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$fhcAlert.alertSystemError(message);\n\t\t\t\t},\n\t\t\t\tdb(error) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tvar message = '';\n\t\t\t\t\tif (error.heading !== undefined)\n\t\t\t\t\t\tmessage += error.heading + '\\n\\n';\n\t\t\t\t\tif (error.code !== undefined)\n\t\t\t\t\t\tmessage += 'Code: ' + error.code + '\\n\\n';\n\t\t\t\t\tif (error.sql !== undefined)\n\t\t\t\t\t\tmessage += 'SQL: ' + error.sql + '\\n\\n';\n\t\t\t\t\tif (error.message !== undefined)\n\t\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\telse if (error.messages !== undefined)\n\t\t\t\t\t\tmessage += 'Messages: ' + error.messages.join('\\n\\t') + '\\n\\n';\n\t\t\t\t\tif (error.filename !== undefined)\n\t\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\tif (error.line !== undefined)\n\t\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\n\t\t\t\t\t$fhcAlert.alertSystemError(message);\n\t\t\t\t},\n\t\t\t\tauth(error, config) {\n\t\t\t\t\tconst $fhcAlert = app.config.globalProperties.$fhcAlert;\n\n\t\t\t\t\tvar message = '';\n\t\t\t\t\tmessage += 'Controller name: ' + error.controller + '\\n';\n\t\t\t\t\tmessage += 'Method name: ' + error.method + '\\n';\n\t\t\t\t\tmessage += 'Required permissions: ' + error.required_permissions;\n\t\t\t\t\tif (config?.errorHeader)\n\t\t\t\t\t\t$fhcAlert.alertDefault(\n\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\tArray.isArray(config.errorHeader) ? app.config.globalProperties.$p.t.apply(null, config.errorHeader) : config.errorHeader,\n\t\t\t\t\t\t\terror.message,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\telse\n\t\t\t\t\t\t$fhcAlert.alertDefault('error', error.message, message);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t/* Deprecated Code start */\n\t\tclass FhcApiFactoryWrapper {\n\t\t\tconstructor(factorypart, root) {\n\t\t\t\tif (root === undefined) {\n\t\t\t\t\tthis.$fhcApi = {\n\t\t\t\t\t\tgetUri(url) {\n\t\t\t\t\t\t\tconsole.warn('$fhcApi.factory is DEPRECATED!');\n\t\t\t\t\t\t\treturn app.config.globalProperties.$fhcApi.getUri(url);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tget(form, uri, params, config) {\n\t\t\t\t\t\t\tconsole.warn('$fhcApi.factory is DEPRECATED!');\n\t\t\t\t\t\t\treturn app.config.globalProperties.$fhcApi.get(form, uri, params, config);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpost(form, uri, data, config) {\n\t\t\t\t\t\t\tconsole.warn('$fhcApi.factory is DEPRECATED!');\n\t\t\t\t\t\t\treturn app.config.globalProperties.$fhcApi.post(form, uri, data, config);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tObject.defineProperty(this.$fhcApi, 'factory', {\n\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\tconsole.warn('$fhcApi.factory is DEPRECATED!');\n\t\t\t\t\t\t\treturn app.config.globalProperties.$fhcApi.factory;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tapp.config.globalProperties.$fhcApi.factory = this;\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(this, '$fhcApi', {\n\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\treturn (root || this).$fhcApi;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tthis.addEndpoints(factorypart, true)\n\t\t\t}\n\n\t\t\taddEndpoints(factorypart, noWarn) {\n\t\t\t\tObject.keys(factorypart).forEach(key => {\n\t\t\t\t\tObject.defineProperty(this, key, {\n\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\tif (typeof factorypart[key] == 'function')\n\t\t\t\t\t\t\t\treturn factorypart[key].bind(this);\n\t\t\t\t\t\t\treturn new FhcApiFactoryWrapper(factorypart[key], this.$fhcApi.factory);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tif (!noWarn) console.warn('$fhcApi.factory.addEndpoints() is DEPRECATED!');\n\t\t\t}\n\t\t}\n\n\t\tconst factory = new FhcApiFactoryWrapper(FhcApiFactory);\n\t\tif (options?.factory) {\n\t\t\tconsole.warn(\"$fhcApi is DEPRECATED!\");\n\t\t\tfactory.addEndpoints(options.factory);\n\t\t}\n\n\t\tapp.config.globalProperties.$fhcApi.factory = factory;\n\t\t/* Deprecated Code end */\n\t\t\n\t\tapp.provide('$fhcApi', app.config.globalProperties.$fhcApi);\n\t}\n};","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n//--------------------------------------------------------------------------------------------------------------------\n// Configs\n\n// To see debug messages into the browser console set this parameter as true\nconst CORE_REST_CLIENT_DEBUG = false;\n\n// Default timeout (milliseconds)\nconst CORE_REST_CLIENT_TIMEOUT = 5000;\n\n//--------------------------------------------------------------------------------------------------------------------\n// Constants\n\n// Success\nconst CORE_REST_CLIENT_SUCCESS = 0;\n\n// Properties present in a response\nconst CORE_REST_CLIENT_ERROR = \"error\";\nconst CORE_REST_CLIENT_RETVAL = \"retval\";\n\n// HTTP method parameters\nconst CRC_HTTP_GET_METHOD = \"get\";\nconst CRC_HTTP_POST_METHOD = \"post\";\n\n/**\n * Definition and initialization of the object CoreRESTClient\n */\nexport const CoreRESTClient = {\n\t//------------------------------------------------------------------------------------------------------------------\n\t// Public methods\n\n\t/**\n\t * Performs a call using the HTTP GET method\n\t * wsParameters is an object\n\t * axiosParameters is an object\n\t */\n\tget: function(wsURL, wsParameters, axiosParameters = null) {\n\t\treturn CoreRESTClient._axiosCall(wsURL, wsParameters, CRC_HTTP_GET_METHOD, axiosParameters);\n\t},\n\n\t/**\n\t * Performs a call using the HTTP POST method\n\t * wsParameters is an object\n\t * axiosParameters is an object\n\t */\n\tpost: function(wsURL, wsParameters, axiosParameters = null) {\n\t\treturn CoreRESTClient._axiosCall(wsURL, wsParameters, CRC_HTTP_POST_METHOD, axiosParameters);\n\t},\n\n\t/**\n\t * Checks if the response is a success\n\t */\n\tisSuccess: function(response) {\n\n\t\tif (typeof response === \"object\" && response.hasOwnProperty(CORE_REST_CLIENT_ERROR)\n\t\t\t&& response.hasOwnProperty(CORE_REST_CLIENT_RETVAL) && response.error == CORE_REST_CLIENT_SUCCESS)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t/**\n\t * Checks if the response is an error\n\t */\n\tisError: function(response) {\n\t\treturn !CoreRESTClient.isSuccess(response);\n\t},\n\n\t/**\n\t * Checks if the response has data\n\t */\n\thasData: function(response) {\n\n\t\tif (CoreRESTClient.isSuccess(response))\n\t\t{\n\t\t\tif ((typeof response[CORE_REST_CLIENT_RETVAL] === \"object\" && Object.keys(response[CORE_REST_CLIENT_RETVAL]).length > 0)\n\t\t\t\t|| (typeof response[CORE_REST_CLIENT_RETVAL] === \"array\" && response[CORE_REST_CLIENT_RETVAL].length > 0)\n\t\t\t\t|| (typeof response[CORE_REST_CLIENT_RETVAL] === \"string\" && response[CORE_REST_CLIENT_RETVAL].trim() != \"\")\n\t\t\t\t|| typeof response[CORE_REST_CLIENT_RETVAL] === \"number\")\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t/**\n\t * Retrives data from response object\n\t */\n\tgetData: function(response) {\n\n\t\tif (CoreRESTClient.hasData(response))\n\t\t{\n\t\t\treturn response[CORE_REST_CLIENT_RETVAL];\n\t\t}\n\n\t\treturn null;\n\t},\n\n\t/**\n\t * Retrives error message from response object\n\t */\n\tgetError: function(response) {\n\n\t\tif (typeof response === \"object\"\n\t\t\t&& Object.keys(response).length > 0\n\t\t\t&& response.hasOwnProperty(CORE_REST_CLIENT_RETVAL))\n\t\t{\n\t\t\treturn response[CORE_REST_CLIENT_RETVAL];\n\t\t}\n\n\t\treturn \"Generic error\";\n\t},\n\n\t/**\n\t * Retrives code from response object\n\t */\n\tgetErrorCode: function(response) {\n\n\t\tif (typeof response === \"object\" && response.hasOwnProperty(CORE_REST_CLIENT_ERROR))\n\t\t{\n\t\t\treturn response[CORE_REST_CLIENT_ERROR];\n\t\t}\n\n\t\treturn 1; // Generic error\n\t},\n\n\t//------------------------------------------------------------------------------------------------------------------\n\t// Private methods\n\n\t/**\n\t * Generate the router URI using the connection parameters\n\t */\n\t_generateRouterURI: function(wsURL) {\n\t\tvar uri = null;\n\n\t\t// Checks if global JS object FHC_JS_DATA_STORAGE_OBJECT exists\n\t\tif (typeof FHC_JS_DATA_STORAGE_OBJECT !== \"undefined\")\n\t\t{\n\t\t\turi = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + \"/\" + wsURL;\n\t\t}\n\n\t\treturn uri;\n\t},\n\n\t/**\n\t * Method to print debug info after a controller has been called\n\t */\n\t_printDebug: function(parameters, response, errorThrown) {\n\n\t\tif (CORE_REST_CLIENT_DEBUG === true) // If global const CORE_REST_CLIENT_DEBUG is true, but really true!\n\t\t{\n\t\t\t// Print info about called controller\n\t\t\tconsole.log(\"Called controller: \" + parameters.remoteController);\n\t\t\tconsole.log(\"Call parameters:\"); // parameters given to this call\n\t\t\tconsole.log(parameters);\n\n\t\t\tif (response != null) // if there is a response...\n\t\t\t{\n\t\t\t\tconsole.log(\"Controller Response:\");\n\t\t\t\tconsole.log(response); // ...print it\n\t\t\t}\n\t\t\tif (errorThrown != null) // if there is a jQuery error...\n\t\t\t{\n\t\t\t\tconsole.log(\"jQuery error:\");\n\t\t\t\tconsole.log(errorThrown); // ...print it\n\t\t\t}\n\t\t\tconsole.log(\"--------------------------------------------------------------------------------------------\");\n\t\t}\n\t},\n\n\t/**\n\t * Performs a call to the server were the CI PHP layer is running\n\t * - wsURL: alias of the core controller to call\n\t * - wsParameters: parameters to give to the called controller\n\t * - type: POST or GET HTTP method\n\t * - axiosParameters: an object to configure the axios call\n\t */\n\t_axiosCall: function(wsURL, wsParameters, type, axiosParameters) {\n\n\t\t// Axios config object\n\t\tlet axiosCallObj = {\n\t\t\tmethod: type,\n\t\t\turl: CoreRESTClient._generateRouterURI(wsURL),\n\t\t\ttimeout: CORE_REST_CLIENT_TIMEOUT // default time out\n\t\t};\n\n\t\t// The ajax call is HTTP GET\n\t\tif (type == CRC_HTTP_GET_METHOD)\n\t\t{\n\t\t\taxiosCallObj.params = wsParameters;\n\t\t}\n\t\t// The ajax call is HTTP POST\n\t\telse\n\t\t{\n\t\t\taxiosCallObj.data = wsParameters;\n\t\t}\n\n\t\t// Check if axiosParameters is an object\n\t\tif (typeof axiosParameters === \"object\")\n\t\t{\n\t\t\t// And then copies the its properties into axiosCallObj\n\t\t\tfor (var prop in axiosParameters) axiosCallObj[prop] = axiosParameters[prop];\n\t\t}\n\n\t\t// Perform the ajax call via axios\n\t\treturn axios(axiosCallObj);\n\t}\n};\n\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n * \n * @usage:\n * Preperations:\n * Be sure to have PrimeVue loaded with the toast and confirmdialog\n * components as primevue variable\n * Install:\n * Import this Plugin and install it with the app.use() function.\n * Use:\n * In your component you can call now the global property $fhcAlert\n * which has the following functions:\n * \n * alertSuccess\n * ------------\n * Displays a success message\n * @param string\tmessage\n * @return void\n * \n * alertInfo\n * ---------\n * Displays an info message\n * @param string\tmessage\n * @return void\n * \n * alertWarning\n * ------------\n * Displays a warning\n * @param string\tmessage\n * @return void\n * \n * alertError\n * ----------\n * Displays an error\n * @param string\tmessage\n * @return void\n * \n * alertSystemError\n * ----------------\n * Displays an alert with the error details and a button to mail\n * the error to the Support Team\n * @param string\tmessage\n * @return void\n * \n * confirmDelete\n * -------------\n * Displays a confirmation dialog and returns a Promise which resolves\n * with true or false depending und the pressed button.\n * @return Promise\n * \n * alertDefault\n * ------------\n * Displays an alert\n * @param string\tseverity\t\tcan be 'success', 'info', 'warning', 'error'\n * @param string\ttitle\n * @param string\tmessage\n * @param boolean\tsticky\t\t\t(optional) defaults to false\n * @return void\n * \n * alertMultiple\n * -------------\n * Displays multiple alerts\n * @param array\t\tmessageArray\n * @param string\tseverity\t\t(optional) defaults to 'info'\n * @param string\ttitle\t\t\t(optional) defaults to 'Info'\n * @param boolean\tsticky\t\t\t(optional) defaults to false\n * @return void\n * \n * handleSystemError\n * -----------------\n * Automatiticly determine how to display an system error and display it.\n * This would be used in a catch block of an ajax call.\n * @param mixed\t\terror\n * @return void\n * \n * handleSystemMessage\n * -------------------\n * Automatiticly determine how to display a message and display it.\n * @param mixed\t\tmessage\n * @return void\n */\nimport PvConfig from \"../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js\";\nimport PvToast from \"../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js\";\nimport PvConfirm from \"../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js\";\nimport PvConfirmationService from \"../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js\";\nimport FhcPhrasen from \"./Phrasen.js\";\n\nimport {CoreRESTClient} from '../RESTClient.js';\n\nconst helperAppContainer = document.createElement('div');\n\nconst helperApp = Vue.createApp({\n\tname: \"FhcAlertApp\",\n\tcomponents: {\n\t\tPvToast,\n\t\tPvConfirm\n\t},\n\tmethods: {\n\t\tmailToUrl(slotProps) {\n\t\t\tlet mailTo = FHC_JS_DATA_STORAGE_OBJECT.systemerror_mailto;\n\t\t\tlet subject = 'Meldung%20Systemfehler';\n\t\t\tlet body = `\n\t\t\t\tDanke, dass Sie uns den Fehler melden. %0D%0A %0D%0A\n\t\t\t\tBitte beschreiben Sie uns ausführlich das Problem.%0D%0A\n\t\t\t\tBsp: Ich habe X ausgewählt und Y angelegt. Beim Speichern erhielt ich die Fehlermeldung. [Optional: Ich habe den Browser Z verwendet.]%0D%0A\n\t\t\t\t-----------------------------------------------------------------------------------------------------------------------------------%0D%0A\n\t\t\t\tPROBLEM: ... %0D%0A %0D%0A %0D%0A\n\n\t\t\t\t-----------------------------------------------------------------------------------------------------------------------------------%0D%0A\n\t\t\t\tFehler URL: ` + FHC_JS_DATA_STORAGE_OBJECT.called_path + '/' + FHC_JS_DATA_STORAGE_OBJECT.called_method + `%0D%0A\n\t\t\t\tFehler Meldung: ` + slotProps.message.detail + `%0D%0A\n\t\t\t\t-----------------------------------------------------------------------------------------------------------------------------------%0D%0A %0D%0A\n\t\t\t\tWir kümmern uns um eine rasche Behebung des Problems!`\n\n\t\t\treturn \"mailto:\" + mailTo + \"?subject=\" + subject + \"&body=\" + body;\n\t\t},\n\t\topenMessagecard(e) {\n\t\t\tbootstrap.Collapse.getOrCreateInstance(e.target.getAttribute('href')).toggle();\n\t\t}\n\t},\n\tunmounted() {\n\t\thelperAppContainer.parentElement.removeChild(helperAppContainer);\n\t},\n\tcomputed: {\n\t\tshowmaillink: function() {\n\t\t\treturn FHC_JS_DATA_STORAGE_OBJECT.systemerror_mailto !== '';\n\t\t}\n\t},\n\ttemplate: /* html */`\n\t\n\t\t\n\t\t\t\n\t\t\t
',\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tphp(errors) {\n\t\t\t\t\t_send_array_or_object(errors, (error, title) => {\n\t\t\t\t\t\tvar message = '';\n\t\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\t\t\t\t\t\tif (error.backtrace && error.backtrace.length) {\n\t\t\t\t\t\t\tmessage += '\\nBacktrace: ';\n\t\t\t\t\t\t\terror.backtrace.forEach(err => {\n\t\t\t\t\t\t\t\tmessage += '\\n\\tFile: ' + err.file + '\\n';\n\t\t\t\t\t\t\t\tmessage += '\\tLine: ' + err.line + '\\n';\n\t\t\t\t\t\t\t\tmessage += '\\tFunction: ' + err.function + '\\n';\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch (error.severity) {\n\t\t\t\t\t\t\tcase 'Warning':\n\t\t\t\t\t\t\tcase 'Core Warning':\n\t\t\t\t\t\t\tcase 'Compile Warning':\n\t\t\t\t\t\t\tcase 'User Warning':\n\t\t\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\t\t\ttitle += ': PHP ' + error.severity;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\ttitle = 'PHP ' + error.severity;\n\t\t\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertDefault('warn', title, message, true);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'Notice':\n\t\t\t\t\t\t\tcase 'User Notice':\n\t\t\t\t\t\t\tcase 'Runtime Notice':\n\t\t\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\t\t\ttitle += ': PHP ' + error.severity;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\ttitle = 'PHP ' + error.severity;\n\t\t\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertDefault('info', title, message, true);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tmessage = 'Type: PHP ' + error.severity + '\\n\\n' + message;\n\t\t\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\t\t\tmessage = title + '\\n\\n' + message;\n\t\t\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertSystemError(message);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\texception(errors) {\n\t\t\t\t\t_send_array_or_object(errors, (error, title) => {\n\t\t\t\t\t\tvar message = '';\n\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\tmessage += title + '\\n\\n';\n\t\t\t\t\t\tmessage += 'Type: ' + error.class + '\\n\\n';\n\t\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\t\t\t\t\t\tif (error.backtrace && error.backtrace.length) {\n\t\t\t\t\t\t\tmessage += '\\nBacktrace: ';\n\t\t\t\t\t\t\terror.backtrace.forEach(err => {\n\t\t\t\t\t\t\t\tmessage += '\\n\\tFile: ' + err.file + '\\n';\n\t\t\t\t\t\t\t\tmessage += '\\tLine: ' + err.line + '\\n';\n\t\t\t\t\t\t\t\tmessage += '\\tFunction: ' + err.function + '\\n';\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertSystemError(message);\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tdb(errors) {\n\t\t\t\t\t_send_array_or_object(errors, (error, title) => {\n\t\t\t\t\t\tvar message = '';\n\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\tmessage += title + '\\n\\n';\n\t\t\t\t\t\tif (error.heading !== undefined)\n\t\t\t\t\t\t\tmessage += error.heading + '\\n\\n';\n\t\t\t\t\t\tif (error.code !== undefined)\n\t\t\t\t\t\t\tmessage += 'Code: ' + error.code + '\\n\\n';\n\t\t\t\t\t\tif (error.sql !== undefined)\n\t\t\t\t\t\t\tmessage += 'SQL: ' + error.sql + '\\n\\n';\n\t\t\t\t\t\tif (error.message !== undefined)\n\t\t\t\t\t\t\tmessage += 'Message: ' + error.message + '\\n\\n';\n\t\t\t\t\t\telse if (error.messages !== undefined)\n\t\t\t\t\t\t\tmessage += 'Messages: ' + error.messages.join('\\n\\t') + '\\n\\n';\n\t\t\t\t\t\tif (error.filename !== undefined)\n\t\t\t\t\t\t\tmessage += 'Filename: ' + error.filename + '\\n';\n\t\t\t\t\t\tif (error.line !== undefined)\n\t\t\t\t\t\t\tmessage += 'Line Number: ' + error.line + '\\n';\n\n\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertSystemError(message);\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tauth(errors) {\n\t\t\t\t\t_send_array_or_object(errors, (error, title) => {\n\t\t\t\t\t\tif (title)\n\t\t\t\t\t\t\ttitle += ': ' + error.message;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\ttitle = error.message;\n\n\t\t\t\t\t\tvar message = '';\n\t\t\t\t\t\tmessage += 'Controller name: ' + error.controller + '\\n';\n\t\t\t\t\t\tmessage += 'Method name: ' + error.method + '\\n';\n\t\t\t\t\t\tmessage += 'Required permissions: ' + error.required_permissions;\n\n\t\t\t\t\t\tapp.config.globalProperties.$fhcAlert.alertDefault(\n\t\t\t\t\t\t\t'error',\n\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tif (options?.errorHandling !== undefined)\n\t\t\tDEFAULT_ERROR_CONFIG = _merge_error_config(options.errorHandling);\n\t\t\n\t\tfunction get_config(form, uri, data, config) {\n\t\t\tif (typeof form == 'string' && config === undefined) {\n\t\t\t\t[uri, data, config] = [form, uri, data];\n\t\t\t\tform = undefined;\n\t\t\t} else if (form) {\n\t\t\t\tif (typeof form != 'object')\n\t\t\t\t\tthrow new TypeError('Parameter 1 of _get_config must be an object or a string');\n\t\t\t\tif (uri === undefined && data === undefined && config === undefined) {\n\t\t\t\t\tconfig = form;\n\t\t\t\t\tform = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (form) {\n\t\t\t\t// NOTE(chris): check if form is fhc-form\n\t\t\t\tif (!form.clearValidation || !form.setFeedback)\n\t\t\t\t\tthrow new TypeError(\"'form' is not a Form Component\");\n\n\t\t\t\tform = {\n\t\t\t\t\tclearValidation: form.clearValidation,\n\t\t\t\t\tsetFeedback: form.setFeedback\n\t\t\t\t};\n\n\t\t\t\tif (config)\n\t\t\t\t\tconfig.form = form;\n\t\t\t\telse\n\t\t\t\t\tconfig = {form};\n\t\t\t}\n\n\t\t\treturn [uri, data, config];\n\t\t}\n\t\tfunction clean_return_value(response) {\n\t\t\tif (typeof response.data === 'string' || response.data instanceof String)\n\t\t\t\treturn clean_return_value({ data: response });\n\n\t\t\tconst result = response.data;\n\t\t\tdelete response.data;\n\t\t\tif (!result)\n\t\t\t\treturn {meta: {response}, data: null};\n\t\t\tif (!result.meta)\n\t\t\t\tresult.meta = { response };\n\t\t\telse\n\t\t\t\tresult.meta.response = response;\n\t\t\treturn result;\n\t\t}\n\t\tfunction _merge_error_config(config) {\n\t\t\tif (config === false || config === 'off')\n\t\t\t\treturn { ...DEFAULT_ERROR_CONFIG, success: false, fail: false };\n\t\t\t\n\t\t\tif (!config || config === true)\n\t\t\t\treturn { ...DEFAULT_ERROR_CONFIG };\n\n\t\t\tif (config === 'success')\n\t\t\t\treturn { ...DEFAULT_ERROR_CONFIG, fail: false };\n\t\t\t\n\t\t\tif (config === 'fail')\n\t\t\t\treturn { ...DEFAULT_ERROR_CONFIG, success: false };\n\t\t\t\n\t\t\tconst { success, fail, handler, combine } = config;\n\t\t\t\n\t\t\tconfig = { ...DEFAULT_ERROR_CONFIG };\n\n\t\t\tObject.entries({ fail, success }).forEach(([key, value]) => {\n\t\t\t\tif (value !== undefined)\n\t\t\t\t\tconfig[key] = value;\n\t\t\t});\n\t\t\tObject.entries({ handler, combine }).forEach(([key, value]) => {\n\t\t\t\tif (value !== undefined)\n\t\t\t\t\tconfig[key] = { ...config[key], ...value };\n\t\t\t});\n\n\t\t\treturn config;\n\t\t}\n\t\tfunction get_error_handler(config) {\n\t\t\tconst result = _merge_error_config(config?.errorHandling);\n\n\t\t\tif (!config?.form) {\n\t\t\t\tresult.combine = { ...result.combine, form: [] };\n\t\t\t} else {\n\t\t\t\tconst formHandler = result.handler.form;\n\t\t\t\tresult.handler = { ...result.handler, form: errors => formHandler(config.form, errors) };\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t\tfunction get_error_list(error) {\n\t\t\tif (error.response) {\n\t\t\t\tif (error.response.status == 404) {\n\t\t\t\t\treturn [{\n\t\t\t\t\t\ttype: 'not_found',\n\t\t\t\t\t\tmessage: error.message,\n\t\t\t\t\t\turl: error.request.responseURL\n\t\t\t\t\t}];\n\t\t\t\t} else {\n\t\t\t\t\tif (error.response.data.errors == undefined) return [];\n\t\t\t\t\treturn error.response.data.errors;\n\t\t\t\t}\n\t\t\t} else if (error.request) {\n\t\t\t\treturn [{\n\t\t\t\t\ttype: 'site_failed',\n\t\t\t\t\tmessage: error.message,\n\t\t\t\t\turl: error.request.responseURL\n\t\t\t\t}];\n\t\t\t} else {\n\t\t\t\treturn [{\n\t\t\t\t\ttype: 'script',\n\t\t\t\t\tmessage: error.message\n\t\t\t\t}];\n\t\t\t}\n\t\t}\n\t\tfunction popHandleableErrors(errorHandling, errors) {\n\t\t\tconst result = {};\n\t\t\tconst copy = [];\n\n\t\t\tif (errors == undefined) return {};\n\n\t\t\twhile (errors.length)\n\t\t\t\tcopy.push(errors.pop());\n\t\t\tfor (var error of copy) {\n\t\t\t\tlet type = error.type;\n\t\t\t\tlet newType = null;\n\t\t\t\tfor (var t in errorHandling.combine) {\n\t\t\t\t\tlet newTypeCombinesType = errorHandling\n\t\t\t\t\t\t.combine[t]\n\t\t\t\t\t\t.includes(type);\n\t\t\t\t\tlet newTypeHasHandler = errorHandling.handler[t];\n\t\t\t\t\tif (newTypeCombinesType && newTypeHasHandler) {\n\t\t\t\t\t\tnewType = t;\n\t\t\t\t\t\tif (newType == 'form')\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (newType)\n\t\t\t\t\ttype = newType;\n\t\t\t\tconst handler = errorHandling.handler[type];\n\t\t\t\tif (handler) {\n\t\t\t\t\tif (!result[type])\n\t\t\t\t\t\tresult[type] = [];\n\t\t\t\t\tif (Array.isArray(error))\n\t\t\t\t\t\tresult[type].push(...error);\n\t\t\t\t\telse\n\t\t\t\t\t\tresult[type].push(error);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\terrors.push(error);\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\n\t\tconst fhcApiAxios = axios.create({\n\t\t\ttimeout: 500000,\n\t\t\tbaseURL: FHC_JS_DATA_STORAGE_OBJECT.app_root\n\t\t\t\t+ FHC_JS_DATA_STORAGE_OBJECT.ci_router\n\t\t\t\t+ \"/\"\n\t\t});\n\n\t\tfhcApiAxios.interceptors.request.use(config => {\n\t\t\tif (config.method != 'post' || !config.data)\n\t\t\t\treturn config;\n\n\t\t\tif (config.data instanceof FormData)\n\t\t\t\treturn config;\n\n\t\t\tif (!Object.values(config.data).every(item => {\n\t\t\t\tif (item instanceof FileList)\n\t\t\t\t\treturn false;\n\t\t\t\tif (Array.isArray(item))\n\t\t\t\t\treturn item.every(i => !(i instanceof File));\n\t\t\t\treturn true;\n\t\t\t})) {\n\t\t\t\tconst newData = Object.entries(config.data).reduce((nd, [key, item]) => {\n\t\t\t\t\tif (item instanceof FileList) {\n\t\t\t\t\t\tfor (const file of item)\n\t\t\t\t\t\t\tnd.FormData.append(key + (item.length > 1 ? '[]' : ''), file);\n\t\t\t\t\t} else if (Array.isArray(item)) {\n\t\t\t\t\t\tif (item.every(i => !(i instanceof File))) {\n\t\t\t\t\t\t\tnd.jsondata[key] = item;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\titem.forEach(file => nd.FormData.append(key + (item.length > 1 ? '[]' : ''), file));\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnd.jsondata[key] = item;\n\t\t\t\t\t}\n\t\t\t\t\treturn nd;\n\t\t\t\t}, {\n\t\t\t\t\tFormData: new FormData(),\n\t\t\t\t\tjsondata: {}\n\t\t\t\t});\n\t\t\t\tnewData.FormData.append('_jsondata', JSON.stringify(newData.jsondata));\n\t\t\t\tconfig.data = newData.FormData;\n\t\t\t}\n\n\t\t\treturn config;\n\t\t});\n\n\t\tfhcApiAxios.interceptors.response.use(\n\t\t\tresponse => {\n\t\t\t\tif (response.config?.errorHandling == 'off'\n\t\t\t\t\t|| response.config?.errorHandling === false\n\t\t\t\t\t|| response.config?.errorHandling == 'fail')\n\t\t\t\t\treturn clean_return_value(response);\n\n\t\t\t\t// NOTE(chris): loop through errors\n\t\t\t\tif (response.data.errors)\n\t\t\t\t\tresponse.data.errors = response.data.errors.filter(\n\t\t\t\t\t\terr => (response.config[err.type + 'ErrorHandler'] || app.config.globalProperties.$api._defaultErrorHandlers[err.type])(err, response.config)\n\t\t\t\t\t);\n\n\t\t\t\treturn clean_return_value(response);\n\t\t\t},\n\t\t\terror => {\n\t\t\t\tif (error.code == 'ERR_CANCELED')\n\t\t\t\t\treturn Promise.reject({ handled: true, ...error });\n\n\t\t\t\tconst errorConfig = get_error_handler(error.config);\n\n\t\t\t\tif (!errorConfig.fail)\n\t\t\t\t\treturn Promise.reject(error);\n\n\t\t\t\tconst remaining = get_error_list(error);\n\n\t\t\t\tconst errors = popHandleableErrors(errorConfig, remaining);\n\n\t\t\t\tfor (var type in errors) {\n\t\t\t\t\terrorConfig.handler[type](errors[type]);\n\t\t\t\t}\n\n\t\t\t\tif (remaining.length)\n\t\t\t\t\treturn Promise.reject(error);\n\t\t\t\t\n\t\t\t\treturn Promise.reject({ handled: true, ...error });\n\t\t\t}\n\t\t);\n\n\t\tapp.config.globalProperties.$api = {\n\t\t\tgetUri(url) {\n\t\t\t\treturn fhcApiAxios.getUri({url});\n\t\t\t},\n\t\t\tget(form, uri, params, config) {\n\t\t\t\t[uri, params, config] = get_config(form, uri, params, config);\n\t\t\t\tif (params) {\n\t\t\t\t\tif (config)\n\t\t\t\t\t\tconfig.params = params;\n\t\t\t\t\telse\n\t\t\t\t\t\tconfig = {params};\n\t\t\t\t}\n\t\t\t\treturn fhcApiAxios.get(uri, config);\n\t\t\t},\n\t\t\tpost(form, uri, data, config) {\n\t\t\t\t[uri, data, config] = get_config(form, uri, data, config);\n\t\t\t\treturn fhcApiAxios.post(uri, data, config);\n\t\t\t},\n\t\t\tcall(factory, configoverwrite, form) {\n\t\t\t\tif (Array.isArray(factory)) {\n\t\t\t\t\tconst $api = app.config.globalProperties.$api;\n\n\t\t\t\t\treturn Promise\n\t\t\t\t\t\t.allSettled(factory.map((config, index) => {\n\t\t\t\t\t\t\tif (!Array.isArray(config))\n\t\t\t\t\t\t\t\tconfig = ['#' + index, config];\n\t\t\t\t\t\t\treturn $api.call(config[1], {\n\t\t\t\t\t\t\t\terrorHeader: config[0],\n\t\t\t\t\t\t\t\terrorHandling: false\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}))\n\t\t\t\t\t\t.then(result => {\n\t\t\t\t\t\t\tconst [ , , config ] = get_config(form, undefined, undefined, configoverwrite || {});\n\t\t\t\t\t\t\tconst errorConfig = get_error_handler(config);\n\n\t\t\t\t\t\t\tif (!errorConfig.success && !errorConfig.fail) {\n\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst typedErrors = {};\n\t\t\t\t\t\t\tfor (var res of result) {\n\t\t\t\t\t\t\t\tconst [ allowed, item ] = res.status === 'fulfilled'\n\t\t\t\t\t\t\t\t\t? [ errorConfig.success, res.value ]\n\t\t\t\t\t\t\t\t\t: [ errorConfig.fail, res.reason ];\n\t\t\t\t\t\t\t\tif (!allowed)\n\t\t\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t\t\tconst errors = popHandleableErrors(errorConfig, get_error_list(item));\n\n\t\t\t\t\t\t\t\tfor (var type in errors) {\n\t\t\t\t\t\t\t\t\tif (!typedErrors[type])\n\t\t\t\t\t\t\t\t\t\ttypedErrors[type] = {\n\t\t\t\t\t\t\t\t\t\t\t[item.config.errorHeader]: errors[type]\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\ttypedErrors[type][item.config.errorHeader] = errors[type];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tfor (var errType in typedErrors) {\n\t\t\t\t\t\t\t\terrorConfig.handler[errType](typedErrors[errType]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tlet { method, url, params, config } = factory;\n\t\t\t\tif (configoverwrite !== undefined) {\n\t\t\t\t\tconfig = configoverwrite;\n\t\t\t\t}\n\t\t\t\tif (!method) {\n\t\t\t\t\tmethod = 'get';\n\t\t\t\t}\n\t\t\t\tif (method.toLowerCase)\n\t\t\t\t\tmethod = method.toLowerCase();\n\t\t\t\tif (method == 'get') {\n\t\t\t\t\treturn this.get(form, url, params, config);\n\t\t\t\t} else if (method == 'post') {\n\t\t\t\t\treturn this.post(form, url, params, config);\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(\"FhcApi: method not allowed:\", method);\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetErrorHandler(config) {\n\t\t\t\treturn get_error_handler(config);\n\t\t\t}\n\t\t};\n\n\t\tapp.provide('$api', app.config.globalProperties.$api);\n\t}\n};\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tloadCategory(category) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/phrasen/loadModule/' + category\n\t\t};\n\t},\n\tsetLanguage(categories,language) {\n\t\tconst params = {categories, language}\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/phrasen/setLanguage',\n\t\t\tparams\n\t\t};\n\t},\n\tgetLanguage() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/phrasen/getLanguage'\n\t\t};\n\t},\n\tgetActiveDbLanguages() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/phrasen/getAllLanguages'\n\t\t};\n\t}\n};","import OldFhcApi from '../plugin/OldFhcApi.js'; // TODO(chris): remove at some point\nimport PluginsApi from './Api.js';\nimport ApiPhrasen from '../api/factory/phrasen.js';\n\nconst categories = Vue.reactive({});\nconst loadingModules = {};\nlet user_language = Vue.ref(FHC_JS_DATA_STORAGE_OBJECT.user_language);\nexport let user_locale = Vue.computed(()=>{\n\tif(!user_language.value) return null;\n\treturn FHC_JS_DATA_STORAGE_OBJECT.server_languages.find(language => language.sprache == user_language.value).LC_Time;\n});\n\nfunction extractCategory(obj, category) {\n\treturn obj.filter(e => e.category == category).reduce((res, elem) => {\n\t\tif (!res[elem.phrase])\n\t\t\tres[elem.phrase] = elem.text;\n\t\treturn res;\n\t}, {});\n}\nfunction getValueForLoadedPhrase(category, phrase, params) {\n\tlet result = categories[category][phrase];\n\tif (!result)\n\t\treturn '<< PHRASE ' + phrase + '>>';\n\tif (params)\n\t\tresult = result.replace(/\\{([^}]*)\\}/g, (match, p1) => params[p1] === undefined ? match : params[p1]);\n\treturn result;\n}\n\nconst phrasen = {\n\tuser_language,\n\tuser_locale,\n\tsetLanguage(language) {\n\t\tconst catArray = Object.keys(categories)\n\t\treturn this.config.globalProperties.$api\n\t\t\t.call(ApiPhrasen.setLanguage(catArray, language))\n\t\t\t.then(res => {\n\t\t\t\tres.data.forEach(row => {\n\t\t\t\t\tcategories[row.category][row.phrase] = row.text\n\t\t\t\t})\n\n\t\t\t\t// update the reactive data that holds the current active user_language\n\t\t\t\tuser_language.value = language;\n\n\t\t\t\treturn res\n\t\t\t})\n\t},\n\tloadCategory(category) {\n\t\tif (Array.isArray(category))\n\t\t\treturn Promise.all(category.map(this.config.globalProperties\n\t\t\t\t.$p.loadCategory));\n\n\t\tif (!loadingModules[category])\n\t\t\tloadingModules[category] = this.config.globalProperties.$api\n\t\t\t\t.call(ApiPhrasen.loadCategory(category))\n\t\t\t\t.then(res => res?.data ? extractCategory(res.data, category) : {})\n\t\t\t\t.then(res => {\n\t\t\t\t\tcategories[category] = res;\n\t\t\t\t});\n\t\treturn loadingModules[category];\n\t},\n\tt_ref(category, phrase, params) {\n\t\tconsole.warn('deprecated');\n\t\treturn Vue.computed(() => this.t(category, phrase, params));\n\t},\n\tt(category, phrase, params) {\n\t\tif (params === undefined && (\n\t\t\t(Array.isArray(category) && category.length == 2) ||\n\t\t\t(category.split && category.split('/').length == 2))\n\t\t\t) {\n\t\t\tparams = phrase;\n\t\t\t[category, phrase] = category.split ? category.split('/') : category;\n\t\t}\n\t\tif (phrase === undefined) {\n\t\t\tconsole.error('invalid input', category, phrase, params);\n\t\t\treturn '';\n\t\t}\n\t\tlet val = Vue.computed(() => {\n\t\t\tif (!categories[category])\n\t\t\t\treturn '';\n\t\t\treturn getValueForLoadedPhrase(category, phrase, params);\n\t\t});\n\t\tif (!categories[category])\n\t\t\tthis.loadCategory(category);\n\t\treturn val.value;\n\t}\n};\n\nexport default {\n\tinstall(app, options) {\n\t\tif (!app.config.globalProperties.$fhcApi)\n\t\t\tapp.use(OldFhcApi); // TODO(chris): remove at some point\n\t\tif (!app.config.globalProperties.$api)\n\t\t\tapp.use(PluginsApi);\n\t\tapp.config.globalProperties.$p = {\n\t\t\tt: phrasen.t,\n\t\t\tloadCategory: cat => phrasen.loadCategory.call(app, cat),\n\t\t\tsetLanguage: lang => phrasen.setLanguage.call(app, lang),\n\t\t\tuser_language: user_language,\n\t\t\tuser_locale,\n\t\t\tt_ref: phrasen.t_ref\n\t\t};\n\t\tapp.provide('$p', app.config.globalProperties.$p);\n\t}\n}","import ProfilUpdateView from \"../../components/Cis/ProfilUpdate/ProfilUpdateView.js\";\nimport PluginsPhrasen from \"../../plugins/Phrasen.js\";\n\nimport ApiProfilUpdate from '../../api/factory/profilUpdate.js';\n\n// TODO: sobald in verwendung den vue router pfad zu ProfilUpdateView definieren und diese app in component auslagern\nconst app = Vue.createApp({\n name: 'ProfilUpdateRequestsApp',\n components: {\n [\"profil-update-view\"]: ProfilUpdateView,\n },\n\n data() {\n return {\n profilUpdateStates: null,\n };\n },\n provide() {\n return {\n profilUpdateStates: Vue.computed(() =>\n this.profilUpdateStates ? this.profilUpdateStates : false\n ),\n };\n },\n methods: {},\n created() {\n this.$api\n .call(ApiProfilUpdate.getStatus())\n .then((response) => {\n this.profilUpdateStates = response.data;\n })\n .catch((error) => {\n console.error(error);\n });\n },\n});\napp.use(PluginsPhrasen).mount(\"#content\");"],"names":["CoreFetchCmpt","emits","props","refresh","type","Boolean","apiFunction","required","Function","apiFunctionParameters","watch","newValue","oldValue","this","fetchData","data","loading","error","errorMessage","created","methods","apiFunctionResult","Promise","then","successHandler","catch","errorHandler","finally","finallyHandler","setError","response","$emit","undefined","retval","message","template","FILTER_COMPONENT_NEW_FILTER","FilterConfig","filters","Array","default","columns","fields","switchFilter","applyFilterConfig","saveCustomFilter","currentFields","computed","types","reduce","a","c","toLowerCase","indexOf","name","n","evt","currentTarget","value","filteredFields","filter","el","condition","length","alert","addField","push","removeField","index","splice","FilterColumns","selected","names","Object","hide","show","selectedFields","toggle","field","DEFAULT_ICONS","jsonLines","xlsx","pdf","html","json","csv","DEFAULT_LABELS","TableDownload","tabulator","config","String","iconClass","currentConfig","prototype","toString","call","split","isArray","newConfig","k","v","stringToFileFormatter","icon","label","formatter","map","validateFileFormatter","input","lcInput","includes","window","XLSX","jspdf","jsPDF","autoTable","download","file","options","elementDataMap","WeakMap","collapseAutoClose","mounted","binding","open","set","contains","target","collapse","bootstrap","Collapse","getInstance","addEventListener","document","get","beforeUnmount","removeEventListener","collapsibleAutoHideFunc","Tabulator","extendModule","fitDataStretchFrozen","forced","colsWidth","tableWidth","table","rowManager","element","clientWidth","gap","lastCol","forEach","column","i","widthFixed","reinitializeWidth","responsiveLayout","modules","responsive","visible","definition","frozen","getWidth","modExists","setWidth","update","ApiFilter","wsParams","method","url","params","filterUniqueId","filterType","customFilterName","removeCustomFilter","filterId","applyFilterFields","filterFields","addFilterField","filterField","removeFilterField","getFilterById","getFilter","_uuid","CoreFilterCmpt","components","directives","onNwNewEntry","title","description","sideMenu","tabulatorOptions","tabulatorEvents","tableOnly","noColumnFilter","reload","reloadBtnInfotext","newBtnShow","newBtnClass","newBtnDisabled","newBtnLabel","uniqueId","idField","parentIdField","countOnly","useSelectionSpan","uuid","filterName","filterActive","dataset","datasetMetadata","availableFilters","selectedFilter","fetchCmptRefresh","fetchCmptApiFunction","fetchCmptApiFunctionParams","fetchCmptDataFetched","fetchResult","tableBuilt","tabulatorHasSelector","selectedData","persistence","sort","headerFilter","group","page","notSelectedFields","x","filteredData","JSON","parse","stringify","filteredColumns","hasOwnProperty","col","resizable","fieldIdsForVisibilty","getColumns","def","getDefinition","getField","fieldNames","res","idExtra","columnsForFilter","filterTitles","reloadTable","setData","initTabulator","placeholder","$p","loadCategory","t","resolve","location","hash","slice","resolvePromiseFunc","setRenderData","startFetchCmpt","$api","layout","movableColumns","columnDefaults","tooltip","height","minHeight","maxHeight","selectable","dataTree","$refs","on","event","handler","toDelete","childIdx","child","appendChild","counter","cols","isVisible","_setHeaderFilter","updateTabulator","_updateTabulator","setColumns","clearFilters","getHeaderFilters","setHeaderFilterValue","clearFilter","render","j","setSideMenu","setDropDownMenu","personalFilters","filtersArray","filtersCount","link","id","filter_id","desc","onClickCall","handlerGetFilterById","subscriptDescription","subscriptLinkClass","subscriptLinkValue","onClickSubscriptCall","handlerRemoveCustomFilter","children","option","dataFetchedCallback","FHC_JS_DATA_STORAGE_OBJECT","called_path","called_method","handlerSaveCustomFilter","getAttribute","substring","attr","parentId","parentIdx","parent","_children","beforeCreate","$props","BsModal","modal","fullscreen","backdrop","validator","focus","keyboard","noCloseBtn","dialogClass","headerClass","bodyClass","footerClass","allowFullscreenExpand","dispose","handleUpdate","relatedTarget","toggleFullscreen","Modal","popup","body","footer","slots","includedPrimevue","primevue","reject","instance","Vue","createApp","setup","h","class","ref","unmount","result","unmounted","wrapper","parentElement","removeChild","createElement","use","zIndex","overlay","Phrasen","mount","Kontakt","view","Adresse","withZustelladresse","ApiProfilUpdate","getStatus","getTopic","acceptProfilRequest","profil_update_id","uid","status_message","topic","requested_change","denyProfilRequest","insertFile","dms","replace","updateProfilbild","getProfilUpdateWithPermission","encodeURIComponent","getProfilRequestFiles","requestID","selectProfilRequest","insertProfilRequest","payload","fileID","updateProfilRequest","ID","deleteProfilRequest","AcceptDenyUpdate","inject","mixins","setLoading","onHideBsModal","onHiddenBsModal","onHidePreventedBsModal","onShowBsModal","onShownBsModal","info","files","getProfilStatus","async","app_root","ci_router","dms_id","getDocumentLink","handleRequest","e","$fhcAlert","handleSystemError","getComponentView","attachment_id","modalContainer","bind","Loading","timeout","Number","state","setTimeout","clearTimeout","dateFilter","cell","onRendered","success","div","initialValue","val","getValue","start","Date","end","PrimevueCalendar","calendar","console","dates","headerValue","rowValue","rowDate","startDate","endDate","setHours","toDateString","singleDate","ProfilUpdateView","categoryLoaded","showModal","modalData","profilUpdateEvents","handleDataProcessed","profilUpdateOptions","persistenceID","ajaxURL","ajaxRequestFunc","ajaxParams","profilUpdateStates","ajaxResponse","ele1","ele2","sortProfilUpdates","thisPointer","status","insertamum","reverse","join","statusMessage","getData","statusDate","status_timestamp","classList","add","statusDateEl","innerHTML","statusMessageEl","rowContextMenu","component","menu","action","UpdatesTable","separator","showAcceptDenyModal","minWidth","headerFilterParams","valuesLookup","listOnEmpty","autocomplete","headerFilterFunc","formatterParams","datetimeFormatterParams","hozAlign","para","iconClasses","getRow","headerSort","node","DOMParser","parseFromString","firstChild","querySelector","denyProfilUpdate","acceptProfilUpdate","hideAcceptDenyModal","AcceptDenyModal","nextTick","updateData","sessionStorage","setItem","arrayRowData","row","inputFormat","outputFormat","invalidPlaceholder","timezone","loadingModalRef","getItem","search","searchsettings","$fhcApi","post","searchAdvanced","searchdummy","phrasen$1","category","setLanguage","categories","language","getLanguage","getActiveDbLanguages","navigation","getHeader","navigation_page","getMenu","filter$1","studstatus","abmeldung","getDetails","antrag_id","prestudent_id","create","stdsem","grund","studiensemester","errorHandling","cancel","allSettled","antrag","studierendenantrag_id","errorHeader","unterbrechung","datum_wiedereinstieg","attachment","wiederholung","getLvs","saveLvs","forbiddenLvs","mandatoryLvs","leitung","getStgs","getAntraege","getHistory","getPrestudents","query","signal","approve","reopen","pause","unpause","object","approveObjection","denyObjection","profil","getView","fotoSperre","isStudent","isMitarbeiter","getZustellAdresse","getZustellKontakt","getGemeinden","nation","zip","getAllNationen","profilUpdate","lvPlan","getRoomInfo","ort_kurzbz","start_date","end_date","getStunden","getOrtReservierungen","getLvPlanReservierungen","getLehreinheitStudiensemester","lehreinheit_id","studiensemesterDateInterval","date","LvPlanEvents","lv_id","stv","verband","favorites","students","studiensemester_kurzbz","getUri","prestudent","person","person_id","relative_path","getStg","setStg","studiengang_kz","konto","tabulatorConfig","self","modelValue","only_open","studiengang_kz_intern","stg_kz","checkDoubles","form","confirmErrorHandler","insert","edit","delete","buchungsnr","getBuchungstypen","getGruppen","deleteGroup","kontakt","getAdressen","addNewAddress","loadAddress","address_id","updateAddress","deleteAddress","getPlaces","plz","getFirmen","searchString","getNations","getAdressentypen","getBankverbindung","addNewBankverbindung","loadBankverbindung","bankverbindung_id","updateBankverbindung","deleteBankverbindung","getKontakte","addNewContact","loadContact","kontakt_id","updateContact","deleteContact","getStandorteByFirma","getKontakttypen","updatePrestudent","getBezeichnungZGV","getBezeichnungMZgv","getBezeichnungDZgv","getAusbildung","getAufmerksamdurch","getBerufstaetigkeit","getTypenStg","getBisstandort","getHistoryPrestudent","getMaxSem","studiengang_kzs","advanceStatus","status_kurzbz","ausbildungssemester","confirmStatus","isLastStatus","deleteStatus","getLastBismeldestichtag","getHistoryPrestudents","insertStatus","loadStatus","updateStatus","getStudienplaene","getStudiengang","getStatusgruende","getStati","addStudent","changeStatus","getStatusarray","details","save","exam","getPruefungen","loadPruefung","pruefung_id","getTypenPruefungen","getAllLehreinheiten","getLvsByStudent","getLvsandLesByStudent","semester","getLvsAndMas","getMitarbeiterLv","getNoten","checkZeugnisnoteLv","addPruefung","updatePruefung","deletePruefung","abschlusspruefung","getAbschlusspruefung","addNewAbschlusspruefung","loadAbschlusspruefung","updateAbschlusspruefung","deleteAbschlusspruefung","getTypenAbschlusspruefung","getTypenAntritte","getBeurteilungen","getAkadGrade","getTypStudiengang","getMitarbeiter","getPruefer","checkForExistingExams","uids","grades","list","getCertificate","getTeacherProposal","getRepeaterGrades","updateCertificate","lehrveranstaltung_id","student_uid","note","lehrveranstaltung_bezeichnung","deleteCertificate","copyTeacherProposalToCertificate","copyRepeaterGradeToCertificate","studierendenantrag_lehrveranstaltung_id","lv_bezeichnung","getGradeFromPoints","points","manualErrorHandling","mobility","getMobilitaeten","getProgramsMobility","addNewMobility","loadMobility","bisio_id","updateMobility","deleteMobility","getLVList","getPurposes","getSupports","getListPurposes","getListSupports","deleteMobilityPurpose","addMobilityPurpose","deleteMobilitySupport","addMobilitySupport","archiv","getArchivVorlagen","archive","archiveSigned","akte_id","documents","getDocumentsUnaccepted","getDocumentsAccepted","deleteZuordnung","dokument_kurzbz","createZuordnung","loadAkte","getDoktypen","updateFile","deleteFile","uploadFile","exemptions","getAnrechnungen","getLehrveranstaltungen","getBegruendungen","getLvsKompatibel","getLektoren","addNewAnrechnung","loadAnrechnung","anrechnung_id","editAnrechnung","deleteAnrechnung","jointstudies","getStudies","getTypenMobility","getStudiensemester","getStudyprograms","getListPartner","getStatiPrestudent","loadStudy","insertStudy","updateStudy","deleteStudy","courselist","getCourselist","group_consecutiveHours","dbStundenplanTable","configStudent","configStudents","notiz","getNotizen","getUid","addNewNotiz","formData","loadNotiz","notiz_id","loadDokumente","deleteNotiz","type_id","updateNotiz","isBerechtigt","betriebsmittel","getAllBetriebsmittel","addNewBetriebsmittel","loadBetriebsmittel","betriebsmittelperson_id","updateBetriebsmittel","deleteBetriebsmittel","getTypenBetriebsmittel","loadInventarliste","checkperson","updatePersonUnrulyStatus","unrulyParam","unruly","filterPerson","base","axios","ort","getContentID","ort_kurbz","getRooms","datum","von","bis","typ","personenanzahl","getRoomTypes","cms","content","content_id","version","sprache","sichtbar","getNews","page_size","news","limit","getNewsRowCount","getNewsExtra","lehre","getStudentenMail","getLvInfo","getStudentPruefungen","getStudentProjektarbeiten","getStudentProjektabgaben","detail","projektarbeit_id","postStudentProjektarbeitEndupload","Headers","postStudentProjektarbeitZwischenabgabe","getStudentProjektarbeitAbgabeFile","paabgabe_id","getMitarbeiterProjektarbeiten","all","postProjektarbeitAbgabe","termin","paabgabetyp_kurzbz","bezeichnung","fixtermin","insertvon","kurzbz","deleteProjektarbeitAbgabe","postSerientermin","projektarbeit_ids","fetchDeadlines","addons","getLvMenu","lvid","messages","getMessages","size","getVorlagen","getMsgVarsLoggedInUser","getMessageVarsPerson","getMsgVarsPrestudent","getPersonId","getDataVorlage","vorlage_kurzbz","getNameOfDefaultRecipient","getPreviewText","getReplyData","messageId","sendMessageFromModalContext","sendMessage","deleteMessage","vorlagen","getVorlagenByLoggedInUser","studium","getAllStudienSemester","studiengang","studienplan","getStudiengaengeForStudienSemester","getStudienplaeneBySemester","getLvPlanForStudiensemester","getLvEvaluierungInfo","FhcApiFactory","phrasen","dashboard","getViewData","bookmark","getBookmarks","bookmark_id","tag","ampeln","confirm","ampel_id","studiengangInformation","getStudiengangByKz","authinfo","getAuthUID","getAuthInfo","getAll","OldFhcApi","install","app","globalProperties","factory","warn","addEndpoints","_get_config","uri","TypeError","clearValidation","setFeedback","_clean_return_value","meta","fhcApiAxios","baseURL","interceptors","request","FormData","values","every","item","FileList","File","newData","entries","nd","key","append","jsondata","errors","err","_defaultErrorHandlers","code","handled","alertDefault","responseURL","alertError","validation","apply","general","php","filename","line","backtrace","function","severity","alertSystemError","exception","db","heading","sql","auth","controller","required_permissions","FhcApiFactoryWrapper","constructor","factorypart","root","defineProperty","noWarn","keys","provide","CORE_REST_CLIENT_ERROR","CORE_REST_CLIENT_RETVAL","CoreRESTClient","wsURL","wsParameters","axiosParameters","_axiosCall","isSuccess","isError","hasData","trim","getError","getErrorCode","_generateRouterURI","_printDebug","parameters","errorThrown","axiosCallObj","prop","helperAppContainer","helperApp","PvToast","PvConfirm","mailToUrl","slotProps","systemerror_mailto","openMessagecard","getOrCreateInstance","showmaillink","PvConfig","PvConfirmationService","helperAppInstance","FhcAlert","FhcPhrasen","alertSuccess","toast","summary","life","alertInfo","alertWarning","confirmDelete","$confirm","require","header","acceptLabel","acceptClass","rejectLabel","rejectClass","accept","sticky","alertMultiple","messageArray","errMsg","toUpperCase","stack","handleSystemMessage","msg","resetFormValidation","Event","querySelectorAll","dispatchEvent","handleFormValidation","nodeType","Node","ELEMENT_NODE","notFound","CustomEvent","arr","PluginsApi","_send_array_or_object","func","errs","DEFAULT_ERROR_CONFIG","fail","combine","_format_toast","_default","msgs","b","n_errors","get_config","clean_return_value","_merge_error_config","get_error_handler","formHandler","get_error_list","popHandleableErrors","copy","pop","newType","newTypeCombinesType","newTypeHasHandler","errorConfig","remaining","configoverwrite","typedErrors","allowed","reason","errType","getErrorHandler","ApiPhrasen","reactive","loadingModules","user_language","user_locale","server_languages","find","LC_Time","catArray","phrase","text","obj","elem","extractCategory","t_ref","match","p1","getValueForLoadedPhrase","PluginsPhrasen","cat","lang"],"mappings":"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"}
\ No newline at end of file
diff --git a/public/dist/js/apps/Dashboard/Admin.js b/public/dist/js/apps/Dashboard/Admin.js
index 676a0464e..98ac6daee 100644
--- a/public/dist/js/apps/Dashboard/Admin.js
+++ b/public/dist/js/apps/Dashboard/Admin.js
@@ -1,4 +1,4 @@
-import t from"../../../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js?2025111701";import e from"../../../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js?2025111701";import i from"../../../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js?2025111701";import r from"../../../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js?2025111701";const n={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'};var s={getHeader:t=>({method:"get",url:"/api/frontend/v1/navigation/header",params:{navigation_page:t}}),getMenu:t=>({method:"get",url:"/api/frontend/v1/navigation/menu",params:{navigation_page:t}})};const a={components:{CoreFetchCmpt:n},props:{addHeaderMenuEntries:Object,addSideMenuEntries:Object,hideTopMenu:Boolean,leftNavCssClasses:{type:String,default:"navbar navbar-left-side"}},data:()=>({headerMenu:{},sideMenu:{}}),computed:{headerMenuEntries(){let t=this.headerMenu?{...this.headerMenu}:{};return null!=this.headerMenu&&null!=this.addHeaderMenuEntries&&Object.keys(this.addHeaderMenuEntries).length>0&&(t[this.addHeaderMenuEntries.description]=this.addHeaderMenuEntries),t},sideMenuEntries(){let t=this.sideMenu?{...this.sideMenu}:{};return null!=this.sideMenu&&null!=this.addSideMenuEntries&&Object.keys(this.addSideMenuEntries).length>0&&(t[this.addSideMenuEntries.description]=this.addSideMenuEntries),t}},methods:{getNavigationPage:()=>FHC_JS_DATA_STORAGE_OBJECT.called_path+"/"+FHC_JS_DATA_STORAGE_OBJECT.called_method,fetchCmptApiFunctionHeader(){return this.$api.call(s.getHeader(this.getNavigationPage()))},fetchCmptApiFunctionSideMenu(){return this.$api.call(s.getMenu(this.getNavigationPage()))},fetchCmptDataFetchedHeader(t){this.headerMenu=t||{}},fetchCmptDataFetchedMenu(t){this.sideMenu=t||{}},getDataBsToggle:t=>t.children?"dropdown":null},template:'\n\t\t\x3c!-- Load head menu --\x3e\n\t\t\n\t\t\x3c!-- Load side menu --\x3e\n\t\t\n\n\t\t\x3c!-- Top menu --\x3e\n\t\t\n\n\t\t\x3c!-- Left side menu --\x3e\n\t\t\n\t'};var o={name:"BootstrapModal",data:()=>({modal:null,fullscreen:!1}),props:{backdrop:{type:[Boolean,String],default:!0,validator:t=>["static",!0,!1].includes(t)},focus:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},noCloseBtn:Boolean,dialogClass:[String,Array,Object],headerClass:{type:[String,Array,Object],default:""},bodyClass:{type:[String,Array,Object],default:"px-4 py-5"},footerClass:{type:[String,Array,Object],default:""},allowFullscreenExpand:{type:Boolean,default:!1}},emits:["hideBsModal","hiddenBsModal","hidePreventedBsModal","showBsModal","shownBsModal"],methods:{dispose(){return this.modal.dispose()},handleUpdate(){return this.modal.handleUpdate()},hide(){return this.modal.hide()},show(t){return this.modal.show(t)},toggle(){return this.modal.toggle()},toggleFullscreen(){this.fullscreen=!this.fullscreen}},mounted(){this.$refs.modal&&(this.modal=new bootstrap.Modal(this.$refs.modal,{backdrop:this.backdrop,focus:this.focus,keyboard:this.keyboard}))},popup(t,e,i,r){const n=this,s={};void 0!==t&&(s.default=()=>t),void 0!==i&&(s.title=()=>i),void 0!==r&&(s.footer=()=>r);let a=!1;return"undefined"!=typeof primevue&&(a=!0),new Promise((t,i)=>{const r=Vue.createApp({name:"ModalTmpApp",setup:()=>()=>Vue.h(n,{class:"fade",...e,ref:"modal","onHidden.bs.modal":r.unmount},s),mounted(){this.$refs.modal.show()},beforeUnmount(){this.$refs.modal&&(!1!==this.$refs.modal.result?t(this.$refs.modal.result):i())},unmounted(){o.parentElement.removeChild(o)}}),o=document.createElement("div");a&&r.use(primevue.config.default,{zIndex:{overlay:9999}}),Promise.resolve().then(function(){return dt}).then(t=>{r.use(t.default),r.mount(o),document.body.appendChild(o)})})},template:'
'},$={components:{BsModal:o,WidgetIcon:y},props:["widgets"],data:()=>({callbacks:{}}),methods:{getWidget(){return new Promise((t,e)=>{this.callbacks={resolve:t,reject:e},this.$refs.modal.show()})},close(){this.callbacks.reject&&this.callbacks.reject(),this.callbacks={}},pick(t){this.callbacks.resolve&&this.callbacks.resolve(t),this.callbacks={},this.$refs.modal.hide()}},template:'
\n\t\t\n\t\t\tCreate new widget\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tNo Widgets available\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\n\t
'},S={mergeDeep(...t){const e=t=>t&&"object"==typeof t;return t.reduce((t,i)=>(Object.keys(i).forEach(r=>{const n=t[r],s=i[r];Array.isArray(n)&&Array.isArray(s)?t[r]=n.concat(...s):e(n)&&e(s)?t[r]=this.mergeDeep(n,s):t[r]=s}),t),{})}},C={components:{DashboardAdminEdit:h,DashboardAdminWidgets:c,DashboardAdminPresets:{components:{DashboardSection:w,DashboardWidgetPicker:$},props:{dashboard:String,widgets:Array},data:()=>({funktionen:{},sections:[],tmpLoading:""}),computed:{apiurl:()=>FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/dashboard",pickerWidgets(){return this.widgets.filter(t=>t.allowed)}},methods:{widgetAdd(t,e){this.$refs.widgetpicker.getWidget().then(i=>{e.widget=i,delete e.custom,e.preset=1;let r={...e};r.loading=!0,this.sections.forEach(e=>{e.name==t&&e.widgets.push(r)}),axios.post(this.apiurl+"/Config/addWidgetsToPreset",{db:this.dashboard,funktion_kurzbz:t,widgets:[e]}).then(i=>{let n=Object.keys(i.data.retval.data[t].widgets).pop();e.id=n,e.custom=1,this.sections.forEach(i=>{i.name==t&&(i.widgets.splice(i.widgets.indexOf(r),1),i.widgets.push(e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})}).catch(()=>{})},widgetUpdate(t,e){for(var i in e=e[t]){for(var r in this.sections)if(this.sections[r].name==t){for(var n in this.sections[r].widgets)if(this.sections[r].widgets[n].id==i){for(var s in e[i]=S.mergeDeep(this.sections[r].widgets[n],e[i]),{_x:1,_y:1,_w:1,_h:1,index:1,id:1})e[i][s]&&delete e[i][s];break}break}e[i].widgetid=i,delete e[i].custom}axios.post(this.apiurl+"/Config/addWidgetsToPreset",{db:this.dashboard,funktion_kurzbz:t,widgets:e}).then(()=>{this.sections.forEach(i=>{i.name==t&&i.widgets.forEach((t,r)=>{e[t.id]&&(e[t.id].id=t.id,e[t.id].index=t.index,i.widgets[r]=e[t.id],i.widgets[r].custom=1)})})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})},widgetRemove(t,e){axios.post(this.apiurl+"/Config/removeWidgetFromPreset",{db:this.dashboard,funktion_kurzbz:t,widgetid:e}).then(()=>{this.sections.forEach(i=>{i.name==t&&(i.widgets=i.widgets.filter(t=>t.id!=e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})},loadSections(t){let e=Array.from(t.target.querySelectorAll("option:checked"),t=>t.value);this.sections=[],this.tmpLoading=e.join("###"),axios.get(this.apiurl+"/Config/presetBatch",{params:{db:this.dashboard,funktionen:e}}).then(t=>{if(this.tmpLoading===e.join("###"))for(var i in t.data.retval){let e=[];for(var r in t.data.retval[i])t.data.retval[i][r].id=r,t.data.retval[i][r].custom=1,e.push(t.data.retval[i][r]);this.sections.push({name:i,widgets:e})}}).catch(t=>console.error("ERROR:",t))}},created(){axios.get(this.apiurl+"/Config/funktionen").then(t=>{this.funktionen={general:"GENERAL"},t.data.retval.forEach(t=>{this.funktionen[t.funktion_kurzbz]=t.beschreibung})}).catch(t=>console.error("ERROR:",t))},watch:{dashboard(){this.loadSections({target:this.$refs.funktionenList})}},template:'
'},E={search(t,e){return this.$fhcApi.post("/api/frontend/v1/searchbar/search",t,e)},searchAdvanced(t,e){return this.$fhcApi.post("/api/frontend/v1/searchbar/searchAdvanced",t,e)},searchdummy(t){return this.$fhcApi.post("public/js/apps/api/dummyapi.php/Search",t)}},k={loadCategory(t){return this.$fhcApi.get("/api/frontend/v1/phrasen/loadModule/"+t)},setLanguage(t,e){const i={categories:t,language:e};return this.$fhcApi.post("/api/frontend/v1/phrasen/setLanguage",i)},getLanguage(){return this.$fhcApi.get("/api/frontend/v1/phrasen/getLanguage",{})},getActiveDbLanguages(){return this.$fhcApi.get("/api/frontend/v1/phrasen/getAllLanguages",{})}},P={getHeader(t){return this.$fhcApi.get("/api/frontend/v1/navigation/header",{navigation_page:t})},getMenu:function(t){return this.$fhcApi.get("/api/frontend/v1/navigation/menu",{navigation_page:t})}},T={saveCustomFilter(t){return this.$fhcApi.post("/api/frontend/v1/filter/saveCustomFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,customFilterName:t.customFilterName})},removeCustomFilter(t){return this.$fhcApi.post("/api/frontend/v1/filter/removeCustomFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterId:t.filterId})},applyFilterFields(t){return this.$fhcApi.post("/api/frontend/v1/filter/applyFilterFields",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterFields:t.filterFields})},addFilterField(t){return this.$fhcApi.post("/api/frontend/v1/filter/addFilterField",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterField:t.filterField})},removeFilterField(t){return this.$fhcApi.post("/api/frontend/v1/filter/removeFilterField",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterField:t.filterField})},getFilterById(t){return this.$fhcApi.get("/api/frontend/v1/filter/getFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterId:t.filterId})},getFilter(t){return this.$fhcApi.get("/api/frontend/v1/filter/getFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType})}},x={abmeldung:{getDetails(t,e){const i="/api/frontend/v1/studstatus/abmeldung/"+(void 0!==t?"getDetailsForAntrag/"+t:"getDetailsForNewAntrag/"+e);return this.$fhcApi.get(i)},create(t,e,i){return this.$fhcApi.post("/api/frontend/v1/studstatus/abmeldung/createAntrag",{studiensemester:t,prestudent_id:e,grund:i},{errorHandling:"strict"})},cancel(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/abmeldung/cancelAntrag",{antrag_id:t.studierendenantrag_id},{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/abmeldung/cancelAntrag",{antrag_id:t})}},unterbrechung:{getDetails(t,e){const i="/api/frontend/v1/studstatus/unterbrechung/"+(void 0!==t?"getDetailsForAntrag/"+t:"getDetailsForNewAntrag/"+e);return this.$fhcApi.get(i)},create(t,e,i,r,n){return this.$fhcApi.post("/api/frontend/v1/studstatus/unterbrechung/createAntrag",{studiensemester:t,prestudent_id:e,grund:i,datum_wiedereinstieg:r,attachment:n},{errorHandling:"strict"})},cancel(t){return this.$fhcApi.post("/api/frontend/v1/studstatus/unterbrechung/cancelAntrag",{antrag_id:t},{errorHandling:"strict"})}},wiederholung:{getDetails(t){const e="/api/frontend/v1/studstatus/wiederholung/getDetailsForNewAntrag/"+t;return this.$fhcApi.get(e)},getLvs(t){const e="/api/frontend/v1/studstatus/wiederholung/getLvs/"+t;return this.$fhcApi.get(e)},create(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/wiederholung/createAntrag",{prestudent_id:t,studiensemester:e},{errorHandling:"strict"})},cancel(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/wiederholung/cancelAntrag",{prestudent_id:t,studiensemester:e},{errorHandling:"strict"})},saveLvs(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/wiederholung/saveLvs",{forbiddenLvs:t,mandatoryLvs:e})}},leitung:{getStgs(){return this.$fhcApi.get("/api/frontend/v1/studstatus/leitung/getActiveStgs")},getAntraege(t,e,i){return this.$fhcApi.get("/api/frontend/v1/studstatus/leitung/getAntraege/"+t).then(t=>t.data)},getHistory(t){return this.$fhcApi.get("/api/frontend/v1/studstatus/leitung/getHistory/"+t)},getPrestudents(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/getPrestudents",{query:t},{signal:e,timeout:3e4})},approve(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveAntrag",t)},reject(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/rejectAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/rejectAntrag",t)},reopen(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/reopenAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/reopenAntrag",t)},pause(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/pauseAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/pauseAntrag",t)},unpause(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/unpauseAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/unpauseAntrag",t)},object(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/objectAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/objectAntrag",t)},approveObjection(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveObjection",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveObjection",t)},denyObjection(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/denyObjection",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/denyObjection",t)}}},O={getView:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/getView/${t}`,{})},fotoSperre:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/fotoSperre/${t}`,{})},isStudent:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/isStudent",{uid:t})},isMitarbeiter:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/isMitarbeiter/${t}`,{})},getZustellAdresse:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/getZustellAdresse",{})},getZustellKontakt:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/getZustellKontakt",{})},getGemeinden:function(t,e){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/getGemeinden/${t}/${e}`,{})},getAllNationen:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/getAllNationen",{})}},D={
+import t from"../../../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js?2025121701";import e from"../../../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js?2025121701";import i from"../../../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js?2025121701";import r from"../../../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js?2025121701";const n={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'};var s={getHeader:t=>({method:"get",url:"/api/frontend/v1/navigation/header",params:{navigation_page:t}}),getMenu:t=>({method:"get",url:"/api/frontend/v1/navigation/menu",params:{navigation_page:t}})};const a={components:{CoreFetchCmpt:n},props:{addHeaderMenuEntries:Object,addSideMenuEntries:Object,hideTopMenu:Boolean,leftNavCssClasses:{type:String,default:"navbar navbar-left-side"}},data:()=>({headerMenu:{},sideMenu:{}}),computed:{headerMenuEntries(){let t=this.headerMenu?{...this.headerMenu}:{};return null!=this.headerMenu&&null!=this.addHeaderMenuEntries&&Object.keys(this.addHeaderMenuEntries).length>0&&(t[this.addHeaderMenuEntries.description]=this.addHeaderMenuEntries),t},sideMenuEntries(){let t=this.sideMenu?{...this.sideMenu}:{};return null!=this.sideMenu&&null!=this.addSideMenuEntries&&Object.keys(this.addSideMenuEntries).length>0&&(t[this.addSideMenuEntries.description]=this.addSideMenuEntries),t}},methods:{getNavigationPage:()=>FHC_JS_DATA_STORAGE_OBJECT.called_path+"/"+FHC_JS_DATA_STORAGE_OBJECT.called_method,fetchCmptApiFunctionHeader(){return this.$api.call(s.getHeader(this.getNavigationPage()))},fetchCmptApiFunctionSideMenu(){return this.$api.call(s.getMenu(this.getNavigationPage()))},fetchCmptDataFetchedHeader(t){this.headerMenu=t||{}},fetchCmptDataFetchedMenu(t){this.sideMenu=t||{}},getDataBsToggle:t=>t.children?"dropdown":null},template:'\n\t\t\x3c!-- Load head menu --\x3e\n\t\t\n\t\t\x3c!-- Load side menu --\x3e\n\t\t\n\n\t\t\x3c!-- Top menu --\x3e\n\t\t\n\n\t\t\x3c!-- Left side menu --\x3e\n\t\t\n\t'};var o={name:"BootstrapModal",data:()=>({modal:null,fullscreen:!1}),props:{backdrop:{type:[Boolean,String],default:!0,validator:t=>["static",!0,!1].includes(t)},focus:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},noCloseBtn:Boolean,dialogClass:[String,Array,Object],headerClass:{type:[String,Array,Object],default:""},bodyClass:{type:[String,Array,Object],default:"px-4 py-5"},footerClass:{type:[String,Array,Object],default:""},allowFullscreenExpand:{type:Boolean,default:!1}},emits:["hideBsModal","hiddenBsModal","hidePreventedBsModal","showBsModal","shownBsModal"],methods:{dispose(){return this.modal.dispose()},handleUpdate(){return this.modal.handleUpdate()},hide(){return this.modal.hide()},show(t){return this.modal.show(t)},toggle(){return this.modal.toggle()},toggleFullscreen(){this.fullscreen=!this.fullscreen}},mounted(){this.$refs.modal&&(this.modal=new bootstrap.Modal(this.$refs.modal,{backdrop:this.backdrop,focus:this.focus,keyboard:this.keyboard}))},popup(t,e,i,r){const n=this,s={};void 0!==t&&(s.default=()=>t),void 0!==i&&(s.title=()=>i),void 0!==r&&(s.footer=()=>r);let a=!1;return"undefined"!=typeof primevue&&(a=!0),new Promise((t,i)=>{const r=Vue.createApp({name:"ModalTmpApp",setup:()=>()=>Vue.h(n,{class:"fade",...e,ref:"modal","onHidden.bs.modal":r.unmount},s),mounted(){this.$refs.modal.show()},beforeUnmount(){this.$refs.modal&&(!1!==this.$refs.modal.result?t(this.$refs.modal.result):i())},unmounted(){o.parentElement.removeChild(o)}}),o=document.createElement("div");a&&r.use(primevue.config.default,{zIndex:{overlay:9999}}),Promise.resolve().then(function(){return dt}).then(t=>{r.use(t.default),r.mount(o),document.body.appendChild(o)})})},template:'
'},$={components:{BsModal:o,WidgetIcon:y},props:["widgets"],data:()=>({callbacks:{}}),methods:{getWidget(){return new Promise((t,e)=>{this.callbacks={resolve:t,reject:e},this.$refs.modal.show()})},close(){this.callbacks.reject&&this.callbacks.reject(),this.callbacks={}},pick(t){this.callbacks.resolve&&this.callbacks.resolve(t),this.callbacks={},this.$refs.modal.hide()}},template:'
\n\t\t\n\t\t\tCreate new widget\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tNo Widgets available\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\n\t
'},S={mergeDeep(...t){const e=t=>t&&"object"==typeof t;return t.reduce((t,i)=>(Object.keys(i).forEach(r=>{const n=t[r],s=i[r];Array.isArray(n)&&Array.isArray(s)?t[r]=n.concat(...s):e(n)&&e(s)?t[r]=this.mergeDeep(n,s):t[r]=s}),t),{})}},C={components:{DashboardAdminEdit:h,DashboardAdminWidgets:c,DashboardAdminPresets:{components:{DashboardSection:w,DashboardWidgetPicker:$},props:{dashboard:String,widgets:Array},data:()=>({funktionen:{},sections:[],tmpLoading:""}),computed:{apiurl:()=>FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/dashboard",pickerWidgets(){return this.widgets.filter(t=>t.allowed)}},methods:{widgetAdd(t,e){this.$refs.widgetpicker.getWidget().then(i=>{e.widget=i,delete e.custom,e.preset=1;let r={...e};r.loading=!0,this.sections.forEach(e=>{e.name==t&&e.widgets.push(r)}),axios.post(this.apiurl+"/Config/addWidgetsToPreset",{db:this.dashboard,funktion_kurzbz:t,widgets:[e]}).then(i=>{let n=Object.keys(i.data.retval.data[t].widgets).pop();e.id=n,e.custom=1,this.sections.forEach(i=>{i.name==t&&(i.widgets.splice(i.widgets.indexOf(r),1),i.widgets.push(e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})}).catch(()=>{})},widgetUpdate(t,e){for(var i in e=e[t]){for(var r in this.sections)if(this.sections[r].name==t){for(var n in this.sections[r].widgets)if(this.sections[r].widgets[n].id==i){for(var s in e[i]=S.mergeDeep(this.sections[r].widgets[n],e[i]),{_x:1,_y:1,_w:1,_h:1,index:1,id:1})e[i][s]&&delete e[i][s];break}break}e[i].widgetid=i,delete e[i].custom}axios.post(this.apiurl+"/Config/addWidgetsToPreset",{db:this.dashboard,funktion_kurzbz:t,widgets:e}).then(()=>{this.sections.forEach(i=>{i.name==t&&i.widgets.forEach((t,r)=>{e[t.id]&&(e[t.id].id=t.id,e[t.id].index=t.index,i.widgets[r]=e[t.id],i.widgets[r].custom=1)})})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})},widgetRemove(t,e){axios.post(this.apiurl+"/Config/removeWidgetFromPreset",{db:this.dashboard,funktion_kurzbz:t,widgetid:e}).then(()=>{this.sections.forEach(i=>{i.name==t&&(i.widgets=i.widgets.filter(t=>t.id!=e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})},loadSections(t){let e=Array.from(t.target.querySelectorAll("option:checked"),t=>t.value);this.sections=[],this.tmpLoading=e.join("###"),axios.get(this.apiurl+"/Config/presetBatch",{params:{db:this.dashboard,funktionen:e}}).then(t=>{if(this.tmpLoading===e.join("###"))for(var i in t.data.retval){let e=[];for(var r in t.data.retval[i])t.data.retval[i][r].id=r,t.data.retval[i][r].custom=1,e.push(t.data.retval[i][r]);this.sections.push({name:i,widgets:e})}}).catch(t=>console.error("ERROR:",t))}},created(){axios.get(this.apiurl+"/Config/funktionen").then(t=>{this.funktionen={general:"GENERAL"},t.data.retval.forEach(t=>{this.funktionen[t.funktion_kurzbz]=t.beschreibung})}).catch(t=>console.error("ERROR:",t))},watch:{dashboard(){this.loadSections({target:this.$refs.funktionenList})}},template:'
'},b={components:{BsModal:s,WidgetIcon:g},props:["widgets"],data:()=>({callbacks:{}}),methods:{getWidget(){return new Promise((t,e)=>{this.callbacks={resolve:t,reject:e},this.$refs.modal.show()})},close(){this.callbacks.reject&&this.callbacks.reject(),this.callbacks={}},pick(t){this.callbacks.resolve&&this.callbacks.resolve(t),this.callbacks={},this.$refs.modal.hide()}},template:'
\n\t\t\n\t\t\tCreate new widget\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tNo Widgets available\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\n\t
'},y={mergeDeep(...t){const e=t=>t&&"object"==typeof t;return t.reduce((t,n)=>(Object.keys(n).forEach(i=>{const a=t[i],s=n[i];Array.isArray(a)&&Array.isArray(s)?t[i]=a.concat(...s):e(a)&&e(s)?t[i]=this.mergeDeep(a,s):t[i]=s}),t),{})}},w={getViewData:()=>({method:"get",url:"/api/frontend/v1/Cis4FhcApi/getViewData"})},_={name:"Dashboard",components:{DashboardSection:v,DashboardWidgetPicker:b},props:{dashboard:{type:String,required:!0,default:"CIS"},viewData:{type:Object,required:!0,validator:t=>t&&t.name&&t.uid&&t.timezone}},data(){return{sections:[],widgets:null,editMode:!1,viewDataInternal:this.viewData}},provide(){return{editMode:Vue.computed(()=>this.editMode),widgetsSetup:Vue.computed(()=>this.widgets),timezone:Vue.computed(()=>this.viewData.timezone)}},computed:{apiurl:()=>FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/dashboard"},methods:{widgetAdd(t,e){null===this.widgets&&axios.get(this.apiurl+"/Widget/getWidgetsForDashboard",{params:{db:this.dashboard}}).then(t=>{t.data.retval.forEach(t=>{t.arguments=JSON.parse(t.arguments),t.setup=JSON.parse(t.setup)}),this.widgets=t.data.retval}).catch(t=>console.error("ERROR:",t)),this.$refs.widgetpicker.getWidget().then(n=>{e.widget=n,e.id="loading_"+String((new Date).valueOf());let i={...e};i.loading=!0,this.sections.forEach(e=>{e.name==t&&e.widgets.push(i)}),axios.post(this.apiurl+"/Config/addWidgetsToUserOverride",{db:this.dashboard,funktion_kurzbz:t,widgets:[e]}).then(n=>{let a=Object.keys(n.data.retval.data[t].widgets).pop();e.id=a,this.sections.forEach(n=>{n.name==t&&(n.widgets.splice(n.widgets.indexOf(i),1),n.widgets.push(e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})}).catch(()=>{})},widgetUpdate(t,e){for(var n in e=e[t]){for(var i in this.sections)if(this.sections[i].name==t){for(var a in this.sections[i].widgets)if(this.sections[i].widgets[a].id==n){for(var s in e[n]=y.mergeDeep(this.sections[i].widgets[a],e[n]),{_x:1,_y:1,_w:1,_h:1,index:1,id:1,preset:1})e[n][s]&&delete e[n][s];break}break}e[n].widgetid=n}axios.post(this.apiurl+"/Config/addWidgetsToUserOverride",{db:this.dashboard,funktion_kurzbz:t,widgets:e}).then(()=>{this.sections.forEach(n=>{n.name==t&&n.widgets.forEach((t,i)=>{e[t.id]&&(e[t.id].id=t.id,e[t.id].index=t.index,n.widgets[i]=e[t.id])})})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})},widgetRemove(t,e){axios.post(this.apiurl+"/Config/removeWidgetFromUserOverride",{db:this.dashboard,funktion_kurzbz:t,widgetid:e}).then(()=>{this.sections.forEach(n=>{n.name==t&&(n.widgets=n.widgets.filter(t=>t.id!=e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})}},created(){this.$p.loadCategory("dashboard"),axios.get(this.apiurl+"/Widget/getWidgetsForDashboard",{params:{db:this.dashboard}}).then(t=>{t.data.retval.forEach(t=>{t.arguments=JSON.parse(t.arguments),t.setup=JSON.parse(t.setup)}),this.widgets=t.data.retval}).catch(t=>console.error("ERROR:",t)),axios.get(this.apiurl+"/Config",{params:{db:this.dashboard}}).then(t=>{for(var e in t.data.retval){let i=[],a=[];for(var n in t.data.retval[e].widgets)t.data.retval[e].widgets[n].id=n,t.data.retval[e].widgets[n].custom||t.data.retval[e].widgets[n].preset?i.push(t.data.retval[e].widgets[n]):a.push(n);this.sections.push({name:e,widgets:i}),a.forEach(t=>this.widgetRemove(e,t))}this.sections=this.sections.sort((t,e)=>"custom"==t.name?1:"custom"==e.name?-1:e.widgets.length-t.widgets.length)}).catch(t=>console.error("ERROR:",t))},async beforeMount(){if(!this.viewData.name||!this.viewData.uid){const t=await this.$api.call(w.getViewData());this.viewDataInternal=t.data}},template:'\n\t
'},b={components:{BsModal:s,WidgetIcon:g},props:["widgets"],data:()=>({callbacks:{}}),methods:{getWidget(){return new Promise((t,e)=>{this.callbacks={resolve:t,reject:e},this.$refs.modal.show()})},close(){this.callbacks.reject&&this.callbacks.reject(),this.callbacks={}},pick(t){this.callbacks.resolve&&this.callbacks.resolve(t),this.callbacks={},this.$refs.modal.hide()}},template:'
\n\t\t\n\t\t\tCreate new widget\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tNo Widgets available\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\n\t
'},y={mergeDeep(...t){const e=t=>t&&"object"==typeof t;return t.reduce((t,n)=>(Object.keys(n).forEach(i=>{const a=t[i],s=n[i];Array.isArray(a)&&Array.isArray(s)?t[i]=a.concat(...s):e(a)&&e(s)?t[i]=this.mergeDeep(a,s):t[i]=s}),t),{})}},w={getViewData:()=>({method:"get",url:"/api/frontend/v1/Cis4FhcApi/getViewData"})},_={name:"Dashboard",components:{DashboardSection:v,DashboardWidgetPicker:b},props:{dashboard:{type:String,required:!0,default:"CIS"},viewData:{type:Object,required:!0,validator:t=>t&&t.name&&t.uid&&t.timezone}},data(){return{sections:[],widgets:null,editMode:!1,viewDataInternal:this.viewData}},provide(){return{editMode:Vue.computed(()=>this.editMode),widgetsSetup:Vue.computed(()=>this.widgets),timezone:Vue.computed(()=>this.viewData.timezone)}},computed:{apiurl:()=>FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/dashboard"},methods:{widgetAdd(t,e){null===this.widgets&&axios.get(this.apiurl+"/Widget/getWidgetsForDashboard",{params:{db:this.dashboard}}).then(t=>{t.data.retval.forEach(t=>{t.arguments=JSON.parse(t.arguments),t.setup=JSON.parse(t.setup)}),this.widgets=t.data.retval}).catch(t=>console.error("ERROR:",t)),this.$refs.widgetpicker.getWidget().then(n=>{e.widget=n,e.id="loading_"+String((new Date).valueOf());let i={...e};i.loading=!0,this.sections.forEach(e=>{e.name==t&&e.widgets.push(i)}),axios.post(this.apiurl+"/Config/addWidgetsToUserOverride",{db:this.dashboard,funktion_kurzbz:t,widgets:[e]}).then(n=>{let a=Object.keys(n.data.retval.data[t].widgets).pop();e.id=a,this.sections.forEach(n=>{n.name==t&&(n.widgets.splice(n.widgets.indexOf(i),1),n.widgets.push(e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})}).catch(()=>{})},widgetUpdate(t,e){for(var n in e=e[t]){for(var i in this.sections)if(this.sections[i].name==t){for(var a in this.sections[i].widgets)if(this.sections[i].widgets[a].id==n){for(var s in e[n]=y.mergeDeep(this.sections[i].widgets[a],e[n]),{_x:1,_y:1,_w:1,_h:1,index:1,id:1,preset:1})e[n][s]&&delete e[n][s];break}break}e[n].widgetid=n}axios.post(this.apiurl+"/Config/addWidgetsToUserOverride",{db:this.dashboard,funktion_kurzbz:t,widgets:e}).then(()=>{this.sections.forEach(n=>{n.name==t&&n.widgets.forEach((t,i)=>{e[t.id]&&(e[t.id].id=t.id,e[t.id].index=t.index,n.widgets[i]=e[t.id])})})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})},widgetRemove(t,e){axios.post(this.apiurl+"/Config/removeWidgetFromUserOverride",{db:this.dashboard,funktion_kurzbz:t,widgetid:e}).then(()=>{this.sections.forEach(n=>{n.name==t&&(n.widgets=n.widgets.filter(t=>t.id!=e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})}},created(){this.$p.loadCategory("dashboard"),axios.get(this.apiurl+"/Widget/getWidgetsForDashboard",{params:{db:this.dashboard}}).then(t=>{t.data.retval.forEach(t=>{t.arguments=JSON.parse(t.arguments),t.setup=JSON.parse(t.setup)}),this.widgets=t.data.retval}).catch(t=>console.error("ERROR:",t)),axios.get(this.apiurl+"/Config",{params:{db:this.dashboard}}).then(t=>{for(var e in t.data.retval){let i=[],a=[];for(var n in t.data.retval[e].widgets)t.data.retval[e].widgets[n].id=n,t.data.retval[e].widgets[n].custom||t.data.retval[e].widgets[n].preset?i.push(t.data.retval[e].widgets[n]):a.push(n);this.sections.push({name:e,widgets:i}),a.forEach(t=>this.widgetRemove(e,t))}this.sections=this.sections.sort((t,e)=>"custom"==t.name?1:"custom"==e.name?-1:e.widgets.length-t.widgets.length)}).catch(t=>console.error("ERROR:",t))},async beforeMount(){if(!this.viewData.name||!this.viewData.uid){const t=await this.$api.call(w.getViewData());this.viewDataInternal=t.data}},template:'\n\t
'};const ee={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'},ne="Filter Component New Filter";var ie={props:{filters:{type:Array,default:[]},columns:{type:Array,default:[]},fields:{type:Array,default:[]}},emits:{switchFilter:["filterId"],applyFilterConfig:["filterFields"],saveCustomFilter:["customFilterName"]},data:function(){return{currentFields:[]}},computed:{types(){return this.columns.reduce((t,e)=>{let n=e.type.toLowerCase();return n.indexOf("int")>=0?t[e.name]="Numeric":n.indexOf("varchar")>=0||n.indexOf("text")>=0||n.indexOf("bpchar")>=0?t[e.name]="Text":n.indexOf("timestamp")>=0||n.indexOf("date")>=0?t[e.name]="Date":t[e.name]="",t},{})}},watch:{fields(t){this.currentFields=t}},methods:{switchFilter(t){this.$emit("switchFilter",t.currentTarget.value)},applyFilterConfig(){const t=this.currentFields.filter(t=>t.name!=ne);t.filter(t=>""==t.condition).length?alert("Please fill all the filter options"):this.$emit("applyFilterConfig",t)},addField(t){this.currentFields.push({name:ne})},removeField(t){this.currentFields.splice(t,1)}},template:'\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t'};const se={jsonLines:"fa-file-lines",xlsx:"fa-file-excel",pdf:"fa-file-pdf",html:"fa-file-code",json:"fa-file",csv:"fa-file-csv"},re={jsonLines:"Download as JSONLINES",xlsx:"Download as XLSX",pdf:"Download as PDF",html:"Download as HTML",json:"Download as JSON",csv:"Download as CSV "};var oe={props:{tabulator:Object,config:{type:[Boolean,String,Function,Array,Object],default:!1},iconClass:[String,Array,Object]},computed:{currentConfig(){if(!this.config)return!1;let t=this.config;if(t instanceof Function)return[t];if(null===t)return[];if(!0===this.config&&(t=["csv"]),"[object String]"===Object.prototype.toString.call(t)&&(t=t.split(",")),"object"==typeof t&&!Array.isArray(t)){let a=[];for(var e in t){var n,i=t[e];i&&("[object String]"===Object.prototype.toString.call(i)?null!==(n=this.stringToFileFormatter(i))?a.push({icon:"fa-solid "+se[n],label:i===e?re[n]:e,formatter:n}):null!==(n=this.stringToFileFormatter(e))?a.push({icon:"fa-solid "+se[n],label:i,formatter:n}):alert("neither "+e+" nor "+i+" are supported download file types"):"object"!=typeof i||Array.isArray(i)?null!==(n=this.stringToFileFormatter(e))?a.push({icon:"fa-solid "+se[n],label:re[n],formatter:n}):alert(e+" is not a supported download file type"):null!==(n=this.stringToFileFormatter(e))?(void 0===i.formatter&&(i.formatter=n),void 0===i.label&&(i.label=re[n]),void 0===i.icon&&(i.icon=se[n]),a.push(i)):(void 0===i.label&&(i.label=e),a.push(i)))}t=a}if(Array.isArray(t)){if(t=t.map(t=>{if("[object String]"===Object.prototype.toString.call(t)){let e=this.stringToFileFormatter(t);return null===e?null:{icon:"fa-solid "+se[e],label:re[e],formatter:e}}if(t instanceof Function)return{formatter:t};if("object"==typeof t&&!Array.isArray(t)&&null!==t){if(t.formatter instanceof Function)return t;if(this.validateFileFormatter(t.formatter))return t}return null}).filter(t=>null!==t),t.length<2)return t;if(t.filter(t=>t.label||t.icon).length==t.length)return t;alert("Config not valid")}return[]}},methods:{stringToFileFormatter(t){let e=t.toLowerCase();return"jsonlines"==e?"jsonLines":["xlsx","pdf","html","json","csv"].includes(e)?e:null},validateFileFormatter(t){let e=this.stringToFileFormatter(t);if(!e)return alert(t+" is not a supported file formatter"),!1;if("xlsx"==e&&!window.XLSX)return alert("XLSX Library not loaded"),!1;if("pdf"==e){if(!window.jspdf)return alert("jsPDF Library not loaded"),!1;if(!new jspdf.jsPDF({}).autoTable)return alert("jsPDF-AutoTable Plugin not loaded"),!1}return!0},download(t){this.tabulator.download(t.formatter,t.file,t.options)}},template:'\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\t\t\t\x3c!-- print Telefon link --\x3e\n\t\t\t\t\t\t{{entry.value ?? \'-\'}}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\x3c!-- print semester link --\x3e\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ entry.value }}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\x3c!-- print verband link --\x3e\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ entry.value }}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\x3c!-- print gruppe link --\x3e\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ entry.value }}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\x3c!-- else print information --\x3e\n\t\t\t\t\t\t{{ entry.value ?? \'-\'}}\n\t\t\t\t\t
'}},emits:["update:modelValue"],props:{modelValue:{type:[FileList,Array],required:!0},multiple:Boolean,id:String,name:String,inputClass:[String,Array,Object],noList:Boolean,accept:{type:String,default:""},disabled:{type:Boolean,default:!1}},methods:{stringifyFile:t=>JSON.stringify({lastModified:t.lastModified,lastModifiedDate:t.lastModifiedDate,name:t.name,size:t.size,type:t.type}),addFiles(t){if(!this.multiple)return this.$emit("update:modelValue",t.target.files);const e=new DataTransfer,n=[];for(var i of this.modelValue)e.items.add(i),n.push(this.stringifyFile(i));for(var i of t.target.files)n.indexOf(this.stringifyFile(i))<0&&e.items.add(i);this.$emit("update:modelValue",e.files)},removeFile(t){const e=Array.from(this.modelValue)[t],n=new DataTransfer;for(var i of this.modelValue)i!==e&&n.items.add(i);this.$emit("update:modelValue",n.files)}},watch:{modelValue(t){if(!t)return;if(t instanceof FileList){if(!this.$refs.upload)return;return this.$refs.upload.files=t}const e=new DataTransfer;for(var n of t)if(n instanceof File)e.items.add(n);else{const t=new File([JSON.stringify(n)],n.name,{type:"application/x.fhc-dms+json"});e.items.add(t)}this.$emit("update:modelValue",e.files)}},template:'\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
'},ke={
+getStatus:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/ProfilUpdate/getStatus",{})},getTopic:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/ProfilUpdate/getTopic",{})},acceptProfilRequest:function({profil_update_id:t,uid:e,status_message:n,topic:i,requested_change:a}){return this.$fhcApi.post(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/ProfilUpdate/acceptProfilRequest",{profil_update_id:t,uid:e,status_message:n,topic:i,requested_change:a})},denyProfilRequest:function({profil_update_id:t,uid:e,topic:n,status_message:i}){return this.$fhcApi.post(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/ProfilUpdate/denyProfilRequest",{profil_update_id:t,uid:e,topic:n,status_message:i})},insertFile:function(t,e=null){return this.$fhcApi.post(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/ProfilUpdate/insertFile/${e}`,t)},getProfilRequestFiles:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/ProfilUpdate/getProfilRequestFiles/${t}`,{})},selectProfilRequest:function(t=null,e=null){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/ProfilUpdate/selectProfilRequest",{...t?{uid:t}:{},...e?{id:e}:{}})},insertProfilRequest:function(t,e,n=null){return this.$fhcApi.post(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/ProfilUpdate/insertProfilRequest",{topic:t,payload:e,...n?{fileID:n}:{}})},updateProfilRequest:function(t,e,n,i=null){return this.$fhcApi.post(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/ProfilUpdate/updateProfilRequest",{topic:t,payload:e,ID:n,...i?{fileID:i}:{}})},deleteProfilRequest:function(t){return this.$fhcApi.post(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/ProfilUpdate/deleteProfilRequest",{requestID:t})}},D={getRoomInfo(t,e,n){return this.$fhcApi.post("/api/frontend/v1/LvPlan/getRoomplan",{ort_kurzbz:t,start_date:e,end_date:n})},getStunden(){return this.$fhcApi.get("/api/frontend/v1/LvPlan/Stunden",{})},getOrtReservierungen(t,e,n){return this.$fhcApi.post(`/api/frontend/v1/LvPlan/getReservierungen/${t}`,{start_date:e,end_date:n})},getLvPlanReservierungen(t,e){return this.$fhcApi.post("/api/frontend/v1/LvPlan/getReservierungen",{start_date:t,end_date:e})},getLehreinheitStudiensemester(t){return this.$fhcApi.get(`/api/frontend/v1/LvPlan/getLehreinheitStudiensemester/${t}`,{})},studiensemesterDateInterval(t){return this.$fhcApi.get(`/api/frontend/v1/LvPlan/studiensemesterDateInterval/${t}`,{})},LvPlanEvents(t,e,n){return this.$fhcApi.get("/api/frontend/v1/LvPlan/LvPlanEvents",{start_date:t,end_date:e,lv_id:n})}},C={verband:{get(){return this.$fhcApi.get("api/frontend/v1/stv/verband")},favorites:{get(){return this.$fhcApi.get("api/frontend/v1/stv/favorites")},set(t){return this.$fhcApi.post("api/frontend/v1/stv/favorites/set",{favorites:t})}}},students:{uid(t,e){let n="api/frontend/v1/stv/students/"+encodeURIComponent(e)+"/uid/"+encodeURIComponent(t);return this.$fhcApi.getUri(n)},prestudent(t,e){let n="api/frontend/v1/stv/students/"+encodeURIComponent(e)+"/prestudent/"+encodeURIComponent(t);return this.$fhcApi.getUri(n)},person(t,e){let n="api/frontend/v1/stv/students/"+encodeURIComponent(e)+"/person/"+encodeURIComponent(t);return this.$fhcApi.getUri(n)},verband(t){return this.$fhcApi.getUri("api/frontend/v1/stv/students/"+t)}},filter:{getStg(){return this.$fhcApi.get("api/frontend/v1/stv/filter/getStg")},setStg(t){return this.$fhcApi.post("api/frontend/v1/stv/filter/setStg",{studiengang_kz:t})}},konto:{tabulatorConfig(t,e){return t.ajaxURL="api/frontend/v1/stv/konto/get",t.ajaxParams=()=>({person_id:e.modelValue.person_id||e.modelValue.map(t=>t.person_id),only_open:e.filter,studiengang_kz:e.studiengang_kz_intern?e.stg_kz:""}),t.ajaxRequestFunc=(t,e,n)=>this.$fhcApi.post(t,n,e),t.ajaxResponse=(t,e,n)=>n.data,t},checkDoubles(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/konto/checkDoubles",e,{confirmErrorHandler:t=>!0})},insert(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/konto/insert",e)},counter(t){return this.$fhcApi.post("api/frontend/v1/stv/konto/counter",t)},edit(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/konto/update",e)},delete(t){return this.$fhcApi.post("api/frontend/v1/stv/konto/delete",{buchungsnr:t})},getBuchungstypen(){return this.$fhcApi.get("api/frontend/v1/stv/konto/getBuchungstypen")}},group:{getGruppen(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/Gruppen/getGruppen/"+n.id)},deleteGroup(t){return this.$fhcApi.post("api/frontend/v1/stv/Gruppen/deleteGruppe/",t)}},kontakt:{getAdressen(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/kontakt/getAdressen/"+n.id)},addNewAddress(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/stv/kontakt/addNewAddress/"+e,n)},loadAddress(t){return this.$fhcApi.post("api/frontend/v1/stv/kontakt/loadAddress/",{address_id:t})},updateAddress(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/stv/kontakt/updateAddress/"+e,n)},deleteAddress(t){return this.$fhcApi.post("api/frontend/v1/stv/kontakt/deleteAddress/",{address_id:t})},getPlaces(t){return this.$fhcApi.get("api/frontend/v1/stv/address/getPlaces/"+t)},getFirmen(t){return this.$fhcApi.get("api/frontend/v1/stv/kontakt/getFirmen/"+t)},getNations(){return this.$fhcApi.get("api/frontend/v1/stv/address/getNations/")},getAdressentypen(){return this.$fhcApi.get("api/frontend/v1/stv/kontakt/getAdressentypen/")},getBankverbindung(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/kontakt/getBankverbindung/"+n.id)},addNewBankverbindung(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/stv/kontakt/addNewBankverbindung/"+e,n)},loadBankverbindung(t){return this.$fhcApi.post("api/frontend/v1/stv/kontakt/loadBankverbindung/",{bankverbindung_id:t})},updateBankverbindung(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/stv/kontakt/updateBankverbindung/"+e,n)},deleteBankverbindung(t){return this.$fhcApi.post("api/frontend/v1/stv/kontakt/deleteBankverbindung/",{bankverbindung_id:t})},getKontakte(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/kontakt/getKontakte/"+n.id)},addNewContact(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/stv/kontakt/addNewContact/"+e,n)},loadContact(t){return this.$fhcApi.post("api/frontend/v1/stv/kontakt/loadContact/",{kontakt_id:t})},updateContact(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/stv/kontakt/updateContact/"+e,n)},deleteContact(t){return this.$fhcApi.post("api/frontend/v1/stv/kontakt/deleteContact/",{kontakt_id:t})},getStandorteByFirma(t){return this.$fhcApi.get("api/frontend/v1/stv/kontakt/getStandorteByFirma/"+t)},getKontakttypen(){return this.$fhcApi.get("api/frontend/v1/stv/kontakt/getKontakttypen/")}},prestudent:{get(t,e){return this.$fhcApi.post("api/frontend/v1/stv/prestudent/get/"+encodeURIComponent(t)+"/"+encodeURIComponent(e))},updatePrestudent(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/stv/prestudent/updatePrestudent/"+e,n)},getBezeichnungZGV(){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getBezeichnungZGV/")},getBezeichnungMZgv(){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getBezeichnungMZgv/")},getBezeichnungDZgv(){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getBezeichnungDZgv/")},getStgs(){return this.$fhcApi.get("api/frontend/v1/stv/lists/getStgs/")},getAusbildung(){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getAusbildung/")},getAufmerksamdurch(){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getAufmerksamdurch/")},getBerufstaetigkeit(){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getBerufstaetigkeit/")},getTypenStg(){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getTypenStg/")},getBisstandort(){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getBisstandort/")},getHistoryPrestudent(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/status/getHistoryPrestudent/"+n.id)},getMaxSem(t){return this.$fhcApi.post("api/frontend/v1/stv/status/getMaxSemester/",{studiengang_kzs:t})},advanceStatus({prestudent_id:t,status_kurzbz:e,studiensemester_kurzbz:n,ausbildungssemester:i}){return this.$fhcApi.post("api/frontend/v1/stv/status/advanceStatus/"+t+"/"+e+"/"+n+"/"+i)},confirmStatus({prestudent_id:t,status_kurzbz:e,studiensemester_kurzbz:n,ausbildungssemester:i}){return this.$fhcApi.post("api/frontend/v1/stv/status/confirmStatus/"+t+"/"+e+"/"+n+"/"+i)},isLastStatus(t){return this.$fhcApi.get("api/frontend/v1/stv/status/isLastStatus/"+t)},deleteStatus({prestudent_id:t,status_kurzbz:e,studiensemester_kurzbz:n,ausbildungssemester:i}){return this.$fhcApi.post("api/frontend/v1/stv/status/deleteStatus/"+t+"/"+e+"/"+n+"/"+i)},getLastBismeldestichtag(){return this.$fhcApi.get("api/frontend/v1/stv/status/getLastBismeldestichtag/")},getHistoryPrestudents(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getHistoryPrestudents/"+n.id)}},status:{insertStatus(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/stv/status/insertStatus/"+e,n)},loadStatus({prestudent_id:t,status_kurzbz:e,studiensemester_kurzbz:n,ausbildungssemester:i}){return this.$fhcApi.post("api/frontend/v1/stv/status/loadStatus/"+t+"/"+e+"/"+n+"/"+i)},updateStatus(t,{prestudent_id:e,status_kurzbz:n,studiensemester_kurzbz:i,ausbildungssemester:a},s){return this.$fhcApi.post(t,"api/frontend/v1/stv/status/updateStatus/"+e+"/"+n+"/"+i+"/"+a,s)},getStudienplaene(t){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getStudienplaene/"+t)},getStudiengang(t){return this.$fhcApi.get("api/frontend/v1/stv/prestudent/getStudiengang/"+t)},getStatusgruende(){return this.$fhcApi.get("api/frontend/v1/stv/status/getStatusgruende/")},getStati(){return this.$fhcApi.get("api/frontend/v1/stv/lists/getStati/")},addStudent(t,e){return this.$fhcApi.post("api/frontend/v1/stv/status/addStudent/"+t,e,{errorHeader:t})},changeStatus(t,e){return this.$fhcApi.post("api/frontend/v1/stv/status/changeStatus/"+t,e,{errorHeader:t})},getStatusarray(){return this.$fhcApi.get("api/frontend/v1/stv/status/getStatusarray/")}},details:{get(t,e){let n="api/frontend/v1/stv/student/get/"+encodeURIComponent(t)+"/"+encodeURIComponent(e);return this.$fhcApi.post(n)},save(t,e,n,i){let a="api/frontend/v1/stv/student/save/"+encodeURIComponent(e)+"/"+encodeURIComponent(n);return this.$fhcApi.post(t,a,i)}},exam:{getPruefungen(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/pruefung/getPruefungen/"+n.id)},loadPruefung(t){return this.$fhcApi.get("api/frontend/v1/stv/pruefung/loadPruefung/"+t)},getTypenPruefungen(){return this.$fhcApi.get("api/frontend/v1/stv/pruefung/getTypenPruefungen")},getAllLehreinheiten(t){return this.$fhcApi.post("api/frontend/v1/stv/pruefung/getAllLehreinheiten/",t)},getLvsByStudent(t){return this.$fhcApi.get("api/frontend/v1/stv/pruefung/getLvsByStudent/"+t)},getLvsandLesByStudent(t,e){return this.$fhcApi.get("api/frontend/v1/stv/pruefung/getLvsandLesByStudent/"+t+"/"+e)},getLvsAndMas(t){return this.$fhcApi.get("api/frontend/v1/stv/pruefung/getLvsAndMas/"+t)},getMitarbeiterLv(t){return this.$fhcApi.get("api/frontend/v1/stv/pruefung/getMitarbeiterLv/"+t)},getNoten(){return this.$fhcApi.get("api/frontend/v1/stv/pruefung/getNoten")},checkZeugnisnoteLv(t){return this.$fhcApi.post("api/frontend/v1/stv/pruefung/checkZeugnisnoteLv/",t)},addPruefung(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/pruefung/insertPruefung/",e)},updatePruefung(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/stv/pruefung/updatePruefung/"+e,n)},deletePruefung(t){return this.$fhcApi.post("api/frontend/v1/stv/pruefung/deletePruefung/"+t)}},abschlusspruefung:{getAbschlusspruefung(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/abschlusspruefung/getAbschlusspruefung/"+n.id)},addNewAbschlusspruefung(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/abschlusspruefung/insertAbschlusspruefung/",e)},loadAbschlusspruefung(t){return this.$fhcApi.post("api/frontend/v1/stv/abschlusspruefung/loadAbschlusspruefung/",{id:t})},updateAbschlusspruefung(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/abschlusspruefung/updateAbschlusspruefung/",e)},deleteAbschlusspruefung(t){return this.$fhcApi.post("api/frontend/v1/stv/abschlusspruefung/deleteAbschlusspruefung/",{id:t})},getTypenAbschlusspruefung(){return this.$fhcApi.get("api/frontend/v1/stv/abschlusspruefung/getTypenAbschlusspruefung/")},getTypenAntritte(){return this.$fhcApi.get("api/frontend/v1/stv/abschlusspruefung/getTypenAntritte/")},getBeurteilungen(){return this.$fhcApi.get("api/frontend/v1/stv/abschlusspruefung/getBeurteilungen/")},getAkadGrade(t){return this.$fhcApi.post("api/frontend/v1/stv/abschlusspruefung/getAkadGrade/",{studiengang_kz:t})},getTypStudiengang(t){return this.$fhcApi.post("api/frontend/v1/stv/abschlusspruefung/getTypStudiengang/",{studiengang_kz:t})},getMitarbeiter(t){return this.$fhcApi.get("api/frontend/v1/stv/abschlusspruefung/getMitarbeiter/"+t)},getPruefer(t){return this.$fhcApi.get("api/frontend/v1/stv/abschlusspruefung/getPruefer/"+t)},getNoten(){return this.$fhcApi.get("api/frontend/v1/stv/abschlusspruefung/getNoten/")},checkForExistingExams(t){return this.$fhcApi.post("api/frontend/v1/stv/abschlusspruefung/checkForExistingExams/",{uids:t})}},grades:{list(){return this.$fhcApi.get("api/frontend/v1/stv/grades/list")},getCertificate(t,e){let n="api/frontend/v1/stv/grades/getCertificate/"+encodeURIComponent(t);return e&&(n=n+"/"+encodeURIComponent(e)),this.$fhcApi.get(n)},getTeacherProposal(t,e){let n="api/frontend/v1/stv/grades/getTeacherProposal/"+encodeURIComponent(t);return e&&(n=n+"/"+encodeURIComponent(e)),this.$fhcApi.get(n)},getRepeaterGrades(t,e){let n="api/frontend/v1/stv/grades/getRepeaterGrades/"+encodeURIComponent(t);return e&&(n=n+"/"+encodeURIComponent(e)),this.$fhcApi.get(n)},updateCertificate({lehrveranstaltung_id:t,student_uid:e,studiensemester_kurzbz:n,note:i,lehrveranstaltung_bezeichnung:a}){return this.$fhcApi.post("api/frontend/v1/stv/grades/updateCertificate",{lehrveranstaltung_id:t,student_uid:e,studiensemester_kurzbz:n,note:i},{errorHeader:a})},deleteCertificate({lehrveranstaltung_id:t,student_uid:e,studiensemester_kurzbz:n,lehrveranstaltung_bezeichnung:i}){return this.$fhcApi.post("api/frontend/v1/stv/grades/deleteCertificate",{lehrveranstaltung_id:t,student_uid:e,studiensemester_kurzbz:n},{errorHeader:i})},copyTeacherProposalToCertificate({lehrveranstaltung_id:t,student_uid:e,studiensemester_kurzbz:n,lehrveranstaltung_bezeichnung:i}){return this.$fhcApi.post("api/frontend/v1/stv/grades/copyTeacherProposalToCertificate",{lehrveranstaltung_id:t,student_uid:e,studiensemester_kurzbz:n},{errorHeader:i})},copyRepeaterGradeToCertificate({studierendenantrag_lehrveranstaltung_id:t,lv_bezeichnung:e}){return this.$fhcApi.post("api/frontend/v1/stv/grades/copyRepeaterGradeToCertificate",{studierendenantrag_lehrveranstaltung_id:t},{errorHeader:e})},getGradeFromPoints(t,e,n,i){const a=i?{errorHandling:!1}:{};return this.$fhcApi.post("api/frontend/v1/stv/grades/getGradeFromPoints",{points:t,lehrveranstaltung_id:e,studiensemester_kurzbz:n},a)}},mobility:{getMobilitaeten(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/mobility/getMobilitaeten/"+n.id)},getProgramsMobility(){return this.$fhcApi.get("api/frontend/v1/stv/mobility/getProgramsMobility/")},addNewMobility(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/mobility/insertMobility/",e)},loadMobility(t){return this.$fhcApi.get("api/frontend/v1/stv/mobility/loadMobility/"+t)},updateMobility(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/mobility/updateMobility/",e)},deleteMobility(t){return this.$fhcApi.post("api/frontend/v1/stv/mobility/deleteMobility/"+t)},getLVList(t){return this.$fhcApi.get("api/frontend/v1/stv/mobility/getLVList/"+t)},getAllLehreinheiten(t){return this.$fhcApi.post("api/frontend/v1/stv/mobility/getAllLehreinheiten/",t)},getLvsandLesByStudent(t){return this.$fhcApi.get("api/frontend/v1/stv/mobility/getLvsandLesByStudent/"+t)},getPurposes(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/mobility/getPurposes/"+n.id)},getSupports(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/mobility/getSupports/"+n.id)},getListPurposes(){return this.$fhcApi.get("api/frontend/v1/stv/mobility/getListPurposes/")},getListSupports(){return this.$fhcApi.get("api/frontend/v1/stv/mobility/getListSupports/")},deleteMobilityPurpose(t){return this.$fhcApi.post("api/frontend/v1/stv/mobility/deleteMobilityPurpose/"+t.bisio_id,t)},addMobilityPurpose(t){return this.$fhcApi.post("api/frontend/v1/stv/mobility/addMobilityPurpose/"+t.bisio_id,t)},deleteMobilitySupport(t){return this.$fhcApi.post("api/frontend/v1/stv/mobility/deleteMobilitySupport/"+t.bisio_id,t)},addMobilitySupport(t){return this.$fhcApi.post("api/frontend/v1/stv/mobility/addMobilitySupport/"+t.bisio_id,t)}},archiv:{tabulatorConfig(t,e){return t.ajaxURL="api/frontend/v1/stv/archiv/get",t.ajaxParams=()=>({person_id:e.modelValue.person_id||e.modelValue.map(t=>t.person_id)}),t.ajaxRequestFunc=(t,e,n)=>this.$fhcApi.post(t,n,e),t.ajaxResponse=(t,e,n)=>n.data,t},getArchivVorlagen(){return this.$fhcApi.post("api/frontend/v1/stv/archiv/getArchivVorlagen")},archive(t){return this.$fhcApi.post("api/frontend/v1/documents/archive",t)},archiveSigned(t){return this.$fhcApi.post("api/frontend/v1/documents/archiveSigned",t)},update(t){return this.$fhcApi.post("api/frontend/v1/stv/archiv/update",t)},delete({akte_id:t,studiengang_kz:e}){return this.$fhcApi.post("api/frontend/v1/stv/archiv/delete",{akte_id:t,studiengang_kz:e})}},documents:{getDocumentsUnaccepted(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/dokumente/getDocumentsUnaccepted/"+n.id+"/"+n.studiengang_kz)},getDocumentsAccepted(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/dokumente/getDocumentsAccepted/"+n.id+"/"+n.studiengang_kz)},deleteZuordnung(t){return this.$fhcApi.post("api/frontend/v1/stv/dokumente/deleteZuordnung/"+t.prestudent_id+"/"+t.dokument_kurzbz)},createZuordnung(t){return this.$fhcApi.post("api/frontend/v1/stv/dokumente/createZuordnung/"+t.prestudent_id+"/"+t.dokument_kurzbz)},loadAkte(t){return this.$fhcApi.get("api/frontend/v1/stv/dokumente/loadAkte/"+t)},getDoktypen(){return this.$fhcApi.get("api/frontend/v1/stv/dokumente/getDoktypen/")},updateFile(t,e){return this.$fhcApi.post("api/frontend/v1/stv/dokumente/updateAkte/"+t,e)},deleteFile(t){return this.$fhcApi.post("api/frontend/v1/stv/dokumente/deleteAkte/"+t)},uploadFile(t,e){return this.$fhcApi.post("api/frontend/v1/stv/dokumente/uploadDokument/"+t,e)}},exemptions:{getAnrechnungen(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/anrechnungen/getAnrechnungen/"+n.id)},getLehrveranstaltungen(t){return this.$fhcApi.get("api/frontend/v1/stv/anrechnungen/getLehrveranstaltungen/"+t)},getBegruendungen(){return this.$fhcApi.get("api/frontend/v1/stv/anrechnungen/getBegruendungen/")},getLvsKompatibel(t){return this.$fhcApi.get("api/frontend/v1/stv/anrechnungen/getLvsKompatibel/"+t)},getLektoren(t){return this.$fhcApi.get("api/frontend/v1/stv/anrechnungen/getLektoren/"+t)},addNewAnrechnung(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/anrechnungen/insertAnrechnung/",e)},loadAnrechnung(t){return this.$fhcApi.get("api/frontend/v1/stv/anrechnungen/loadAnrechnung/"+t)},editAnrechnung(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/anrechnungen/updateAnrechnung/",e)},deleteAnrechnung(t){return this.$fhcApi.post("api/frontend/v1/stv/anrechnungen/deleteAnrechnung/"+t)}},jointstudies:{getStudies(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/GemeinsameStudien/getStudien/"+n.id)},getTypenMobility(){return this.$fhcApi.get("api/frontend/v1/stv/GemeinsameStudien/getTypenMobility/")},getStudiensemester(){return this.$fhcApi.get("api/frontend/v1/stv/GemeinsameStudien/getStudiensemester/")},getStudyprograms(){return this.$fhcApi.get("api/frontend/v1/stv/GemeinsameStudien/getStudienprogramme/")},getListPartner(){return this.$fhcApi.get("api/frontend/v1/stv/GemeinsameStudien/getPartnerfirmen/")},getStatiPrestudent(){return this.$fhcApi.get("api/frontend/v1/stv/GemeinsameStudien/getStatiPrestudent/")},loadStudy(t){return this.$fhcApi.get("api/frontend/v1/stv/GemeinsameStudien/loadStudie/"+t)},insertStudy(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/GemeinsameStudien/insertStudie/",e)},updateStudy(t,e){return this.$fhcApi.post(t,"api/frontend/v1/stv/GemeinsameStudien/updateStudie/",e)},deleteStudy(t){return this.$fhcApi.post("api/frontend/v1/stv/GemeinsameStudien/deleteStudie/"+t)}},courselist:{getCourselist(t,e,n){return this.$fhcApi.get("api/frontend/v1/stv/LvTermine/getStundenplan/"+n.student_uid+"/"+n.start_date+"/"+n.end_date+"/"+n.group_consecutiveHours+"/"+n.dbStundenplanTable)},getStudiensemester(){return this.$fhcApi.get("api/frontend/v1/stv/LvTermine/getStudiensemester/")}},configStudent(){return this.$fhcApi.get("api/frontend/v1/stv/config/student")},configStudents(){return this.$fhcApi.get("api/frontend/v1/stv/config/students")}},O={person:{getNotizen(t,e,n){return this.$fhcApi.get("api/frontend/v1/notiz/notizPerson/getNotizen/"+n.id+"/"+n.type)},getUid(){return this.$fhcApi.get("api/frontend/v1/notiz/notizPerson/getUid/")},addNewNotiz(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/notiz/notizPerson/addNewNotiz/"+e,n)},loadNotiz(t){return this.$fhcApi.post("api/frontend/v1/notiz/notizPerson/loadNotiz/",{notiz_id:t})},loadDokumente(t){return this.$fhcApi.post("api/frontend/v1/notiz/notizPerson/loadDokumente/",{notiz_id:t})},deleteNotiz(t,e,n){return this.$fhcApi.post("api/frontend/v1/notiz/notizPerson/deleteNotiz/",{notiz_id:t,type_id:e,id:n})},updateNotiz(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/notiz/notizPerson/updateNotiz/"+e,n)},getMitarbeiter(t){return this.$fhcApi.get("api/frontend/v1/notiz/notizPerson/getMitarbeiter/"+t)},isBerechtigt(t,e){return this.$fhcApi.get("api/frontend/v1/notiz/notizPerson/isBerechtigt/")}}},P={person:{getAllBetriebsmittel(t,e,n){return this.$fhcApi.get("api/frontend/v1/betriebsmittel/betriebsmittelP/getAllBetriebsmittel/"+n.type+"/"+n.id)},addNewBetriebsmittel(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/betriebsmittel/betriebsmittelP/addNewBetriebsmittel/"+e,n)},loadBetriebsmittel(t){return this.$fhcApi.post("api/frontend/v1/betriebsmittel/betriebsmittelP/loadBetriebsmittel/"+t)},updateBetriebsmittel(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/betriebsmittel/betriebsmittelP/updateBetriebsmittel/"+e,n)},deleteBetriebsmittel(t){return this.$fhcApi.post("api/frontend/v1/betriebsmittel/betriebsmittelP/deleteBetriebsmittel/"+t)},getTypenBetriebsmittel(){return this.$fhcApi.get("api/frontend/v1/betriebsmittel/betriebsmittelP/getTypenBetriebsmittel/")},loadInventarliste(t){return this.$fhcApi.get("api/frontend/v1/betriebsmittel/betriebsmittelP/loadInventarliste/"+t)}}},F={updatePersonUnrulyStatus(t,e){try{const n={person_id:t,unruly:e},i="/api/frontend/v1/checkperson/CheckPerson/updatePersonUnrulyStatus";return this.$fhcApi.post(i,n,null)}catch(t){throw t}},filterPerson(t,e=""){try{const n=e+"/api/frontend/v1/checkperson/CheckPerson/filterPerson";return axios.post(n,t)}catch(t){throw t}}},z={getContentID(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Ort/ContentID",{ort_kurzbz:t})},getRooms(t,e,n,i,a=0){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Ort/getRooms",{datum:t,von:e,bis:n,typ:i,personenanzahl:a})},getRoomTypes(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Ort/getTypes")}},I={content(t,e=null,n=null,i=null){return this.$fhcApi.get("/api/frontend/v1/Cms/content",{content_id:t,...e?{version:e}:{},...n?{sprache:n}:{},...i?{sichtbar:i}:{}})},getNews(t=1,e=10,n){return this.$fhcApi.get("/api/frontend/v1/Cms/getNews",{page:t,page_size:e,sprache:n})},news(t){return this.$fhcApi.get("/api/frontend/v1/Cms/news",{limit:t})},getNewsRowCount:function(){return this.$fhcApi.get("/api/frontend/v1/Cms/getNewsRowCount",{})},getNewsExtra:function(){return this.$fhcApi.get("/api/frontend/v1/Cms/getStudiengangInfoForNews",{})}},L={getStudentenMail(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Lehre/lvStudentenMail",{lehreinheit_id:t})},getLvInfo(t,e){return this.$fhcApi.get(`/api/frontend/v1/Lehre/LV/${t}/${e}`,{})},getStudentPruefungen(t){return this.$fhcApi.get(`/api/frontend/v1/Lehre/Pruefungen/${t}`,{})},getStudentProjektarbeiten(t){return this.$fhcApi.get(`/api/frontend/v1/Lehre/getStudentProjektarbeiten/${t}`,{})},getStudentProjektabgaben(t){return this.$fhcApi.get("/api/frontend/v1/Lehre/getStudentProjektabgaben",{projektarbeit_id:t.projektarbeit_id,student_uid:t.student_uid})},postStudentProjektarbeitEndupload(t){return this.$fhcApi.post("/api/frontend/v1/Lehre/postStudentProjektarbeitEndupload",t,{Headers:{"Content-Type":"multipart/form-data"}})},postStudentProjektarbeitZwischenabgabe(t){return this.$fhcApi.post("/api/frontend/v1/Lehre/postStudentProjektarbeitZwischenabgabe",t,{Headers:{"Content-Type":"multipart/form-data"}})},getStudentProjektarbeitAbgabeFile(t,e){const n=`/Cis/Abgabetool/getStudentProjektarbeitAbgabeFile?paabgabe_id=${t}&student_uid=${e}`;window.location=FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+n},getMitarbeiterProjektarbeiten(t,e){return this.$fhcApi.get(`/api/frontend/v1/Lehre/getMitarbeiterProjektarbeiten?showall=${e}`,{})},postProjektarbeitAbgabe(t){const e={paabgabe_id:t.paabgabe_id,paabgabetyp_kurzbz:t.bezeichnung.paabgabetyp_kurzbz,datum:t.datum,fixtermin:t.fixtermin,insertvon:t.insertvon,kurzbz:t.kurzbz,projektarbeit_id:t.projektarbeit_id};return this.$fhcApi.post("/api/frontend/v1/Lehre/postProjektarbeitAbgabe",e,null)},deleteProjektarbeitAbgabe(t){const e={paabgabe_id:t};return this.$fhcApi.post("/api/frontend/v1/Lehre/deleteProjektarbeitAbgabe",e,null)},postSerientermin(t,e,n,i,a){const s={datum:t,paabgabetyp_kurzbz:e,bezeichnung:n,kurzbz:i,projektarbeit_ids:a};return this.$fhcApi.post("/api/frontend/v1/Lehre/postSerientermin",s,null)},fetchDeadlines(t){const e={person_id:t};return this.$fhcApi.post("/api/frontend/v1/Lehre/fetchDeadlines",e,null)}},M={getLvMenu(t,e){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/LvMenu/getLvMenu/${t}/${e}`,{})}},R={person:{getMessages(t,e,n){return this.$fhcApi.get("api/frontend/v1/messages/messages/getMessages/"+n.id+"/"+n.type+"/"+n.size+"/"+n.page)},getVorlagen(){return this.$fhcApi.get("api/frontend/v1/messages/messages/getVorlagen/")},getMsgVarsLoggedInUser(){return this.$fhcApi.get("api/frontend/v1/messages/messages/getMsgVarsLoggedInUser/")},getMessageVarsPerson(t){return this.$fhcApi.get("api/frontend/v1/messages/messages/getMessageVarsPerson/"+t.id+"/"+t.type_id)},getMsgVarsPrestudent(t){return this.$fhcApi.get("api/frontend/v1/messages/messages/getMsgVarsPrestudent/"+t.id+"/"+t.type_id)},getPersonId(t){return this.$fhcApi.get("api/frontend/v1/messages/messages/getPersonId/"+t.id+"/"+t.type_id)},getUid(t){return this.$fhcApi.get("api/frontend/v1/messages/messages/getUid/"+t.id+"/"+t.type_id)},getDataVorlage(t){return this.$fhcApi.get("api/frontend/v1/messages/messages/getDataVorlage/"+t)},getNameOfDefaultRecipient(t){return this.$fhcApi.get("api/frontend/v1/messages/messages/getNameOfDefaultRecipient/"+t.id+"/"+t.type_id)},getPreviewText(t,e){return this.$fhcApi.post("api/frontend/v1/messages/messages/getPreviewText/"+t.id+"/"+t.type_id,e)},getReplyData(t){return this.$fhcApi.get("api/frontend/v1/messages/messages/getReplyData/"+t)},sendMessageFromModalContext(t,e,n){return this.$fhcApi.post(t,"api/frontend/v1/messages/messages/sendMessage/"+e,n)},sendMessage(t,e){return this.$fhcApi.post("api/frontend/v1/messages/messages/sendMessage/"+t,e)},deleteMessage(t){return this.$fhcApi.post("api/frontend/v1/messages/messages/deleteMessage/"+t)}}},N={getVorlagen(){return this.$fhcApi.get("api/frontend/v1/vorlagen/vorlagen/getVorlagen/")},getVorlagenByLoggedInUser(){return this.$fhcApi.get("api/frontend/v1/vorlagen/vorlagen/getVorlagenByLoggedInUser/")}},B={getStudiensemester:function(){return this.$fhcApi.get("/components/Cis/Mylv/Studiensemester",{})},getAllStudienSemester:function(t=void 0,e=void 0,n=void 0,i=void 0){return this.$fhcApi.get("/api/frontend/v1/Studium/getStudienAllSemester",{studiensemester:t,studiengang:e,semester:n,studienplan:i})},getStudiengaengeForStudienSemester:function(t){return this.$fhcApi.get(`/api/frontend/v1/Studium/getStudiengaengeForStudienSemester/${t}`,{})},getStudienplaeneBySemester:function(t,e){return this.$fhcApi.get("/api/frontend/v1/Studium/getStudienplaeneBySemester",{studiengang:t,studiensemester:e})},getLvPlanForStudiensemester:function(t,e){return this.$fhcApi.get(`/api/frontend/v1/LvPlan/getLvPlanForStudiensemester/${t}/${e}`,{})},getLvEvaluierungInfo:function(t,e){return this.$fhcApi.get(`/api/frontend/v1/Studium/getLvEvaluierungInfo/${t}/${e}`,{})}},U={search:k,phrasen:A,navigation:x,dashboard:{async getViewData(){return this.$fhcApi.get("/api/frontend/v1/Cis4FhcApi/getViewData",null,null)}},filter:S,studstatus:$,profil:T,profilUpdate:E,lvPlan:D,bookmark:{getBookmarks:function(){return this.$fhcApi.get("/api/frontend/v1/Bookmark/getBookmarks",{})},delete:function(t){return this.$fhcApi.get(`/api/frontend/v1/Bookmark/delete/${t}`,{})},update:function({bookmark_id:t,url:e,title:n,tag:i=null}){return this.$fhcApi.post(`/api/frontend/v1/Bookmark/update/${t}`,{url:e,title:n})},insert:function({url:t,title:e,tag:n}){return this.$fhcApi.post("/api/frontend/v1/Bookmark/insert",{url:t,title:e,tag:n})}},stv:C,notiz:O,betriebsmittel:P,checkperson:F,ampeln:{open:function(){return this.$fhcApi.get("/api/frontend/v1/Ampeln/open",{})},all:function(){return this.$fhcApi.get("/api/frontend/v1/Ampeln/all",{})},confirm:function(t){return this.$fhcApi.get(`/api/frontend/v1/Ampeln/confirm/${t}`,{})}},ort:z,cms:I,lehre:L,addons:M,messages:R,vorlagen:N,addons:M,studiengang:{studiengangInformation:function(){return this.$fhcApi.get("/api/frontend/v1/Studgang/getStudiengangInfo",{})},getStudiengangByKz:function(t){return this.$fhcApi.get("/api/frontend/v1/organisation/StudiengangEP/getStudiengangByKz",{studiengang_kz:t})}},menu:{getMenu:function(){return this.$fhcApi.get("/api/frontend/v1/CisMenu/getMenu",{})}},authinfo:{getAuthUID(){return this.$fhcApi.get("/api/frontend/v1/AuthInfo/getAuthUID",{})},getAuthInfo(){return this.$fhcApi.get("/api/frontend/v1/AuthInfo/getAuthInfo",{})}},studium:B,language:{getAll(){return this.$fhcApi.get("/api/frontend/v1/language/get")}}},j={install:(t,e)=>{if(t.config.globalProperties.$fhcApi)return void(e?.factory&&(console.warn("$fhcApi is DEPRECATED!"),t.config.globalProperties.$fhcApi.factory.addEndpoints(e.factory)));function n(t,e,n,i){if("string"==typeof t&&void 0===i)[e,n,i]=[t,e,n],t=void 0;else if(t){if("object"!=typeof t)throw new TypeError("Parameter 1 of _get_config must be an object or a string");void 0===e&&void 0===n&&void 0===i&&(i=t,t=void 0)}if(t){if(!t.clearValidation||!t.setFeedback)throw new TypeError("'form' is not a Form Component");t={clearValidation:t.clearValidation,setFeedback:t.setFeedback},i?i.form=t:i={form:t}}return[e,n,i]}function i(t){const e=t.data;return delete t.data,e.meta?e.meta.response=t:e.meta={response:t},e}FHC_JS_DATA_STORAGE_OBJECT.app_root,FHC_JS_DATA_STORAGE_OBJECT.ci_router;const a=axios.create({timeout:5e5,baseURL:FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/"});a.interceptors.request.use(t=>{if("post"!=t.method||!t.data)return t;if(t.data instanceof FormData)return t;if(!Object.values(t.data).every(t=>!(t instanceof FileList)&&(!Array.isArray(t)||t.every(t=>!(t instanceof File))))){const e=Object.entries(t.data).reduce((t,[e,n])=>{if(n instanceof FileList)for(const i of n)t.FormData.append(e+(n.length>1?"[]":""),i);else Array.isArray(n)?n.every(t=>!(t instanceof File))?t.jsondata[e]=n:n.forEach(i=>t.FormData.append(e+(n.length>1?"[]":""),i)):t.jsondata[e]=n;return t},{FormData:new FormData,jsondata:{}});e.FormData.append("_jsondata",JSON.stringify(e.jsondata)),t.data=e.FormData}return t}),a.interceptors.response.use(e=>("off"==e.config?.errorHandling||!1===e.config?.errorHandling||"fail"==e.config?.errorHandling||e.data.errors&&(e.data.errors=e.data.errors.filter(n=>(e.config[n.type+"ErrorHandler"]||t.config.globalProperties.$fhcApi._defaultErrorHandlers[n.type])(n,e.config))),i(e)),e=>"ERR_CANCELED"==e.code?Promise.reject({handled:!0,...e}):"off"==e.config?.errorHandling||!1===e.config?.errorHandling||"success"==e.config?.errorHandling?Promise.reject(e):e.response?404==e.response.status?(t.config.globalProperties.$fhcAlert.alertDefault("error",e.message,e.request.responseURL,!0),Promise.reject({handled:!0,...e})):(e.response.data.errors=e.response.data.errors.filter(n=>(e.config[n.type+"ErrorHandler"]||t.config.globalProperties.$fhcApi._defaultErrorHandlers[n.type])(n,e.config)),e.response.data.errors.length?Promise.reject(e):Promise.reject({handled:!0,...e})):e.request?(t.config.globalProperties.$fhcAlert.alertDefault("error",e.message,e.request.responseURL),Promise.reject({handled:!0,...e})):(t.config.globalProperties.$fhcAlert.alertError(e.message),Promise.reject({handled:!0,...e}))),t.config.globalProperties.$fhcApi={getUri:t=>(console.warn("$fhcApi.getUri is DEPRECATED! Use $api.getUri instead."),a.getUri({url:t})),get:(t,e,i,s)=>(console.warn("$fhcApi.get is DEPRECATED! Use $api.get instead."),[e,i,s]=n(t,e,i,s),i&&(s?s.params=i:s={params:i}),a.get(e,s)),post:(t,e,i,s)=>(console.warn("$fhcApi.post is DEPRECATED! Use $api.post instead."),[e,i,s]=n(t,e,i,s),a.post(e,i,s)),_defaultErrorHandlers:{validation(e,n){const i=t.config.globalProperties.$fhcAlert;return n?.form?(n.form.clearValidation(),n.form.setFeedback(!1,e.messages),!1):Array.isArray(e.messages)?(e.messages.forEach(i.alertError),!1):"object"!=typeof e.messages||(n?.errorHeader?Object.values(e.messages).forEach(e=>i.alertDefault("error",Array.isArray(n.errorHeader)?t.config.globalProperties.$p.t.apply(null,n.errorHeader):n.errorHeader,e,!0)):Object.entries(e.messages).forEach(([t,e])=>i.alertDefault("error",t,e,!0)),!1)},general(e,n){const i=t.config.globalProperties.$fhcAlert;n?.form?n.form.setFeedback(!1,e.message):n?.errorHeader?i.alertDefault("error",Array.isArray(n.errorHeader)?t.config.globalProperties.$p.t.apply(null,n.errorHeader):n.errorHeader,e.message,!0):i.alertError(e.message)},php(e){const n=t.config.globalProperties.$fhcAlert;var i="";switch(i+="Message: "+e.message+"\n\n",i+="Filename: "+e.filename+"\n",i+="Line Number: "+e.line+"\n",e.backtrace&&e.backtrace.length&&(i+="\nBacktrace: ",e.backtrace.forEach(t=>{i+="\n\tFile: "+t.file+"\n",i+="\tLine: "+t.line+"\n",i+="\tFunction: "+t.function+"\n"})),e.severity){case"Warning":case"Core Warning":case"Compile Warning":case"User Warning":n.alertDefault("warn","PHP "+e.severity,i,!0);break;case"Notice":case"User Notice":case"Runtime Notice":n.alertDefault("info","PHP "+e.severity,i,!0);break;default:i="Type: PHP "+e.severity+"\n\n"+i,n.alertSystemError(i)}},exception(e){const n=t.config.globalProperties.$fhcAlert;var i="";i+="Type: "+e.class+"\n\n",i+="Message: "+e.message+"\n\n",i+="Filename: "+e.filename+"\n",i+="Line Number: "+e.line+"\n",e.backtrace&&e.backtrace.length&&(i+="\nBacktrace: ",e.backtrace.forEach(t=>{i+="\n\tFile: "+t.file+"\n",i+="\tLine: "+t.line+"\n",i+="\tFunction: "+t.function+"\n"})),n.alertSystemError(i)},db(e){const n=t.config.globalProperties.$fhcAlert;var i="";void 0!==e.heading&&(i+=e.heading+"\n\n"),void 0!==e.code&&(i+="Code: "+e.code+"\n\n"),void 0!==e.sql&&(i+="SQL: "+e.sql+"\n\n"),void 0!==e.message?i+="Message: "+e.message+"\n\n":void 0!==e.messages&&(i+="Messages: "+e.messages.join("\n\t")+"\n\n"),void 0!==e.filename&&(i+="Filename: "+e.filename+"\n"),void 0!==e.line&&(i+="Line Number: "+e.line+"\n"),n.alertSystemError(i)},auth(e,n){const i=t.config.globalProperties.$fhcAlert;var a="";a+="Controller name: "+e.controller+"\n",a+="Method name: "+e.method+"\n",a+="Required permissions: "+e.required_permissions,n?.errorHeader?i.alertDefault("error",Array.isArray(n.errorHeader)?t.config.globalProperties.$p.t.apply(null,n.errorHeader):n.errorHeader,e.message,!0):i.alertDefault("error",e.message,a)}}};class s{constructor(e,n){void 0===n?(this.$fhcApi={getUri:e=>(console.warn("$fhcApi.factory is DEPRECATED!"),t.config.globalProperties.$fhcApi.getUri(e)),get:(e,n,i,a)=>(console.warn("$fhcApi.factory is DEPRECATED!"),t.config.globalProperties.$fhcApi.get(e,n,i,a)),post:(e,n,i,a)=>(console.warn("$fhcApi.factory is DEPRECATED!"),t.config.globalProperties.$fhcApi.post(e,n,i,a))},Object.defineProperty(this.$fhcApi,"factory",{get:()=>(console.warn("$fhcApi.factory is DEPRECATED!"),t.config.globalProperties.$fhcApi.factory)}),t.config.globalProperties.$fhcApi.factory=this):Object.defineProperty(this,"$fhcApi",{get(){return(n||this).$fhcApi}}),this.addEndpoints(e,!0)}addEndpoints(t,e){Object.keys(t).forEach(e=>{Object.defineProperty(this,e,{get(){return"function"==typeof t[e]?t[e].bind(this):new s(t[e],this.$fhcApi.factory)}})}),e||console.warn("$fhcApi.factory.addEndpoints() is DEPRECATED!")}}const r=new s(U);e?.factory&&(console.warn("$fhcApi is DEPRECATED!"),r.addEndpoints(e.factory)),t.config.globalProperties.$fhcApi.factory=r,t.provide("$fhcApi",t.config.globalProperties.$fhcApi)}};const H="error",V="retval",J={get:function(t,e,n=null){return J._axiosCall(t,e,"get",n)},post:function(t,e,n=null){return J._axiosCall(t,e,"post",n)},isSuccess:function(t){return!("object"!=typeof t||!t.hasOwnProperty(H)||!t.hasOwnProperty(V)||0!=t.error)},isError:function(t){return!J.isSuccess(t)},hasData:function(t){return!(!J.isSuccess(t)||!("object"==typeof t[V]&&Object.keys(t[V]).length>0||"array"==typeof t[V]&&t[V].length>0||"string"==typeof t[V]&&""!=t[V].trim()||"number"==typeof t[V]))},getData:function(t){return J.hasData(t)?t[V]:null},getError:function(t){return"object"==typeof t&&Object.keys(t).length>0&&t.hasOwnProperty(V)?t[V]:"Generic error"},getErrorCode:function(t){return"object"==typeof t&&t.hasOwnProperty(H)?t[H]:1},_generateRouterURI:function(t){var e=null;return"undefined"!=typeof FHC_JS_DATA_STORAGE_OBJECT&&(e=FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/"+t),e},_printDebug:function(t,e,n){},_axiosCall:function(t,e,n,i){let a={method:n,url:J._generateRouterURI(t),timeout:5e3};if("get"==n?a.params=e:a.data=e,"object"==typeof i)for(var s in i)a[s]=i[s];return axios(a)}},G=document.createElement("div"),q=Vue.createApp({name:"FhcAlertApp",components:{PvToast:e,PvConfirm:n},methods:{mailToUrl:t=>"mailto:"+FHC_JS_DATA_STORAGE_OBJECT.systemerror_mailto+"?subject=Meldung%20Systemfehler&body="+("\n\t\t\t\tDanke, dass Sie uns den Fehler melden. %0D%0A %0D%0A\n\t\t\t\tBitte beschreiben Sie uns ausführlich das Problem.%0D%0A\n\t\t\t\tBsp: Ich habe X ausgewählt und Y angelegt. Beim Speichern erhielt ich die Fehlermeldung. [Optional: Ich habe den Browser Z verwendet.]%0D%0A\n\t\t\t\t-----------------------------------------------------------------------------------------------------------------------------------%0D%0A\n\t\t\t\tPROBLEM: ... %0D%0A %0D%0A %0D%0A\n\n\t\t\t\t-----------------------------------------------------------------------------------------------------------------------------------%0D%0A\n\t\t\t\tFehler URL: "+FHC_JS_DATA_STORAGE_OBJECT.called_path+"/"+FHC_JS_DATA_STORAGE_OBJECT.called_method+"%0D%0A\n\t\t\t\tFehler Meldung: "+t.message.detail+"%0D%0A\n\t\t\t\t-----------------------------------------------------------------------------------------------------------------------------------%0D%0A %0D%0A\n\t\t\t\tWir kümmern uns um eine rasche Behebung des Problems!"),openMessagecard(t){bootstrap.Collapse.getOrCreateInstance(t.target.getAttribute("href")).toggle()}},unmounted(){G.parentElement.removeChild(G)},computed:{showmaillink:function(){return""!==FHC_JS_DATA_STORAGE_OBJECT.systemerror_mailto}},template:'\n\t\n\t\t\n\t\t\t\x3c!--span :class="slotProps.iconClass">\n\t\t\t\t{{ message.summary }}\n\t\t\t\t\n\t\t\t\t
{{ message.detail }}
\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t{{slotProps.message.summary}}\n\t\t\t\t
Sorry! Ein interner technischer Fehler ist aufgetreten.
'};const ee={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'},ne="Filter Component New Filter";var ie={props:{filters:{type:Array,default:[]},columns:{type:Array,default:[]},fields:{type:Array,default:[]}},emits:{switchFilter:["filterId"],applyFilterConfig:["filterFields"],saveCustomFilter:["customFilterName"]},data:function(){return{currentFields:[]}},computed:{types(){return this.columns.reduce((t,e)=>{let n=e.type.toLowerCase();return n.indexOf("int")>=0?t[e.name]="Numeric":n.indexOf("varchar")>=0||n.indexOf("text")>=0||n.indexOf("bpchar")>=0?t[e.name]="Text":n.indexOf("timestamp")>=0||n.indexOf("date")>=0?t[e.name]="Date":t[e.name]="",t},{})}},watch:{fields(t){this.currentFields=t}},methods:{switchFilter(t){this.$emit("switchFilter",t.currentTarget.value)},applyFilterConfig(){const t=this.currentFields.filter(t=>t.name!=ne);t.filter(t=>""==t.condition).length?alert("Please fill all the filter options"):this.$emit("applyFilterConfig",t)},addField(t){this.currentFields.push({name:ne})},removeField(t){this.currentFields.splice(t,1)}},template:'\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t'};const se={jsonLines:"fa-file-lines",xlsx:"fa-file-excel",pdf:"fa-file-pdf",html:"fa-file-code",json:"fa-file",csv:"fa-file-csv"},re={jsonLines:"Download as JSONLINES",xlsx:"Download as XLSX",pdf:"Download as PDF",html:"Download as HTML",json:"Download as JSON",csv:"Download as CSV "};var oe={props:{tabulator:Object,config:{type:[Boolean,String,Function,Array,Object],default:!1},iconClass:[String,Array,Object]},computed:{currentConfig(){if(!this.config)return!1;let t=this.config;if(t instanceof Function)return[t];if(null===t)return[];if(!0===this.config&&(t=["csv"]),"[object String]"===Object.prototype.toString.call(t)&&(t=t.split(",")),"object"==typeof t&&!Array.isArray(t)){let a=[];for(var e in t){var n,i=t[e];i&&("[object String]"===Object.prototype.toString.call(i)?null!==(n=this.stringToFileFormatter(i))?a.push({icon:"fa-solid "+se[n],label:i===e?re[n]:e,formatter:n}):null!==(n=this.stringToFileFormatter(e))?a.push({icon:"fa-solid "+se[n],label:i,formatter:n}):alert("neither "+e+" nor "+i+" are supported download file types"):"object"!=typeof i||Array.isArray(i)?null!==(n=this.stringToFileFormatter(e))?a.push({icon:"fa-solid "+se[n],label:re[n],formatter:n}):alert(e+" is not a supported download file type"):null!==(n=this.stringToFileFormatter(e))?(void 0===i.formatter&&(i.formatter=n),void 0===i.label&&(i.label=re[n]),void 0===i.icon&&(i.icon=se[n]),a.push(i)):(void 0===i.label&&(i.label=e),a.push(i)))}t=a}if(Array.isArray(t)){if(t=t.map(t=>{if("[object String]"===Object.prototype.toString.call(t)){let e=this.stringToFileFormatter(t);return null===e?null:{icon:"fa-solid "+se[e],label:re[e],formatter:e}}if(t instanceof Function)return{formatter:t};if("object"==typeof t&&!Array.isArray(t)&&null!==t){if(t.formatter instanceof Function)return t;if(this.validateFileFormatter(t.formatter))return t}return null}).filter(t=>null!==t),t.length<2)return t;if(t.filter(t=>t.label||t.icon).length==t.length)return t;alert("Config not valid")}return[]}},methods:{stringToFileFormatter(t){let e=t.toLowerCase();return"jsonlines"==e?"jsonLines":["xlsx","pdf","html","json","csv"].includes(e)?e:null},validateFileFormatter(t){let e=this.stringToFileFormatter(t);if(!e)return alert(t+" is not a supported file formatter"),!1;if("xlsx"==e&&!window.XLSX)return alert("XLSX Library not loaded"),!1;if("pdf"==e){if(!window.jspdf)return alert("jsPDF Library not loaded"),!1;if(!new jspdf.jsPDF({}).autoTable)return alert("jsPDF-AutoTable Plugin not loaded"),!1}return!0},download(t){this.tabulator.download(t.formatter,t.file,t.options)}},template:'\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\t\t\t\x3c!-- print Telefon link --\x3e\n\t\t\t\t\t\t{{entry.value ?? \'-\'}}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\x3c!-- print semester link --\x3e\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ entry.value }}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\x3c!-- print verband link --\x3e\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ entry.value }}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\x3c!-- print gruppe link --\x3e\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ entry.value }}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\x3c!-- else print information --\x3e\n\t\t\t\t\t\t{{ entry.value ?? \'-\'}}\n\t\t\t\t\t
'}},emits:["update:modelValue"],props:{modelValue:{type:[FileList,Array],required:!0},multiple:Boolean,id:String,name:String,inputClass:[String,Array,Object],noList:Boolean,accept:{type:String,default:""},disabled:{type:Boolean,default:!1}},methods:{stringifyFile:t=>JSON.stringify({lastModified:t.lastModified,lastModifiedDate:t.lastModifiedDate,name:t.name,size:t.size,type:t.type}),addFiles(t){if(!this.multiple)return this.$emit("update:modelValue",t.target.files);const e=new DataTransfer,n=[];for(var i of this.modelValue)e.items.add(i),n.push(this.stringifyFile(i));for(var i of t.target.files)n.indexOf(this.stringifyFile(i))<0&&e.items.add(i);this.$emit("update:modelValue",e.files)},removeFile(t){const e=Array.from(this.modelValue)[t],n=new DataTransfer;for(var i of this.modelValue)i!==e&&n.items.add(i);this.$emit("update:modelValue",n.files)}},watch:{modelValue(t){if(!t)return;if(t instanceof FileList){if(!this.$refs.upload)return;return this.$refs.upload.files=t}const e=new DataTransfer;for(var n of t)if(n instanceof File)e.items.add(n);else{const t=new File([JSON.stringify(n)],n.name,{type:"application/x.fhc-dms+json"});e.items.add(t)}this.$emit("update:modelValue",e.files)}},template:'\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
'},ke={
//! API calls for profil update requests
getStatus:()=>({method:"get",url:"/api/frontend/v1/ProfilUpdate/getStatus"}),getTopic:()=>({method:"get",url:"/api/frontend/v1/ProfilUpdate/getTopic"}),acceptProfilRequest:({profil_update_id:t,uid:e,status_message:n,topic:i,requested_change:a})=>({method:"post",url:"/api/frontend/v1/ProfilUpdate/acceptProfilRequest",params:{profil_update_id:t,uid:e,status_message:n,topic:i,requested_change:a}}),denyProfilRequest:({profil_update_id:t,uid:e,topic:n,status_message:i})=>({method:"post",url:"/api/frontend/v1/ProfilUpdate/denyProfilRequest",params:{profil_update_id:t,uid:e,topic:n,status_message:i}}),insertFile:(t,e=null)=>({method:"post",url:`/api/frontend/v1/ProfilUpdate/insertFile/${e}`,params:t}),updateProfilbild:t=>({method:"post",url:"/api/frontend/v1/ProfilUpdate/updateProfilbild",params:t}),getProfilUpdateWithPermission:t=>({method:"get",url:"/api/frontend/v1/ProfilUpdate/getProfilUpdateWithPermission"+(""!==t?"/"+encodeURIComponent(t):"")}),getProfilRequestFiles:t=>({method:"get",url:`/api/frontend/v1/ProfilUpdate/getProfilRequestFiles/${t}`}),selectProfilRequest:(t=null,e=null)=>({method:"get",url:"/api/frontend/v1/ProfilUpdate/selectProfilRequest",params:{...t?{uid:t}:{},...e?{id:e}:{}}}),insertProfilRequest:(t,e,n=null)=>({method:"post",url:"/api/frontend/v1/ProfilUpdate/insertProfilRequest",params:{topic:t,payload:e,...n?{fileID:n}:{}}}),updateProfilRequest:(t,e,n,i=null)=>({method:"post",url:"/api/frontend/v1/ProfilUpdate/updateProfilRequest",params:{topic:t,payload:e,ID:n,...i?{fileID:i}:{}}}),deleteProfilRequest:t=>({method:"post",url:"/api/frontend/v1/ProfilUpdate/deleteProfilRequest",params:{requestID:t}})},Ae={data:()=>({dmsData:[]}),components:{Dms:_e,BsModal:s},mixins:[s],props:{titel:{type:String},files:{type:Array},updateID:{type:Boolean},onHideBsModal:Function,onHiddenBsModal:Function,onHidePreventedBsModal:Function,onShowBsModal:Function,onShownBsModal:Function},methods:{async uploadImage(){if(this.dmsData){let t=new FormData;t.append("files[]",this.dmsData[0]),await this.$api.call(ke.updateProfilbild(t)).then(t=>{this.$fhcAlert.alertSuccess(this.$p.t("global","hochgeladen")),this.modal.hide()})}}},mounted(){this.modal=this.$refs.modalContainer.modal,this.files&&(this.dmsData=this.files)},popup(t){return s.popup.bind(this),s.popup(null,t)},template:'\n\n\t\n\t\t\n\t\t\t
\n\t\t\t\t\t\t\x3c!-- MOBILE PROFIL UPDATES --\x3e\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\x3c!-- END OF HIDDEN QUCK LINKS --\x3e\n\n\t\t\t\x3c!-- MAIN PANNEL --\x3e\n\t\t\t
\n\t\t\t\t\x3c!-- ROW WITH PROFIL IMAGE AND INFORMATION --\x3e\n\t\t\t\t\x3c!-- INFORMATION CONTENT START --\x3e\n\t\t\t\t\x3c!-- ROW WITH THE PROFIL INFORMATION --\x3e\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\x3c!-- PROFIL INFORMATION --\x3e\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\x3c!-- STUDENT INFO --\x3e\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\x3c!-- START OF SECOND PROFIL INFORMATION COLUMN --\x3e\n\t\t\t\t\t
\n \x3c!-- HIDDEN QUICK LINKS --\x3e\n \x3c!-- uncomment when implemented\n
\n \n \n \n
--\x3e\n \x3c!-- END OF HIDDEN QUCK LINKS --\x3e\n \x3c!-- MAIN PANNEL --\x3e\n
\n \x3c!-- ROW WITH PROFIL IMAGE AND INFORMATION --\x3e\n \x3c!-- INFORMATION CONTENT START --\x3e\n \x3c!-- ROW WITH THE PROFIL INFORMATION --\x3e \n
\n \x3c!-- FIRST KAESTCHEN --\x3e\n
\n
\n
\n \n
\n
\n \x3c!-- START OF SECOND PROFIL INFORMATION COLUMN --\x3e\n \x3c!-- END OF PROFIL INFORMATION ROW --\x3e\n \x3c!-- INFORMATION CONTENT END --\x3e\n
\n
\n
\n
\n \x3c!-- EMAILS --\x3e\n \n
\n
\n \x3c!-- SECOND ROW OF SECOND COLUMN IN MAIN CONTENT --\x3e\n
\n
\n \n
\n
\n \x3c!-- END OF SECOND ROW OF SECOND COLUMN IN MAIN CONTENT --\x3e\n \x3c!-- END OF THE SECOND INFORMATION COLUMN --\x3e\n
\n \x3c!-- START OF THE SECOND PROFIL INFORMATION ROW --\x3e \n \x3c!-- ROW WITH PROFIL IMAGE AND INFORMATION END --\x3e\n
\n \x3c!-- END OF MAIN CONTENT COL --\x3e\n
\n \x3c!-- START OF SIDE PANEL --\x3e\n
\n \x3c!-- SRART OF QUICK LINKS IN THE SIDE PANEL --\x3e\n \x3c!-- START OF THE FIRDT ROW IN THE SIDE PANEL --\x3e\n \x3c!-- THESE QUCK LINKS ARE ONLY VISIBLE UNTIL VIEWPORT MD --\x3e\n \x3c!--TODO: uncomment when implemented\n
\n
\n \n \n \n
\n
--\x3e\n \x3c!-- START OF THE SECOND ROW IN THE SIDE PANEL --\x3e\n
\n
\n \x3c!-- HIER SIND DIE MAILVERTEILER --\x3e\n \n
\n \x3c!-- END OF THE SECOND ROW IN THE SIDE PANEL --\x3e\n
\n\t\n\t\n '},Ve={name:"RaumComponent",data:()=>({imgContent:null}),props:{content:{type:String,required:!0},content_id:{type:[Number,String]}},methods:{sanitizeLegacyTables(t){t.querySelectorAll("table").forEach(t=>{const e=t.textContent.trim(),n=document.createElement("p");n.textContent=e,t.parentNode.replaceChild(n,t)});t.querySelectorAll("ul").forEach(t=>{Array.from(t.children).forEach(e=>{const n=document.createElement("p");n.textContent=e.textContent,t.parentNode.appendChild(n)}),t.parentNode.removeChild(t)});Array.from(t.querySelectorAll("td")).filter(t=>t.scrollWidth>100).forEach(t=>{if(t.firstChild?.nodeType===Node.TEXT_NODE&&t.firstChild.length>10){const e=document.createElement("p");e.appendChild(t.firstChild),t.appendChild(e)}});Array.from(t.querySelectorAll("th")).forEach(t=>{t.children.length>1&&(t.innerHTML=Array.from(t.childNodes).find(t=>t.textContent).textContent)});t.querySelectorAll("p").forEach(t=>{t.style.setProperty("word-wrap","break-word"),t.style.setProperty("white-space","normal"),t.style.setProperty("max-width","400px")})}},mounted(){let t=document.getElementsByClassName("tablesorter");for(let e of t)this.sanitizeLegacyTables(e),new Tabulator(e,{layout:"fitDataStretch",columnDefaults:{formatter:"html",resizable:!1,minWidth:"100px"}});let e=document.getElementsByTagName("h1");if(e=e.length?e[0]:null,e&&e.innerText){let t=e.innerText,n=new RegExp("\\w*\\s([a-zA-Z][0-9\\.]+)$"),i=t.match(n);if(i){t=i[0],t=t.replace(" ","_");let n=document.createElement("a");n.href=FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/CisVue/Cms/getRoomInformation/"+t,n.appendChild(e.cloneNode(!0)),e.replaceWith(n);let a=document.querySelectorAll('.menubox a[href*="stpl_week.php"]');for(let t of a)t.href=n.href}else console.error(`the regular expression did not match the room name: ${t}`);return}const n=(new DOMParser).parseFromString(`
${this.content}
`,"text/html").querySelector("img");if(n&&n.title){const t={};for(let e of n.attributes)t[e.name]=e.value;this.imgContent=t}console.error("was not able to get the title of the raum_contentmittitel")},template:'\n \x3c!-- div that contains the content --\x3e\n\x3c!-- TODO: test with more img content from cms--\x3e\n
\n \n
Content was not found
\n '};const Je={relative:[{priority:1,regex:new RegExp(/^\.\.\/cms\/content\.php\?content_id=([0-9]+)/),replacement:FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/CisVue/Cms/content",group_replacement_strategy:"PATH_SEGMENTS"},{priority:2,regex:new RegExp(/^\.\.\/cms\/news\.php/),replacement:FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/CisVue/Cms/news"},{priority:3,regex:new RegExp(/^\.\.\/index\.ci\.php/),replacement:FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router},{priority:10,regex:new RegExp(/^\.\.\//),replacement:FHC_JS_DATA_STORAGE_OBJECT.app_root}],absolute:[{}]},Ge=Je.relative.sort((t,e)=>t.priority-e.priority).map(t=>({regex:t.regex,replacement:t.replacement,group_replacement_strategy:t.group_replacement_strategy}));function qe(t){for(let{regex:e,replacement:n,group_replacement_strategy:i}of Ge){let a=t.match(e);if(a){let s=t.replace(e,n);switch(i){case"QUERY_PARAMETERS":s=s.concat(`?${a[1]}`);for(let t of a.slice(2))s=s.concat(`&${t}`);break;case"PATH_SEGMENTS":for(let t of a.slice(1))s=s.concat(`/${t}`)}return s}}return t}Je.absolute.sort((t,e)=>t.priority-e.priority).map(t=>({regex:t.regex,replacement:t.replacement,group_replacement_strategy:t.group_replacement_strategy}));var We={name:"GeneralComponent",props:{content:{type:String,required:!0}},methods:{sanitizeLegacyTables(t){t.querySelectorAll("table").forEach(t=>{const e=t.textContent.trim(),n=document.createElement("p");n.textContent=e,t.parentNode.replaceChild(n,t)});t.querySelectorAll("ul").forEach(t=>{Array.from(t.children).forEach(e=>{const n=document.createElement("p");n.textContent=e.textContent,t.parentNode.appendChild(n)}),t.parentNode.removeChild(t)});Array.from(t.querySelectorAll("td")).filter(t=>t.scrollWidth>100).forEach(t=>{if(t.firstChild?.nodeType===Node.TEXT_NODE&&t.firstChild.length>10){const e=document.createElement("p");e.appendChild(t.firstChild),t.appendChild(e)}});Array.from(t.querySelectorAll("th")).forEach(t=>{t.children.length>1&&(t.innerHTML=Array.from(t.childNodes).find(t=>t.textContent).textContent)});t.querySelectorAll("p").forEach(t=>{t.style.setProperty("word-wrap","break-word"),t.style.setProperty("white-space","normal"),t.style.setProperty("max-width","400px")})},prepareContent(){Array.from(document.getElementsByClassName("tablesorter")).forEach((t,e)=>{this.sanitizeLegacyTables(t),new Tabulator(t,{index:e,layout:"fitDataFill",columnDefaults:{formatter:"html",resizable:!0,minWidth:"100px"}})}),document.querySelectorAll("#cms [data-confirm]").forEach(t=>{t.addEventListener("click",e=>{e.preventDefault(),BsConfirm.popup(t.dataset.confirm).then(()=>{Axios.get(t.href).then(t=>{location=location}).catch(t=>console.error("ERROR:",t))}).catch(()=>{})})}),document.querySelectorAll("#cms [data-href]").forEach(t=>{t.href=t.dataset.href.replace(/^ROOT\//,FHC_JS_DATA_STORAGE_OBJECT.app_root)}),document.querySelectorAll("[href]").forEach(t=>{let e=qe(t.getAttribute("href"));t.href=e}),document.querySelectorAll("[style*=background-color]").forEach(t=>{"rgb(255, 255, 255)"==t.style.backgroundColor&&(t.style.backgroundColor="var(--fhc-background)"),t.querySelector("*[style*=background-color]")&&(t.style.backgroundColor="var(--fhc-tertiary)")})}},updated(){this.prepareContent()},mounted(){this.prepareContent()},template:'\n \x3c!-- div that contains the content --\x3e\n
\n \t\n
\n
Content was not found
\n '},Ke={name:"ContentComponent",props:{content_id:{type:[Number,String],required:!0},version:{type:[String,Number],default:null},sichtbar:{type:[String,Number],default:null}},components:{raum_contentmittitel:Ve,news_content:{name:"NewsContentType",props:{content:{type:String,required:!0}},methods:{sanitizeLegacyTables(t){t.querySelectorAll("table").forEach(t=>{const e=t.textContent.trim(),n=document.createElement("p");n.textContent=e,t.parentNode.replaceChild(n,t)});t.querySelectorAll("ul").forEach(t=>{Array.from(t.children).forEach(e=>{const n=document.createElement("p");n.textContent=e.textContent,t.parentNode.appendChild(n)}),t.parentNode.removeChild(t)});Array.from(t.querySelectorAll("td")).filter(t=>t.scrollWidth>100).forEach(t=>{if(t.firstChild?.nodeType===Node.TEXT_NODE&&t.firstChild.length>10){const e=document.createElement("p");e.appendChild(t.firstChild),t.appendChild(e)}});Array.from(t.querySelectorAll("th")).forEach(t=>{t.children.length>1&&(t.innerHTML=Array.from(t.childNodes).find(t=>t.textContent).textContent)});t.querySelectorAll("p").forEach(t=>{t.style.setProperty("word-wrap","break-word"),t.style.setProperty("white-space","normal"),t.style.setProperty("max-width","400px")})}},mounted(){Array.from(document.getElementsByClassName("tablesorter")).forEach((t,e)=>{this.sanitizeLegacyTables(t),new Tabulator(t,{index:e,layout:"fitDataFill",columnDefaults:{formatter:"html",resizable:!0,minWidth:"100px"}})}),document.querySelectorAll("#cms [data-confirm]").forEach(t=>{t.addEventListener("click",e=>{e.preventDefault(),BsConfirm.popup(t.dataset.confirm).then(()=>{Axios.get(t.href).then(t=>{location=location}).catch(t=>console.error("ERROR:",t))}).catch(()=>{})})}),document.querySelectorAll("#cms [data-href]").forEach(t=>{t.href=t.dataset.href.replace(/^ROOT\//,FHC_JS_DATA_STORAGE_OBJECT.app_root)}),document.querySelectorAll("[href]").forEach(t=>{let e=qe(t.getAttribute("href"));t.href=e}),document.querySelectorAll("[style*=background-color]").forEach(t=>{"rgb(255, 255, 255)"==t.style.backgroundColor&&(t.style.backgroundColor="var(--fhc-background)"),t.querySelector("*[style*=background-color]")&&(t.style.backgroundColor="var(--fhc-tertiary)")}),Vue.nextTick(()=>{document.querySelectorAll(".card-header").forEach(t=>{t.classList.add("fhc-primary")}),document.querySelectorAll(".row").forEach(t=>{t.classList.add("w-100"),t.classList.add("align-items-center")}),document.querySelectorAll(".row h2").forEach(t=>{t.classList.add("mb-0")})})},template:'\n\t \x3c!-- div that contains the content --\x3e\n\t
\n\t'}},data(){return{content_type:null,content:null,content_id_internal:this.content_id}},methods:{fetchContent(){this.$api.call(je.content(this.content_id_internal,this.version,this.sprache,this.sichtbar)).then(t=>{this.$nextTick(function(){this.content=t.data.content,this.content_type=t.data.type})})}},watch:{sprache:function(t){this.fetchContent()},"$route.params.content_id"(t){this.content_id_internal=t,this.fetchContent()}},computed:{sprache(){return this.$p.user_language.value},computeContentType:function(){switch(this.content_type){case"raum_contentmittitel":return"raum_contentmittitel";case"news":return"news_content";case"iframe":return"iframe_content";default:return"general"}}},created(){this.fetchContent()},template:'\n \x3c!-- div that contains the content --\x3e\n\t
\n\t`\n}\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tgetRoomInfo(ort_kurzbz, start_date, end_date) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/LvPlan/getRoomplan',\n\t\t\tparams: { ort_kurzbz, start_date, end_date }\n\t\t};\n\t},\n\tgetLvPlan(start_date, end_date, lv_id) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/LvPlan/getLvPlan',\n\t\t\tparams: { start_date, end_date, lv_id }\n\t\t};\n\t},\n\teventsPersonal(start_date, end_date) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/lvPlan/eventsPersonal',\n\t\t\tparams: { start_date, end_date }\n\t\t};\n\t},\n\teventsLv(lv_id, start_date, end_date) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/lvPlan/eventsLv',\n\t\t\tparams: { lv_id, start_date, end_date }\n\t\t};\n\t},\n\tgetStunden() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/LvPlan/Stunden'\n\t\t};\n\t},\n\tgetOrtReservierungen(ort_kurzbz, start_date, end_date) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: `/api/frontend/v1/LvPlan/getReservierungen/${ort_kurzbz}`,\n\t\t\tparams: { start_date, end_date }\n\t\t};\n\t},\n\tgetLvPlanReservierungen(start_date, end_date) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/LvPlan/getReservierungen',\n\t\t\tparams: { start_date, end_date }\n\t\t};\n\t},\n\tgetLehreinheitStudiensemester(lehreinheit_id) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/LvPlan/getLehreinheitStudiensemester/${lehreinheit_id}`\n\t\t};\n\t},\n\tstudiensemesterDateInterval(date) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/LvPlan/studiensemesterDateInterval/${date}`\n\t\t};\n\t},\n\tLvPlanEvents(start_date, end_date, lv_id) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/LvPlan/LvPlanEvents',\n\t\t\tparams: { \n\t\t\t\tstart_date: start_date, \n\t\t\t\tend_date: end_date, \n\t\t\t\tlv_id: lv_id \n\t\t\t}\n\t\t};\n\t},\n\tgetLv(lehrveranstaltung_id) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/LvPlan/getLv/' + lehrveranstaltung_id\n\t\t};\n\t}\n};","import CalDnd from '../../../../../directives/Calendar/DragAndDrop.js';\nimport CalClick from '../../../../../directives/Calendar/Click.js';\n\nexport default {\n\tname: \"GridLineEvent\",\n\tdirectives: {\n\t\tCalDnd,\n\t\tCalClick\n\t},\n\tinject: {\n\t\tdraggableEvents: \"draggableEvents\",\n\t\tmode: \"mode\"\n\t},\n\tprops: {\n\t\tevent: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tvalidator(value) {\n\t\t\t\treturn (value.start && value.end && value.orig);\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\tisHeaderOrFooter() {\n\t\t\treturn ['header', 'footer'].includes(this.event.orig);\n\t\t},\n\t\tdraggable() {\n\t\t\treturn !this.isHeaderOrFooter && this.draggableEvents(this.event.orig, this.mode);\n\t\t},\n\t\tclasses() {\n\t\t\tconst classes = [];\n\t\t\tif (this.isHeaderOrFooter) {\n\t\t\t\tclasses.push('event-' + this.event.orig);\n\t\t\t} else {\n\t\t\t\tif (this.event.startsHere)\n\t\t\t\t\tclasses.push('event-begin');\n\t\t\t\tif (this.event.endsHere)\n\t\t\t\t\tclasses.push('event-end');\n\t\t\t}\n\t\t\treturn classes\n\t\t}\n\t},\n\ttemplate: /* html */`\n\t
\n\t`\n}","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tgetLvMenu(lvid, studiensemester_kurzbz) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/LvMenu/getLvMenu/${lvid}/${studiensemester_kurzbz}`\n\t\t};\n\t}\n};","import BsModal from \"../../Bootstrap/Modal.js\";\nimport LvMenu from \"./LvMenu.js\";\n\nimport ApiAddons from '../../../api/factory/addons.js';\n\nexport default {\n \n props:{\n event:{\n type:Object,\n required:true,\n default:null,\n },\n\t\tstudiensemester: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\ttitel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\t// prop used to preselect a menu item and skip the grid overview\n\t\tpreselectedMenu: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t}\n },\n data(){\n return {\n result: false,\n menu: [],\n\t\t\tisMenuSelected:false,\n\t\t\thasLvPlanEintraege: true,\n\t\t\tlvEvaluierungMessage: \"\",\n }\n },\n mixins:[BsModal],\n components:{\n BsModal,\n\t\tLvMenu,\n },\n\tinject: [\"studium_studiensemester\"],\n methods:{\n \n hiddenModal: function(){\n\t\t\tthis.isMenuSelected = false;\n },\n showModal: function(){\n\t\t\tif (!this.preselectedMenu) {\n this.$api\n\t\t\t\t\t.call(ApiAddons.getLvMenu(this.event.lehrveranstaltung_id, (this.studiensemester ?? this.event.studiensemester_kurzbz)))\n .then(res => {\n \t\t\t\t\tif (res.data) {\n \t\t\t\t\t\tthis.menu = res.data;\n \t\t\t\t\t}\n \t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.isMenuSelected = true;\n\t\t\t}\n\n\t\t\t// check lv evaluierung info\n\t\t\tif (this.studium_studiensemester) {\n\t\t\t\tthis.$fhcApi.factory.studium.getLvEvaluierungInfo(this.studium_studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id)\n\t\t\t\t\t.then(data => data.data)\n\t\t\t\t\t.then(res => {\n\t\t\t\t\t\tthis.lvEvaluierungMessage = res.message;\n\t\t\t\t\t})\n\t\t\t}\n\n\t\t\t// check if the lv has lvplan entries for this studiensemester\n\t\t\tif (this.studiensemester && this.event) {\n\t\t\t\treturn this.$fhcApi.factory.studium.getLvPlanForStudiensemester(this.studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id)\n\t\t\t\t\t.then(data => data.data)\n\t\t\t\t\t.then(res => {\n\t\t\t\t\t\tif (Array.isArray(res) && res.length > 0) {\n\t\t\t\t\t\t\tthis.hasLvPlanEintraege = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.hasLvPlanEintraege = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t\t\n },\n },\n\tmounted(){\n this.modal = this.$refs.modalContainer;\n },\n\tbeforeUnmount(){\n\t\tthis.$refs.modalContainer.hide();\n\t},\n template:/*html*/`\n \n\n\t\t\n \n\t\t\t\t{{titel}}\n\t\t\t\n\t\t\t\n\t\t\t\t{{event?.lehrfach_bez + (event?.stg_kurzbzlang?' / ' + event?.stg_kurzbzlang:'')}}\n\t\t\t\tLehrveranstaltungs Übersicht\n\t\t\t\n\n \n \n\t\t\t\n\t\t\t\n\t\t\t\n \n \n \n\n \n `,\n};","import MylvSemesterStudiengang from \"./Semester/Studiengang.js\";\n\nexport default {\n\tcomponents: {\n\t\tMylvSemesterStudiengang\n\t},\n\tprovide() {\n\t\treturn {\n\t\t\tstudien_semester: Vue.computed(() => this.semester) \n\t\t}\n\t},\n\tprops: {\n\t\tsemester: [String, Number],\n\t\tlvs: Array\n\t},\n\tcomputed: {\n\t\tready() { return this.lvs !== null; },\n\t\tstudiengaenge() {\n\t\t\treturn [... new Map(\n\t\t\t\tthis.lvs\n\t\t\t\t.map(lv => [\n\t\t\t\t\tlv.studiengang_kz + '#' + lv.semester, \n\t\t\t\t\t{\n\t\t\t\t\t\tstudiengang_kz: lv.studiengang_kz, \n\t\t\t\t\t\tbezeichnung: lv.sg_bezeichnung,\n\t\t\t\t\t\tsg_bezeichnung_eng: lv.sg_bezeichnung_eng,\n\t\t\t\t\t\tkuerzel: lv.studiengang_kuerzel, \n\t\t\t\t\t\tsemester: lv.semester\n\t\t\t\t\t}\n\t\t\t\t])\n\t\t\t).values()].sort((a, b) => a.bezeichnung.toLowerCase() == b.bezeichnung.toLowerCase() ? a.semester > b.semester : a.bezeichnung.toLowerCase() > b.bezeichnung.toLowerCase());\n\t\t},\n\t},\n\tmethods: {\n\t\tlvsForStudiengang(studiengang) {\n\t\t\treturn this.lvs.filter(lv => lv.studiengang_kz == studiengang.studiengang_kz && lv.semester == studiengang.semester);\n\t\t}\n\t},\n\ttemplate: `
`\n};","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n *\n */\nexport const CoreFetchCmpt = {\n\temits: ['dataFetched'], // this component can emit the event dataFetched that it is catched by this component itself\n\tprops: {\n\t\trefresh: { // to refresh this component\n\t\t\ttype: Boolean\n\t\t},\n\t\tapiFunction: { // the function to call, must return a Promise\n\t\t\trequired: true,\n\t\t\ttype: Function\n\t\t},\n\t\tapiFunctionParameters: {} // parameters for the apiFunction, type mixed, optional\n\t},\n\twatch: {\n\t\t/**\n\t\t * If the refresh property is changed then call fetchData\n\t\t */\n\t\trefresh: function (newValue, oldValue) {\n\t\t\tthis.fetchData();\n\t\t}\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tloading: false, // if in loading or not\n\t\t\terror: false, // if an error occurred while loading data\n\t\t\terrorMessage: null // the error message\n\t\t};\n\t},\n\tcreated: function() {\n\t\tthis.fetchData();\n\t},\n\tmethods: {\n\t\t/**\n\t\t *\n\t\t */\n\t\tfetchData: function() {\n\t\t\tthis.loading = true; // loader started\n\t\t\tthis.error = false;\n\t\t\tthis.errorMessage = null;\n\n\t\t\t// Checks if the apifunction is a callable function\n\t\t\tif (typeof this.apiFunction == \"function\")\n\t\t\t{\n\t\t\t\t// Call the function stored in apiFunction\n\t \t\tlet apiFunctionResult = this.apiFunction(this.apiFunctionParameters);\n\n\t\t\t\t// It is expected that the function returns a Promise\n\t\t\t\tif (apiFunctionResult instanceof Promise)\n\t\t\t\t{\n\t\t\t\t\tapiFunctionResult\n\t\t\t\t\t\t.then(this.successHandler) // on success\n\t\t\t\t\t\t.catch(this.errorHandler) // on error\n\t\t\t\t\t\t.finally(this.finallyHandler); // finally in any case\n\t\t\t\t}\n\t\t\t\telse // otherwise display an error\n\t\t\t\t{\n\t\t\t\t\tthis.setError(\"The called apiFunction does not return a Promise\");\n\t\t\t\t}\n\t\t\t}\n\t\t\telse // otherwise display an error\n\t\t\t{\n\t\t\t\tthis.setError(\"Property apiFunction is not a function\");\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tsetError: function(errorMessage) {\n\t\t\tthis.loading = false; // loading ended\n\t\t\tthis.error = true; // error occurred\n\t\t\tthis.errorMessage = errorMessage; // save the error message\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tsuccessHandler: function(response) {\n\t\t\tthis.$emit('dataFetched', response ? response.data : undefined); // trigger the event dataFetched\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\terrorHandler: function(error) {\n\t\t\tif (error.response?.data?.retval)\n\t\t\t\tthis.setError(error.response.data.retval);\n\t\t\telse if (error.data?.message)\n\t\t\t\tthis.setError(error.data.message);\n\t\t\telse\n\t\t\t\tthis.setError(error.message);\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tfinallyHandler: function() {\n\t\t\tthis.loading = false; // loading ended\n\t\t}\n\t},\n\ttemplate: `\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t`\n};\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nconst FILTER_COMPONENT_NEW_FILTER = 'Filter Component New Filter';\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\tfilters: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tfields: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t}\n\t},\n\temits: {\n\t\tswitchFilter: ['filterId'],\n\t\tapplyFilterConfig: ['filterFields'],\n\t\tsaveCustomFilter: ['customFilterName']\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tcurrentFields: []\n\t\t};\n\t},\n\tcomputed: {\n\t\ttypes() {\n\t\t\treturn this.columns.reduce((a,c) => {\n\t\t\t\tlet type = c.type.toLowerCase();\n\t\t\t\tif (type.indexOf('int') >= 0)\n\t\t\t\t\ta[c.name] = 'Numeric';\n\t\t\t\telse if (\n\t\t\t\t\ttype.indexOf('varchar') >= 0 || \n\t\t\t\t\ttype.indexOf('text') >= 0 || \n\t\t\t\t\ttype.indexOf('bpchar') >= 0\n\t\t\t\t)\n\t\t\t\t\ta[c.name] = 'Text';\n\t\t\t\telse if (\n\t\t\t\t\ttype.indexOf('timestamp') >= 0 || \n\t\t\t\t\ttype.indexOf('date') >= 0\n\t\t\t\t)\n\t\t\t\t\ta[c.name] = 'Date';\n\t\t\t\telse\n\t\t\t\t\ta[c.name] = '';\n\t\t\t\treturn a;\n\t\t\t}, {});\n\t\t}\n\t},\n\twatch: {\n\t\tfields(n) {\n\t\t\tthis.currentFields = n;\n\t\t}\n\t},\n\tmethods: {\n\t\tswitchFilter(evt) {\n\t\t\tthis.$emit('switchFilter', evt.currentTarget.value);\n\t\t},\n\t\tapplyFilterConfig() {\n\t\t\tconst filteredFields = this.currentFields.filter(el => el.name != FILTER_COMPONENT_NEW_FILTER);\n\t\t\tif (filteredFields.filter(el => el.condition == \"\").length)\n\t\t\t\talert(\"Please fill all the filter options\");\n\t\t\telse\n\t\t\t\tthis.$emit('applyFilterConfig', filteredFields);\n\t\t},\n\t\taddField(evt) {\n\t\t\tthis.currentFields.push({\n\t\t\t\tname: FILTER_COMPONENT_NEW_FILTER\n\t\t\t});\n\t\t},\n\t\tremoveField(index) {\n\t\t\tthis.currentFields.splice(index, 1);\n\t\t}\n\t},\n\ttemplate: `\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t`\n};\n\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\tfields: Array,\n\t\tselected: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tnames: {\n\t\t\ttype: Object,\n\t\t\tdefault: {}\n\t\t}\n\t},\n\temits: {\n\t\thide: ['fieldName'],\n\t\tshow: ['fieldName']\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tselectedFields: []\n\t\t};\n\t},\n\twatch: {\n\t\tselected(n) {\n\t\t\tthis.selectedFields = n;\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggle(field) {\n\t\t\tif (this.selectedFields.indexOf(field) != -1)\n\t\t\t{\n\t\t\t\tthis.selectedFields.splice(this.selectedFields.indexOf(field), 1);\n\t\t\t\tthis.$emit('hide', field);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.selectedFields.push(field);\n\t\t\t\tthis.$emit('show', field);\n\t\t\t}\n\t\t}\n\t},\n\ttemplate: `\n\t
\n\t`\n};\n\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nconst DEFAULT_ICONS = {\n\tjsonLines: 'fa-file-lines',\n\txlsx: 'fa-file-excel',\n\tpdf: 'fa-file-pdf',\n\thtml: 'fa-file-code',\n\tjson: 'fa-file',\n\tcsv: 'fa-file-csv'\n};\nconst DEFAULT_LABELS = {\n\tjsonLines: 'Download as JSONLINES',\n\txlsx: 'Download as XLSX',\n\tpdf: 'Download as PDF',\n\thtml: 'Download as HTML',\n\tjson: 'Download as JSON',\n\tcsv: 'Download as CSV '\n};\n\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\ttabulator: Object,\n\t\tconfig: {\n\t\t\ttype: [Boolean, String, Function, Array, Object],\n\t\t\tdefault: false\n\t\t},\n\t\ticonClass: [String, Array, Object]\n\t},\n\tcomputed: {\n\t\tcurrentConfig() {\n\t\t\tif (!this.config)\n\t\t\t\treturn false;\n\n\t\t\tlet config = this.config;\n\n\t\t\tif (config instanceof Function)\n\t\t\t\treturn [config];\n\n\t\t\tif (config === null)\n\t\t\t\treturn [];\n\n\t\t\tif (this.config === true)\n\t\t\t\tconfig = ['csv'];\n\n\t\t\tif (Object.prototype.toString.call(config) === \"[object String]\")\n\t\t\t\tconfig = config.split(',');\n\n\t\t\tif (typeof config === 'object' && !Array.isArray(config)) {\n\t\t\t\tlet newConfig = [];\n\t\t\t\tfor (var k in config) {\n\t\t\t\t\tvar v = config[k], type;\n\t\t\t\t\t\n\t\t\t\t\tif (!v)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\n\t\t\t\t\tif (Object.prototype.toString.call(v) === \"[object String]\") {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(v);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\tlabel: v === k ? DEFAULT_LABELS[type] : k,\n\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\t\tif(type !== null) {\n\t\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\t\tlabel: v,\n\t\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\talert('neither ' + k + ' nor ' + v + ' are supported download file types');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (typeof v === 'object' && !Array.isArray(v)) {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tif (v.formatter === undefined)\n\t\t\t\t\t\t\t\tv.formatter = type;\n\t\t\t\t\t\t\tif (v.label === undefined)\n\t\t\t\t\t\t\t\tv.label = DEFAULT_LABELS[type];\n\t\t\t\t\t\t\tif (v.icon === undefined)\n\t\t\t\t\t\t\t\tv.icon = DEFAULT_ICONS[type];\n\t\t\t\t\t\t\tnewConfig.push(v);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (v.label === undefined)\n\t\t\t\t\t\t\t\tv.label = k;\n\t\t\t\t\t\t\tnewConfig.push(v);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\tlabel: DEFAULT_LABELS[type],\n\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\talert(k + ' is not a supported download file type');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconfig = newConfig;\n\t\t\t}\n\n\t\t\tif (Array.isArray(config))\n\t\t\t{\n\t\t\t\tconfig = config.map(el => {\n\t\t\t\t\tif (Object.prototype.toString.call(el) === \"[object String]\") {\n\t\t\t\t\t\tlet formatter = this.stringToFileFormatter(el);\n\t\t\t\t\t\tif (formatter === null)\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[formatter],\n\t\t\t\t\t\t\tlabel: DEFAULT_LABELS[formatter],\n\t\t\t\t\t\t\tformatter\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (el instanceof Function)\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tformatter: el\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (typeof el === 'object' && !Array.isArray(el) && el !== null) {\n\t\t\t\t\t\tif (el.formatter instanceof Function)\n\t\t\t\t\t\t\treturn el;\n\t\t\t\t\t\tif (this.validateFileFormatter(el.formatter))\n\t\t\t\t\t\t\treturn el;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null;\n\t\t\t\t}).filter(el => el !== null);\n\n\t\t\t\tif (config.length < 2)\n\t\t\t\t\treturn config;\n\n\t\t\t\tif (config.filter(el => el.label || el.icon).length == config.length)\n\t\t\t\t\treturn config;\n\n\t\t\t\talert('Config not valid');\n\t\t\t}\n\n\t\t\treturn [];\n\t\t}\n\t},\n\tmethods: {\n\t\tstringToFileFormatter(input) {\n\t\t\tlet lcInput = input.toLowerCase();\n\t\t\t\n\t\t\tif (lcInput == 'jsonlines')\n\t\t\t\treturn 'jsonLines';\n\t\t\t\n\t\t\tif (['xlsx', 'pdf', 'html', 'json', 'csv'].includes(lcInput))\n\t\t\t\treturn lcInput;\n\n\t\t\treturn null;\n\t\t},\n\t\tvalidateFileFormatter(input) {\n\t\t\tlet formatter = this.stringToFileFormatter(input);\n\t\t\tif (!formatter) {\n\t\t\t\talert(input + ' is not a supported file formatter');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (formatter == 'xlsx') {\n\t\t\t\tif (!window.XLSX) {\n\t\t\t\t\talert('XLSX Library not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (formatter == 'pdf') {\n\t\t\t\tif (!window.jspdf) {\n\t\t\t\t\talert('jsPDF Library not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tvar doc = new jspdf.jsPDF({});\n\t\t\t\tif (!doc.autoTable) {\n\t\t\t\t\talert('jsPDF-AutoTable Plugin not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tdownload(config) {\n\t\t\tthis.tabulator.download(config.formatter, config.file, config.options)\n\t\t}\n\t},\n\ttemplate: `\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
\n\t\n\t`\n};\n\n","const elementDataMap = new WeakMap();\n\nexport default {\n\tmounted(el, binding) {\n\t\tlet open = false;\n\t\telementDataMap.set(el, evt => {\n\t\t\tif (!open)\n\t\t\t\treturn;\n\n\t\t\tif (el.contains(evt.target))\n\t\t\t\treturn;\n\n\t\t\tconst collapse = bootstrap.Collapse.getInstance(el)\n\t\t\tif (collapse)\n\t\t\t\tcollapse.hide();\n\t\t});\n\t\tel.addEventListener('shown.bs.collapse', () => {\n\t\t\topen = true;\n\t\t});\n\t\tel.addEventListener('hide.bs.collapse', () => {\n\t\t\topen = false;\n\t\t});\n\t\tdocument.addEventListener('click', elementDataMap.get(el), true);\n\t},\n\tbeforeUnmount(el, binding) {\n\t\tdocument.removeEventListener('click', elementDataMap.get(el));\n\t\tdelete el.collapsibleAutoHideFunc;\n\t}\n}","/**\n * This may need changes if Tabulator gets updated!\n *\n * Current working Version: 5.5.2\n * \n * This is a copy of the fitDataStretch function. The only difference\n * is the check for frozen columns on line 22.\n */\n\nexport default window.Tabulator?.extendModule(\"layout\", \"modes\", {\n\tfitDataStretchFrozen(columns, forced) {\n\t\tvar colsWidth = 0,\n\t\ttableWidth = this.table.rowManager.element.clientWidth,\n\t\tgap = 0,\n\t\tlastCol = false;\n\n\t\tcolumns.forEach((column, i) => {\n\t\t\tif (!column.widthFixed) {\n\t\t\t\tcolumn.reinitializeWidth();\n\t\t\t}\n\n\t\t\tif (this.table.options.responsiveLayout ? column.modules.responsive.visible : column.visible && !column.definition.frozen) {\n\t\t\t\tlastCol = column;\n\t\t\t}\n\n\t\t\tif (column.visible) {\n\t\t\t\tcolsWidth += column.getWidth();\n\t\t\t}\n\t\t});\n\n\t\tif (lastCol){\n\t\t\tgap = tableWidth - colsWidth + lastCol.getWidth();\n\n\t\t\tif (this.table.options.responsiveLayout && this.table.modExists(\"responsiveLayout\", true)) {\n\t\t\t\tlastCol.setWidth(0);\n\t\t\t\tthis.table.modules.responsiveLayout.update();\n\t\t\t}\n\n\t\t\tif (gap > 0) {\n\t\t\t\tlastCol.setWidth(gap);\n\t\t\t} else {\n\t\t\t\tlastCol.reinitializeWidth();\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.table.options.responsiveLayout && this.table.modExists(\"responsiveLayout\", true)) {\n\t\t\t\tthis.table.modules.responsiveLayout.update();\n\t\t\t}\n\t\t}\n\t}\n});\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tsaveCustomFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/saveCustomFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tcustomFilterName: wsParams.customFilterName\n\t\t\t}\n\t\t};\n\t},\n\tremoveCustomFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/removeCustomFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t};\n\t},\n\tapplyFilterFields(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/applyFilterFields',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterFields: wsParams.filterFields\n\t\t\t}\n\t\t};\n\t},\n\taddFilterField(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/addFilterField',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t};\n\t},\n\tremoveFilterField(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/removeFilterField',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t};\n\t},\n\tgetFilterById(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/filter/getFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t};\n\t},\n\tgetFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/filter/getFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType\n\t\t\t}\n\t\t};\n\t}\n};","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport {CoreFetchCmpt} from '../../components/Fetch.js';\nimport FilterConfig from './Filter/Config.js';\nimport FilterColumns from './Filter/Columns.js';\nimport TableDownload from './Table/Download.js';\nimport collapseAutoClose from '../../directives/collapseAutoClose.js';\n\nimport moduleLayoutFitDataStretchFrozen from '../../tabulator/layouts/fitDataStretchFrozen.js';\n\nimport ApiFilter from '../../api/factory/filter.js';\n\n//\nconst FILTER_COMPONENT_NEW_FILTER = 'Filter Component New Filter';\nconst FILTER_COMPONENT_NEW_FILTER_TYPE = 'Filter Component New Filter Type';\n\nvar _uuid = 0;\n\n/**\n *\n */\nexport const CoreFilterCmpt = {\n\tcomponents: {\n\t\tCoreFetchCmpt,\n\t\tFilterConfig,\n\t\tFilterColumns,\n\t\tTableDownload\n\t},\n\tdirectives: {\n\t\tcollapseAutoClose\n\t},\n\temits: [\n\t\t'nwNewEntry',\n\t\t'click:new',\n\t\t'tableBuilt',\n\t\t'uuidDefined'\n\t],\n\tprops: {\n\t\tonNwNewEntry: Function, // NOTE(chris): Hack to get the nwNewEntry listener into $props\n\t\ttitle: String,\n\t\tdescription: String,\n\t\tsideMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tfilterType: {\n\t\t\ttype: String\n\t\t},\n\t\ttabulatorOptions: Object,\n\t\ttabulatorEvents: Array,\n\t\ttableOnly: Boolean,\n\t\tnoColumnFilter:Boolean,\n\t\treload: Boolean,\n\t\treloadBtnInfotext: String,\n\t\tdownload: {\n\t\t\ttype: [Boolean, String, Function, Array, Object],\n\t\t\tdefault: false\n\t\t},\n\t\tnewBtnShow: Boolean,\n\t\tnewBtnClass: [String, Array, Object],\n\t\tnewBtnDisabled: Boolean,\n\t\tnewBtnLabel: String,\n\t\tuniqueId: String,\n\n\t\tidField: String,\n\t\tparentIdField: String,\n\t\tcountOnly: Boolean,\n\t\tuseSelectionSpan: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t}\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tuuid: 0,\n\t\t\t// FilterCmpt properties\n\t\t\tfilterName: null,\n\t\t\tfilterActive: false,\n\t\t\tfields: null,\n\t\t\tdataset: null,\n\t\t\tdatasetMetadata: null,\n\t\t\tselectedFields: null,\n\t\t\tfilterFields: null,\n\n\t\t\tavailableFilters: null,\n\t\t\tselectedFilter: null,\n\n\t\t\t// FetchCmpt binded properties\n\t\t\tfetchCmptRefresh: false,\n\t\t\tfetchCmptApiFunction: null,\n\t\t\tfetchCmptApiFunctionParams: null,\n\t\t\tfetchCmptDataFetched: null,\n\n\t\t\tfetchResult: null,\n\n\t\t\ttabulator: null,\n\t\t\ttableBuilt: false,\n\t\t\ttabulatorHasSelector: false,\n\t\t\tselectedData: [],\n\t\t\tpersistence: {\n\t\t\t\tsort: true,\n\t\t\t\tcolumns: true,\n\t\t\t\tfilter: false,\n\t\t\t\theaderFilter: false,\n\t\t\t\tgroup: false,\n\t\t\t\tpage: false,\n\t\t\t}\n\t\t};\n\t},\n\tcomputed: {\n\t\tnotSelectedFields() {\n\t\t\tif (!this.fields || !this.selectedFields)\n\t\t\t\treturn null;\n\t\t\treturn this.fields.filter(x => this.selectedFields.indexOf(x) === -1)\n\t\t},\n\t\tfilteredData() {\n\t\t\tif (!this.dataset)\n\t\t\t\treturn [];\n\t\t\treturn JSON.parse(JSON.stringify(this.dataset));\n\t\t},\n\t\tfilteredColumns() {\n\t\t\tlet fields = JSON.parse(JSON.stringify(this.fields)) || [];\n\t\t\tlet selectedFields = JSON.parse(JSON.stringify(this.selectedFields)) || [];\n\n\t\t\tlet columns = null;\n\n\t\t\t// If the tabulator options has been provided and it contains the property columns\n\t\t\tif (this.tabulatorOptions && this.tabulatorOptions.hasOwnProperty('columns'))\n\t\t\t\tcolumns = this.tabulatorOptions.columns;\n\n\t\t\t// If columns is not an array or it is an array with less elements then the array fields\n\t\t\tif (!Array.isArray(columns) || (Array.isArray(columns) && columns.length < fields.length))\n\t\t\t{\n\t\t\t\tcolumns = []; // set it as an empty array\n\n\t\t\t\t// Loop throught all the retrieved columns from database\n\t\t\t\tfor (let field of fields)\n\t\t\t\t{\n\t\t\t\t\t// Create a new column having the title equal to the field name\n\t\t\t\t\tlet column = {\n\t\t\t\t\t\ttitle: field,\n\t\t\t\t\t\tfield: field\n\t\t\t\t\t};\n\n\t\t\t\t\t// If the column has to be displayed or not\n\t\t\t\t\tcolumn.visible = selectedFields.indexOf(field) >= 0;\n\n\t\t\t\t\t// Add the new column to the list of columns\n\t\t\t\t\tcolumns.push(column);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse // the property columns has been provided in the tabulator options\n\t\t\t{\n\t\t\t\t// Loop throught the property columns of the tabulator options\n\t\t\t\tfor (let col of columns)\n\t\t\t\t{\n\t\t\t\t\t// If the column has to be displayed or not\n\t\t\t\t\t/* fields.indexOf(col.field) == -1; ensures displaying formatter colums\n\t\t\t\t\te.g. column with rowSelection checkboxes or with custom formatted action buttons */\n\t\t\t\t\tcol.visible = selectedFields.indexOf(col.field) >= 0 || fields.indexOf(col.field) == -1;\n\n\t\t\t\t\tif (col.hasOwnProperty('resizable'))\n\t\t\t\t\t\tcol.resizable = col.visible;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn columns;\n\t\t},\n\t\tfieldIdsForVisibilty() {\n\t\t\tif (!this.tableBuilt)\n\t\t\t\treturn [];\n\t\t\treturn this.tabulator.getColumns().filter(col => {\n\t\t\t\tlet def = col.getDefinition();\n\t\t\t\treturn !def.frozen && def.title && def.formatter != \"responsiveCollapse\";\n\t\t\t}).map(col => col.getField());\n\t\t},\n\t\tfieldNames() {\n\t\t\tif (!this.tableBuilt)\n\t\t\t\treturn {};\n\t\t\treturn this.tabulator.getColumns().reduce((res, col) => {\n\t\t\t\tres[col.getField()] = col.getDefinition().title;\n\t\t\t\treturn res;\n\t\t\t}, {});\n\t\t},\n\t\tidExtra() {\n\t\t\tif (!this.uuid)\n\t\t\t\treturn '';\n\t\t\treturn '-' + this.uuid;\n\t\t},\n\t\tcolumnsForFilter() {\n\t\t\tif (!this.filteredColumns || !this.datasetMetadata)\n\t\t\t\treturn [];\n\t\t\tconst filterTitles = this.filteredColumns.reduce((a,c) => {\n\t\t\t\ta[c.field] = c.title;\n\t\t\t\treturn a;\n\t\t\t}, {});\n\t\t\treturn this.datasetMetadata.map(el => ({...el, ...{title: filterTitles[el.name]}}));\n\t\t}\n\t},\n\tmethods: {\n\t\treloadTable() {\n\t\t\tif (this.tableOnly)\n\t\t\t\tthis.tabulator.setData();\n\t\t\telse\n\t\t\t\tthis.getFilter();\n\t\t},\n\t\tasync initTabulator() {\n\t\t\tlet placeholder = '< Phrasen Plugin not loaded! >';\n\t\t\tif (this.$p) {\n\t\t\t\tawait this.$p.loadCategory('ui');\n\t\t\t\tplaceholder = this.$p.t('ui/keineDatenVorhanden');\n\t\t\t}\n\n\t\t\tif (!this.tableOnly) {\n\t\t\t\t// prefetch data to get fields & selectedFields for filteredColumns & filteredData\n\t\t\t\tawait new Promise(resolve => {\n\t\t\t\t\tconst filterId = window.location.hash ? window.location.hash.slice(1) : null;\n\n\t\t\t\t\tconst resolvePromiseFunc = data => {\n\t\t\t\t\t\tthis.setRenderData(data);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t};\n\t\t\t\t\t// get the filter data\n\t\t\t\t\tif (filterId === null)\n\t\t\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilter(wsParams)),\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tresolvePromiseFunc\n\t\t\t\t\t\t);\n\t\t\t\t\telse\n\t\t\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilterById(wsParams)),\n\t\t\t\t\t\t\t{ filterId },\n\t\t\t\t\t\t\tresolvePromiseFunc\n\t\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Define a default tabulator options in case it was not provided\n\t\t\tlet tabulatorOptions = {...{\n\t\t\t\t\tlayout: \"fitDataStretchFrozen\",\n\t\t\t\t\tmovableColumns: true,\n\t\t\t\t\tcolumnDefaults:{\n\t\t\t\t\t\ttooltip: true\n\t\t\t\t\t},\n\t\t\t\t\tplaceholder,\n\t\t\t\t\tpersistence: this.persistence,\n\t\t\t\t}, ...(this.tabulatorOptions || {})};\n\n\t\t\t// set default height if no height property is set\n\t\t\tif (tabulatorOptions.height === undefined &&\n\t\t\t\ttabulatorOptions.minHeight === undefined &&\n\t\t\t\ttabulatorOptions.maxHeight === undefined) {\n\t\t\t\ttabulatorOptions.height = 500;\n\t\t\t}\n\n\t\t\tif (!this.tableOnly) {\n\t\t\t\ttabulatorOptions.data = this.filteredData;\n\t\t\t\ttabulatorOptions.columns = this.filteredColumns;\n\t\t\t} else {\n\t\t\t\ttabulatorOptions.columns.forEach(col => {\n\t\t\t\t\tif (col.visible === undefined)\n\t\t\t\t\t\tcol.visible = true;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (tabulatorOptions.selectable || (tabulatorOptions.columns && tabulatorOptions.columns.filter(el => el.formatter == 'rowSelection').length))\n\t\t\t\tthis.tabulatorHasSelector = true;\n\n\t\t\tif (this.idField) {\n\t\t\t\t// enable nested tabulator if parent Id given\n\t\t\t\tif (this.parentIdField) tabulatorOptions.dataTree = true;\n\t\t\t\t// set tabulator index\n\t\t\t\ttabulatorOptions.index = this.idField;\n\t\t\t}\n\n\t\t\t// Start the tabulator with the build options\n\t\t\tthis.tabulator = new Tabulator(\n\t\t\t\tthis.$refs.table,\n\t\t\t\ttabulatorOptions\n\t\t\t);\n\t\t\t// If event handlers have been provided\n\t\t\tif (Array.isArray(this.tabulatorEvents) && this.tabulatorEvents.length > 0)\n\t\t\t{\n\t\t\t\t// Attach all the provided event handlers to the started tabulator\n\t\t\t\tfor (let evt of this.tabulatorEvents)\n\t\t\t\t\tthis.tabulator.on(evt.event, evt.handler);\n\t\t\t}\n\t\t\tthis.tabulator.on('tableBuilt', () => {this.tableBuilt = true; this.$emit('tableBuilt');});\n\t\t\tthis.tabulator.on(\"rowSelectionChanged\", data => {\n\t\t\t\tthis.selectedData = data;\n\t\t\t});\n\n\t\t\t// if nested tabulator, restructure data\n\t\t\tif (this.parentIdField && this.idField) {\n\t\t\t\tthis.tabulator.on(\"dataLoading\", data => {\n\t\t\t\t\tlet toDelete = [];\n\n\t\t\t\t\t// loop through all data\n\t\t\t\t\tfor (let childIdx = 0; childIdx < data.length; childIdx++)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet child = data[childIdx];\n\n\t\t\t\t\t\t// if it has parent id, it is a child\n\t\t\t\t\t\tif (child[this.parentIdField])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// append the child on the right place. If parent found, mark original sw child on 0 level for deleting\n\t\t\t\t\t\t\tif (this.appendChild(data, child)) toDelete.push(childIdx);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// delete the marked children from 0 level\n\t\t\t\t\tfor (let counter = 0; counter < toDelete.length; counter++)\n\t\t\t\t\t{\n\t\t\t\t\t\t// decrease index by counter as index of data array changes after every deletion\n\t\t\t\t\t\tdata.splice(toDelete[counter] - counter, 1);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (this.tableOnly) {\n\t\t\t\tthis.tabulator.on('tableBuilt', () => {\n\t\t\t\t\tconst cols = this.tabulator.getColumns();\n\t\t\t\t\tthis.fields = cols.map(col => col.getField());\n\t\t\t\t\tthis.selectedFields = cols.filter(col => col.isVisible()).map(col => col.getField());\n\t\t\t\t\tif (this.tabulator.options.persistence.headerFilter)\n\t\t\t\t\t\tthis._setHeaderFilter();\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t\tthis.tabulator.on(\"dataFiltered\", filters => {\n\t\t\t\tthis.filterActive = filters.length > 0;\n\t\t\t});\n\t\t},\n\t\tupdateTabulator() {\n\t\t\tif (this.tabulator) {\n\t\t\t\tif (this.tableBuilt)\n\t\t\t\t\tthis._updateTabulator();\n\t\t\t\telse\n\t\t\t\t\tthis.tabulator.on('tableBuilt', this._updateTabulator);\n\t\t\t}\n\t\t},\n\t\t_updateTabulator() {\n\t\t\tthis.tabulatorHasSelector = this.tabulatorOptions.selectable || this.filteredColumns.filter(el => el.formatter == 'rowSelection').length;\n\t\t\tthis.tabulator.setColumns(this.filteredColumns);\n\t\t\tthis.tabulator.setData(this.filteredData);\n\t\t\tthis._setHeaderFilter()\n\t\t},\n\t\tclearFilters()\n\t\t{\n\t\t\tlet existingFilters = this.tabulator.getHeaderFilters();\n\t\t\texistingFilters.forEach(filter => {\n\t\t\t\tthis.tabulator.setHeaderFilterValue(filter.field, \"\");\n\t\t\t});\n\t\t\tthis.tabulator.clearFilter();\n\t\t\tthis.filterActive = false;\n\t\t},\n\t\t_setHeaderFilter()\n\t\t{\n\t\t\tconst existingFilters = this.tabulator.getHeaderFilters();\n\t\t\texistingFilters.forEach(filter => {\n\t\t\t\tthis.tabulator.setHeaderFilterValue(filter.field, filter.value);\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tgetFilter() {\n\t\t\tif (this.selectedFilter === null)\n\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilter(wsParams)),\n\t\t\t\t\tnull,\n\t\t\t\t\tthis.render\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilterById(wsParams)),\n\t\t\t\t\t{\n\t\t\t\t\t\tfilterId: this.selectedFilter\n\t\t\t\t\t},\n\t\t\t\t\tthis.render\n\t\t\t\t);\n\t\t},\n\t\tsetRenderData(data) {\n\t\t\tthis.fetchResult = data;\n\t\t\tthis.filterName = data.filterName;\n\t\t\tthis.dataset = data.dataset;\n\t\t\tthis.datasetMetadata = data.datasetMetadata;\n\n\t\t\tthis.fields = data.fields;\n\t\t\tthis.selectedFields = data.selectedFields;\n\t\t\tthis.filterFields = [];\n\n\t\t\tfor (let i = 0; i < data.datasetMetadata.length; i++)\n\t\t\t{\n\t\t\t\tfor (let j = 0; j < data.filters.length; j++)\n\t\t\t\t{\n\t\t\t\t\tif (data.datasetMetadata[i].name == data.filters[j].name)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet filter = data.filters[j];\n\t\t\t\t\t\tfilter.type = data.datasetMetadata[i].type;\n\n\t\t\t\t\t\tthis.filterFields.push(filter);\n\t\t\t\t\t\t//break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\trender(response) {\n\t\t\tlet data = response;\n\n\t\t\tthis.setRenderData(data);\n\n\t\t\t// If the side menu is active\n\t\t\tif (this.sideMenu === true)\n\t\t\t{\n\t\t\t\tthis.setSideMenu(data);\n\t\t\t}\n\t\t\telse // otherwise use the dropdown in the filter options\n\t\t\t{\n\t\t\t\tthis.setDropDownMenu(data);\n\t\t\t}\n\t\t\tthis.updateTabulator();\n\t\t},\n\t\t/**\n\t\t * Set the menu\n\t\t */\n\t\tsetSideMenu(data) {\n\t\t\tlet filters = data.sideMenu.filters;\n\t\t\tlet personalFilters = data.sideMenu.personalFilters;\n\t\t\tlet filtersArray = [];\n\n\t\t\tfor (let filtersCount = 0; filtersCount < filters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = filters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: filters[filtersCount].filter_id,\n\t\t\t\t\tlink: link + filters[filtersCount].filter_id,\n\t\t\t\t\tdescription: filters[filtersCount].desc,\n\t\t\t\t\tsort: filtersCount,\n\t\t\t\t\tonClickCall: this.handlerGetFilterById\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfor (let filtersCount = 0; filtersCount < personalFilters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = personalFilters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: personalFilters[filtersCount].filter_id,\n\t\t\t\t\tlink: link + personalFilters[filtersCount].filter_id,\n\t\t\t\t\tdescription: personalFilters[filtersCount].desc,\n\t\t\t\t\tsubscriptDescription: personalFilters[filtersCount].subscriptDescription,\n\t\t\t\t\tsubscriptLinkClass: personalFilters[filtersCount].subscriptLinkClass,\n\t\t\t\t\tsubscriptLinkValue: personalFilters[filtersCount].subscriptLinkValue,\n\t\t\t\t\tsort: filtersCount,\n\t\t\t\t\tonClickCall: this.handlerGetFilterById,\n\t\t\t\t\tonClickSubscriptCall: this.handlerRemoveCustomFilter\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.availableFilters = filtersArray;\n\n\t\t\tthis.$emit(\n\t\t\t\t'nwNewEntry',\n\t\t\t\t{\n\t\t\t\t\tlink: \"#\",\n\t\t\t\t\tdescription: \"Filters\",\n\t\t\t\t\ticon: \"filter\",\n\t\t\t\t\tchildren: filtersArray\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t/**\n\t\t * Set the drop down menu\n\t\t */\n\t\tsetDropDownMenu(data) {\n\t\t\tlet filters = data.sideMenu.filters;\n\t\t\tlet personalFilters = data.sideMenu.personalFilters;\n\t\t\tlet filtersArray = [];\n\n\t\t\tfor (let filtersCount = 0; filtersCount < filters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = filters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: filters[filtersCount].filter_id,\n\t\t\t\t\toption: filters[filtersCount].filter_id,\n\t\t\t\t\tdescription: filters[filtersCount].desc\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfor (let filtersCount = 0; filtersCount < personalFilters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = personalFilters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: personalFilters[filtersCount].filter_id,\n\t\t\t\t\toption: personalFilters[filtersCount].filter_id,\n\t\t\t\t\tdescription: personalFilters[filtersCount].desc\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.availableFilters = filtersArray;\n\t\t},\n\t\t/**\n\t\t * Used to start/refresh the FetchCmpt\n\t\t */\n\t\tstartFetchCmpt(apiFunction, apiFunctionParameters, dataFetchedCallback) {\n\t\t\t// Assign the function api of the FetchCmpt binded property\n\t\t\tthis.fetchCmptApiFunction = apiFunction;\n\n\t\t\t// In case a null value is provided set the parameters as an empty object\n\t\t\tif (apiFunctionParameters == null) apiFunctionParameters = {};\n\n\t\t\t// Always needed parameters\n\t\t\tapiFunctionParameters.filterUniqueId = FHC_JS_DATA_STORAGE_OBJECT.called_path + \"/\" + FHC_JS_DATA_STORAGE_OBJECT.called_method;\n\t\t\tapiFunctionParameters.filterType = this.filterType;\n\n\t\t\tif (this.uniqueId)\n\t\t\t\tapiFunctionParameters.filterUniqueId += '_' + this.uniqueId;\n\n\t\t\t// Assign parameters to the FetchCmpt binded properties\n\t\t\tthis.fetchCmptApiFunctionParams = apiFunctionParameters;\n\t\t\t// Assign data fetch callback to the FetchCmpt binded properties\n\t\t\tthis.fetchCmptDataFetched = dataFetchedCallback;\n\t\t\t// Set the FetchCmpt binded property refresh to have the component to refresh\n\t\t\t// NOTE: this should be the last one to be called because it triggers the FetchCmpt to start to refresh\n\t\t\tthis.fetchCmptRefresh === true ? this.fetchCmptRefresh = false : this.fetchCmptRefresh = true;\n\t\t},\n\n\t\t// ------------------------------------------------------------------------------------------------------------------\n\t\t// Event handlers\n\n\t\t/**\n\t\t *\n\t\t */\n\t\thandlerSaveCustomFilter(customFilterName) {\n\t\t\tthis.selectedFilter = null;\n\t\t\t//\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.saveCustomFilter(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tcustomFilterName\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\thandlerRemoveCustomFilter(event) {\n\t\t\tlet filterId = event.currentTarget.getAttribute(\"href\").substring(1);\n\t\t\tif (filterId === this.selectedFilter)\n\t\t\t\tthis.selectedFilter = null;\n\t\t\t//\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.removeCustomFilter(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tfilterId: filterId\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\n\t\t/*\n\t\t *\n\t\t */\n\t\thandlerGetFilterById: function(event) {\n\n\t\t\tlet filterId = null;\n\n\t\t\t// Get the attribute href if side menu is rendered\n\t\t\tlet attr = event.currentTarget.getAttribute(\"href\");\n\n\t\t\t// Otherwise get the value of the drop down menu\n\t\t\tif (attr == null)\n\t\t\t{\n\t\t\t\tfilterId = event.currentTarget.value;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfilterId = attr.substring(1);\n\t\t\t}\n\n\t\t\tthis.switchFilter(filterId);\n\t\t},\n\t\tswitchFilter(filterId) {\n\t\t\tthis.selectedFilter = filterId;\n\t\t\tthis.getFilter();\n\t\t},\n\t\tapplyFilterConfig(filterFields) {\n\t\t\tthis.selectedFilter = null;\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.applyFilterFields(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tfilterFields\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\n\t\t// append child to it's parent\n\t\tappendChild(data, child) {\n\t\t\t// get parent id\n\t\t\tlet parentId = child[this.parentIdField];\n\n\t\t\t// loop thorugh all data\n\t\t\tfor (let parentIdx = 0; parentIdx < data.length; parentIdx++)\n\t\t\t{\n\t\t\t\tlet parent = data[parentIdx];\n\n\t\t\t\t// if it's the parent\n\t\t\t\tif (parent[this.idField] == parentId)\n\t\t\t\t{\n\t\t\t\t\t// create children array if not done yet\n\t\t\t\t\tif (!parent._children) parent._children = [];\n\n\t\t\t\t\t// if child is not included in children array, append the child\n\t\t\t\t\tif (!parent._children.includes(child)) parent._children.push(child);\n\n\t\t\t\t\t// parent found\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// search children for parents\n\t\t\t\telse if (parent._children) this.appendChild(parent._children, child);\n\t\t\t}\n\n\t\t\t// parent not found\n\t\t\treturn false;\n\t\t}\n\t},\n\tbeforeCreate() {\n\t\tif (!this.tableOnly == !this.filterType)\n\t\t\talert('You can not have a filter-type in table-only mode!');\n\t},\n\tcreated() {\n\t\tif (this.sideMenu && (!this.$props.onNwNewEntry || !(this.$props.onNwNewEntry instanceof Function)))\n\t\t\talert('\"nwNewEntry\" listener is mandatory when sideMenu is true');\n\t\tthis.uuid = _uuid++;\n\t\tthis.$emit('uuidDefined', this.uuid)\n\t},\n\tmounted() {\n\t\tthis.initTabulator().then(() => {\n\t\t\tif (!this.tableOnly) {\n\t\t\t\tthis.selectedFilter = window.location.hash ? window.location.hash.slice(1) : null;\n\t\t\t\tthis.render(this.fetchResult);\n\t\t\t}\n\t\t});\n\n\t},\n\ttemplate: `\n\t\t\n\t\t\n\t\t\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{{ title }}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ selectedData.length }} ausgewählt\n\t\t\t\t\t\t Mit {{ selectedData.length }} ausgewählten:\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
`\n};","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\t\n\tprofilViewData(uid) {\n\t\tlet url = \"/api/frontend/v1/Profil/profilViewData\";\n\t\tif(uid){\n\t\t\turl += `/${uid}`;\n\t\t}\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: url\n\t\t};\n\t},\n\tfotoSperre(value) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/Profil/fotoSperre/${value}`\n\t\t};\n\t\t\n\t},\n\tisStudent(uid) {\n\t\t// TODO(chris): seems to be called from nowhere?\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Profil/isStudent',\n\t\t\tparams: { uid }\n\t\t};\n\t},\n\tisMitarbeiter(uid) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/Profil/isMitarbeiter/${uid}`\n\t\t};\n\t},\n\tgetZustellAdresse() {\n\t\t// TODO(chris): seems to be called from nowhere?\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Profil/getZustellAdresse'\n\t\t};\n\t},\n\tgetZustellKontakt() {\n\t\t// TODO(chris): seems to be called from nowhere?\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Profil/getZustellKontakt'\n\t\t};\n\t},\n\tgetGemeinden(nation, zip) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/Profil/getGemeinden/${nation}/${zip}`\n\t\t};\n\t\t\n\t},\n\tgetAllNationen() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Profil/getAllNationen'\n\t\t};\n\t},\n};","import DmsItem from './Dms/Item.js';\n\nexport default {\n\tcomponents: {\n\t\tDmsItem\n\t},\n\temits: [\n\t\t'update:modelValue'\n\t],\n\tprops: {\n\t\tmodelValue: {\n\t\t\ttype: [ FileList, Array ],\n\t\t\trequired: true\n\t\t},\n\t\tmultiple: Boolean,\n\t\tid: String,\n\t\tname: String,\n\t\tinputClass: [String, Array, Object],\n\t\tnoList: Boolean,\n\t\taccept: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t},\n\tmethods: {\n\t\tstringifyFile(file) {\n\t\t\treturn JSON.stringify({\n\t\t\t\tlastModified: file.lastModified,\n\t\t\t\tlastModifiedDate: file.lastModifiedDate,\n\t\t\t\tname: file.name,\n\t\t\t\tsize: file.size,\n\t\t\t\ttype: file.type\n\t\t\t});\n\t\t},\n\t\taddFiles(event) {\n\t\t\tif (!this.multiple)\n\t\t\t\treturn this.$emit('update:modelValue', event.target.files);\n\t\t\t\n\t\t\tconst dt = new DataTransfer();\n\t\t\tconst doubles = [];\n\t\t\tfor (var file of this.modelValue) {\n\t\t\t\tdt.items.add(file);\n\t\t\t\tdoubles.push(this.stringifyFile(file));\n\t\t\t}\n\t\t\tfor (var file of event.target.files) {\n\t\t\t\t// NOTE(chris): deep check (with FileReader) would require an async function so we only check the basic attributes\n\t\t\t\tif (doubles.indexOf(this.stringifyFile(file)) < 0)\n\t\t\t\t\tdt.items.add(file);\n\t\t\t}\n\t\t\tthis.$emit('update:modelValue', dt.files);\n\t\t},\n\t\tremoveFile(id) {\n\t\t\tconst fileToRemove = Array.from(this.modelValue)[id];\n\t\t\t\n\t\t\tconst dt = new DataTransfer();\n\t\t\tfor (var file of this.modelValue) {\n\t\t\t\tif (file !== fileToRemove)\n\t\t\t\t\tdt.items.add(file);\n\t\t\t}\n\t\t\tthis.$emit('update:modelValue', dt.files);\n\t\t}\n\t},\n\twatch: {\n\t\tmodelValue(n) {\n\t\t\tif (!n)\n\t\t\t\treturn;\n\t\t\tif (n instanceof FileList) {\n\t\t\t\tif (!this.$refs.upload) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn this.$refs.upload.files = n;\n\t\t\t}\n\n\t\t\tconst dt = new DataTransfer();\n\t\t\tconst dms = [];\n\t\t\tfor (var file of n) {\n\t\t\t\tif (file instanceof File) {\n\t\t\t\t\tdt.items.add(file);\n\t\t\t\t} else {\n\t\t\t\t\tconst dmsFile = new File([JSON.stringify(file)], file.name, {\n\t\t\t\t\t\ttype: 'application/x.fhc-dms+json'\n\t\t\t\t\t});\n\t\t\t\t\tdt.items.add(dmsFile);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit('update:modelValue', dt.files);\n\t\t}\n\t},\n\ttemplate: `\n\t
`\n}\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\t//! API calls for profil update requests\n\tgetStatus() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/getStatus'\n\t\t};\n\t},\n\tgetTopic() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/getTopic'\n\t\t};\n\t},\n\tacceptProfilRequest({profil_update_id, uid, status_message, topic, requested_change}) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/acceptProfilRequest',\n\t\t\tparams: {\n\t\t\t\tprofil_update_id,\n\t\t\t\tuid,\n\t\t\t\tstatus_message,\n\t\t\t\ttopic,\n\t\t\t\trequested_change\n\t\t\t}\n\t\t};\n\t},\n\tdenyProfilRequest({profil_update_id, uid, topic, status_message}) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/denyProfilRequest',\n\t\t\tparams: {\n\t\t\t\tprofil_update_id,\n\t\t\t\tuid,\n\t\t\t\ttopic,\n\t\t\t\tstatus_message\n\t\t\t}\n\t\t};\n\t},\n\tinsertFile(dms, replace = null) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: `/api/frontend/v1/ProfilUpdate/insertFile/${replace}`,\n\t\t\tparams: dms\n\t\t};\n\t},\n\tupdateProfilbild(dms) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: `/api/frontend/v1/ProfilUpdate/updateProfilbild`,\n\t\t\tparams: dms\n\t\t};\n\t},\n\tgetProfilUpdateWithPermission(filter) {\n\t\tconst url_filter = (filter !== '') ? '/' + encodeURIComponent(filter) : '';\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/getProfilUpdateWithPermission' + url_filter\n\t\t};\n\t},\n\tgetProfilRequestFiles(requestID) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/ProfilUpdate/getProfilRequestFiles/${requestID}`\n\t\t};\n\t},\n\tselectProfilRequest(uid = null, id = null) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/selectProfilRequest',\n\t\t\tparams: {\n\t\t\t\t...(uid ? { uid } : {}),\n\t\t\t\t...(id ? { id } : {})\n\t\t\t}\n\t\t};\n\t},\n\tinsertProfilRequest(topic, payload, fileID = null) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/insertProfilRequest',\n\t\t\tparams: {\n\t\t\t\ttopic,\n\t\t\t\tpayload,\n\t\t\t\t...(fileID ? { fileID } : {})\n\t\t\t}\n\t\t};\n\t},\n\tupdateProfilRequest(topic, payload, ID, fileID = null) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/updateProfilRequest',\n\t\t\tparams: {\n\t\t\t\ttopic,\n\t\t\t\tpayload,\n\t\t\t\tID,\n\t\t\t\t...(fileID ? { fileID } : {})\n\t\t\t}\n\t\t};\n\t},\n\tdeleteProfilRequest(requestID) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/deleteProfilRequest',\n\t\t\tparams: { requestID }\n\t\t};\n\t}\n};","import Dms from \"../../../../Form/Upload/Dms.js\";\nimport BsModal from \"../../../../Bootstrap/Modal.js\";\n\nimport ApiProfilUpdate from '../../../../../api/factory/profilUpdate.js';\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tdmsData: [],\n\t\t};\n\t},\n\tcomponents: {\n\t\tDms,\n\t\tBsModal,\n\t},\n\tmixins: [BsModal],\n\tprops: {\n\t\ttitel: {\n\t\t\ttype: String,\n\t\t},\n\t\tfiles: {\n\t\t\ttype: Array,\n\t\t},\n\t\tupdateID: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\tonHideBsModal: Function,\n\t\tonHiddenBsModal: Function,\n\t\tonHidePreventedBsModal: Function,\n\t\tonShowBsModal: Function,\n\t\tonShownBsModal: Function,\n\t},\n\tmethods:{\n\t\tasync uploadImage(){\n\t\t\tif(this.dmsData){\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"files[]\", this.dmsData[0]);\n\t\t\t\tawait this.$api\n\t\t\t\t\t.call(ApiProfilUpdate.updateProfilbild(formData))\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.$fhcAlert.alertSuccess(this.$p.t('global','hochgeladen'));\n\t\t\t\t\t\tthis.modal.hide();\n\t\t\t\t\t});\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.modal = this.$refs.modalContainer.modal;\n\t\tif (this.files) {\n\t\t\tthis.dmsData = this.files;\n\t\t}\n\t},\n\tpopup(options) {\n\t\t\tBsModal.popup.bind(this);\n\t\t\treturn BsModal.popup(null, options);\n\t},\n\ttemplate: /*html*/`\n\n\t\n\t\t\n\t\t\t
\n`,\n};\n","import Kontakt from \"../ProfilComponents/Kontakt.js\";\nimport EditKontakt from \"./EditProfilComponents/EditKontakt.js\";\nimport Adresse from \"../ProfilComponents/Adresse.js\";\nimport EditAdresse from \"./EditProfilComponents/EditAdresse.js\";\nimport Status from \"./EditProfilComponents/Status.js\";\nimport TextInputDokument from \"./EditProfilComponents/TextInputDokument.js\";\n\nexport default {\n\tname: 'EditProfilSelect',\n\tcomponents: {\n\t\tKontakt,\n\t\tEditKontakt,\n\t\tAdresse,\n\t\tEditAdresse,\n\t\tStatus,\n\t\tTextInputDokument,\n\t},\n\tinject: [\"profilUpdateTopic\", \"isMitarbeiter\"],\n\tprops: {\n\t\tlist: Object,\n\n\t\t//? Prop used to determine how many options the select should initially show\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\t//? Content for the aria label of the select\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprofilUpdate: String,\n\t\ttopic: String,\n\t\tbreadcrumb: String,\n\t},\n\temits: {\n\t\t//? update:modelValue event is needed to notify the v-model when the value has changed\n\t\t[\"update:profilUpdate\"]: null,\n\t\t[\"update:topic\"]: null,\n\t\t[\"update:breadcrumb\"]: null,\n\t\tsubmit: null,\n\t\tselect: null,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tview: null,\n\t\t\tdata: null,\n\t\t\tbreadcrumbItems: [],\n\t\t\tmodal_topic: this.topic,\n\t\t\tproperties: null,\n\t\t};\n\t},\n\n\tmethods: {\n\t\taddItem: function () {\n\t\t\tthis.view =\n\t\t\t\tthis.modal_topic == this.profilUpdateTopic[\"Private Kontakte\"]\n\t\t\t\t\t? \"EditKontakt\"\n\t\t\t\t\t: \"EditAdresse\";\n\n\t\t\t//? updates the topic when a Kontakt or an Address should be added\n\t\t\tthis.modal_topic =\n\t\t\t\tthis.modal_topic == this.profilUpdateTopic[\"Private Kontakte\"]\n\t\t\t\t\t? this.profilUpdateTopic[\"Add Kontakt\"]\n\t\t\t\t\t: this.profilUpdateTopic[\"Add Adresse\"];\n\t\t\tthis.$emit(\"update:topic\", this.modal_topic);\n\t\t\tthis.breadcrumbItems.push(this.modal_topic);\n\t\t\tthis.$emit(\"update:breadcrumb\", this.breadcrumbItems);\n\n\t\t\tthis.data =\n\t\t\t\tthis.view == \"EditAdresse\"\n\t\t\t\t\t? {\n\t\t\t\t\t\t//? add flag\n\t\t\t\t\t\tadd: true,\n\t\t\t\t\t\tadresse_id: null,\n\t\t\t\t\t\tstrasse: null,\n\t\t\t\t\t\ttyp: null,\n\t\t\t\t\t\tplz: null,\n\t\t\t\t\t\tort: null,\n\t\t\t\t\t\tzustelladresse: false,\n\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t//? add flag\n\t\t\t\t\t\tadd: true,\n\t\t\t\t\t\tkontakt_id: null,\n\t\t\t\t\t\tkontakttyp: null,\n\t\t\t\t\t\tkontakt: null,\n\t\t\t\t\t\tanmerkung: null,\n\t\t\t\t\t\tzustellung: false,\n\t\t\t\t\t};\n\t\t},\n\n\t\tdeleteItem: function (item) {\n\t\t\t//? delete flag\n\t\t\titem.data.delete = true;\n\t\t\tthis.$emit(\"update:profilUpdate\", item.data);\n\t\t\t//? updates the topic when a Kontakt or an Address should be deleted\n\n\t\t\tthis.modal_topic = this.modal_topic == this.profilUpdateTopic[\"Private Adressen\"]\n\t\t\t\t? this.profilUpdateTopic[\"Delete Adresse\"]\n\t\t\t\t: this.profilUpdateTopic[\"Delete Kontakt\"];\n\t\t\tthis.$emit(\"update:topic\", this.modal_topic);\n\t\t\tthis.$emit(\"submit\");\n\t\t},\n\n\t\tprofilUpdateEmit: function (event) {\n\t\t\t//? passes the updated profil information to the parent component\n\t\t\tthis.$emit(\"update:profilUpdate\", event);\n\t\t},\n\n\t\tupdateOptions: function (event, item) {\n\t\t\tthis.properties = item;\n\t\t\tthis.data = item.data;\n\t\t\tthis.view = item.view;\n\t\t\tif (item.title) {\n\t\t\t\t//? emits the selected topic to the parent component\n\t\t\t\tthis.modal_topic = item.topic;\n\t\t\t\tthis.$emit(\"update:topic\", this.modal_topic);\n\n\t\t\t\t//? emits the new item for the breadcrumb in the parent component\n\t\t\t\tthis.breadcrumbItems.push(item.title);\n\t\t\t} else {\n\t\t\t\tif (item.data.kontakttyp) {\n\t\t\t\t\tthis.breadcrumbItems.push(item.data.kontakttyp);\n\t\t\t\t\tthis.breadcrumbItems.push(item.data.kontakt);\n\t\t\t\t} else if (item.data.strasse) {\n\t\t\t\t\tthis.breadcrumbItems.push(item.data.strasse);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"update:breadcrumb\", this.breadcrumbItems);\n\t\t},\n\t},\n\tcomputed: {},\n\tcreated() {\n\t\t//? JSON parse and stringify are used to deep clone the objects\n\t\tthis.properties = {...this.list};\n\t\tthis.data = this.list.data\n\t\t\t? JSON.parse(JSON.stringify(this.list.data))\n\t\t\t: null;\n\t\tthis.view = this.list.view\n\t\t\t? JSON.parse(JSON.stringify(this.list.view))\n\t\t\t: null;\n\t},\n\tmounted() {\n\t},\n\n\ttemplate: /*html*/ `\n \n
\n \n
\n \n \n
\n \n
\n
\n \n
\n \n \n \n \n `,\n};\n","export default {\n props: {\n data: Object,\n },\n\n data() {\n return {\n originalValue: null,\n zustellKontakteCount: null,\n };\n },\n\n inject: [\"getZustellkontakteCount\"],\n\n methods: {\n updateValue: function (event, bind) {\n if (bind === \"zustellung\") {\n this.data[bind] = event.target.checked;\n } else {\n //? sets the value of a property to null when an empty string is entered to keep the isChanged function valid\n this.data[bind] = event.target.value === \"\" ? null : event.target.value;\n }\n this.$emit(\"profilUpdate\", this.isChanged ? this.data : null);\n this.zustellKontakteCount = this.getZustellkontakteCount();\n },\n },\n\n computed: {\n showZustellKontakteWarning: function () {\n\t // if the kontakt is already a zustellungskontakt when the user is editing the kontakt, then no warning is shown and the zustellung will be overwritten\n\t if (JSON.parse(this.originalValue).zustellung) {\n\t return false;\n\t }\n\t const kontakteOfSelectedType = this.zustellKontakteCount.filter((element) => {\n\t\t return element.kontakttyp === this.data?.kontakttyp\n\t });\n // if zustellKontakteCount is not 0 and the own kontakt has the flag zustellung set to true\n if (!this.zustellKontakteCount.some((element) => element.kontakt_id === this.data.kontakt_id)) {\n return this.data.zustellung && kontakteOfSelectedType.length;\n }\n return this.kontakteOfSelectedType.length >= 2 && this.data.zustellung;\n },\n isChanged: function () {\n //? returns true if the original passed data object was changed\n if (!this.data.kontakt || !this.data.kontakttyp) {\n return false;\n }\n return JSON.stringify(this.data) !== this.originalValue;\n },\n },\n\n created() {\n this.originalValue = JSON.stringify(this.data);\n this.zustellKontakteCount = this.getZustellkontakteCount();\n },\n \n template:\n /*html*/\n `\n\n
\n `,\n};\n","import BsModal from './Bootstrap/Modal.js';\n\nexport default {\n\tcomponents: {\n\t\tBsModal\n\t},\n\tprops: {\n\t\ttimeout: {\n\t\t\ttype: Number,\n\t\t\tdefault: 300\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tt: null,\n\t\t\tstate: 0\n\t\t}\n\t},\n\tmethods: {\n\t\tshow() {\n\t\t\tswitch (this.state) {\n\t\t\t\tcase 0:\n\t\t\t\t\tif (this.timeout) {\n\t\t\t\t\t\tthis.state = 1;\n\t\t\t\t\t\tthis.t = window.setTimeout(() => this.$refs.modal.show(), this.timeout);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else\n\t\t\t\t\t\treturn this.$refs.modal.show();\n\t\t\t\tcase 4:\n\t\t\t\t\treturn window.setTimeout(() => this.show(), 1);\n\t\t\t}\n\t\t},\n\t\thide() {\n\t\t\tswitch (this.state) {\n\t\t\t\tcase 1:\n\t\t\t\t\treturn window.clearTimeout(this.t);\n\t\t\t\tcase 2:\n\t\t\t\t\treturn window.setTimeout(() => this.hide(), 1);\n\t\t\t\tcase 3:\n\t\t\t\t\tthis.$refs.modal.hide();\n\t\t\t}\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.$refs.modal.$refs.modal.addEventListener('show.bs.modal', () => {\n\t\t\tthis.state = 2;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('shown.bs.modal', () => {\n\t\t\tthis.state = 3;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('hide.bs.modal', () => {\n\t\t\tthis.state = 4;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('hidden.bs.modal', () => {\n\t\t\tthis.state = 0;\n\t\t});\n\t},\n\ttemplate: `\n\t\n\t\tLoading...\n\t`\n}","import BsModal from \"../../../Bootstrap/Modal.js\";\nimport Alert from \"../../../Bootstrap/Alert.js\";\nimport EditProfilSelect from \"./EditProfilSelect.js\";\nimport Loader from \"../../../Loader.js\";\n\nimport ApiProfilUpdate from '../../../../api/factory/profilUpdate.js';\n\nexport default {\n\tcomponents: {\n\t\tBsModal,\n\t\tAlert,\n\t\tEditProfilSelect,\n\t\tLoader,\n\t},\n\tmixins: [BsModal],\n\tprops: {\n\t\tisMitarbeiter: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tvalue: Object,\n\t\ttitel: String,\n\t\tzustelladressenCount: Function,\n\t\tzustellkontakteCount: Function,\n\t\t/*\n\t\t * NOTE(chris):\n\t\t * Hack to expose in \"emits\" declared events to $props which we use\n\t\t * in the v-bind directive to forward all events.\n\t\t * @see: https://github.com/vuejs/core/issues/3432\n\t\t */\n\t\tonHideBsModal: Function,\n\t\tonHiddenBsModal: Function,\n\t\tonHidePreventedBsModal: Function,\n\t\tonShowBsModal: Function,\n\t\tonShownBsModal: Function,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\ttopic: null,\n\t\t\tprofilUpdate: null,\n\t\t\teditData: this.value,\n\t\t\tfileID: null,\n\t\t\tbreadcrumb: null,\n\t\t\tloading: false,\n\t\t\tresult: false,\n\t\t\tinfo: null,\n\t\t};\n\t},\n\tinject: [\"setLoading\"],\n\tprovide() {\n\t\treturn {\n\t\t\tupdateFileID: this.updateFileIDFunction,\n\t\t\tisMitarbeiter: this.isMitarbeiter\n\t\t};\n\t},\n\n\tmethods: {\n\t\tupdateFileIDFunction: function (newFileID) {\n\t\t\tthis.fileID = newFileID;\n\t\t},\n\n\t\thandleFailedError: function (err) {\n\t\t\tconsole.error(err);\n\t\t\tthis.loading = false;\n\t\t\tthis.setLoading(false);\n\t\t\tthis.result = false;\n\t\t\tthis.hide();\n\t\t},\n\n\t\tasync submitProfilChange() {\n\n\t\t\t//? check if data is valid before making a request\n\t\t\tif (this.topic && this.profilUpdate) {\n\t\t\t\t//? if profil update contains any attachment\n\t\t\t\tif (this.fileID) {\n\t\t\t\t\tconst fileData = await this.uploadFiles(this.fileID);\n\n\t\t\t\t\tthis.fileID = fileData ? fileData : null;\n\t\t\t\t}\n\n\t\t\t\t//? inserts new row in public.tbl_cis_profil_update\n\t\t\t\t//* calls the update api call if an update field is present in the data that was passed to the modal\n\t\t\t\tconst handleApiResponse = (res) => {\n\t\t\t\t\t//? toggles the loading to false and closes the loading modal\n\t\t\t\t\tif (res.data.error) {\n\t\t\t\t\t\tthis.result = false;\n\t\t\t\t\t\tAlert.popup(\n\t\t\t\t\t\t\t\"Ein Fehler ist aufgetreten: \" + JSON.stringify(res.data.retval)\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.result = true;\n\t\t\t\t\t\tAlert.popup(\n\t\t\t\t\t\t\t\"Ihre Anfrage wurde erfolgreich gesendet. Bitte warten Sie, während sich das Team um Ihre Anfrage kümmert.\"\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\t//* v-show on EditProfil modal binded to this.loading\n\t\t\t\t//? hides the EditProfil modal and shows the loading modal by calling a callback that was passed as prop from the parent component\n\t\t\t\tthis.loading = true;\n\t\t\t\tthis.setLoading(true);\n\n\t\t\t\t//? if an updateID is present, updateProfilRequest is called, else insertProfilRequest is called\n\t\t\t\tthis.editData.updateID ?\n\t\t\t\t\tthis.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.updateProfilRequest(\n\t\t\t\t\t\t\tthis.topic,\n\t\t\t\t\t\t\tthis.profilUpdate,\n\t\t\t\t\t\t\tthis.editData.updateID,\n\t\t\t\t\t\t\tthis.fileID ? this.fileID[0] : null\n\t\t\t\t\t\t))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\thandleApiResponse(res);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => this.$fhcAlert.handleSystemError)\n\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\tthis.loading = false;\n\t\t\t\t\t\t\tthis.setLoading(false);\n\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t\t})\n\t\t\t\t\t:\n\t\t\t\t\tthis.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.insertProfilRequest(\n\t\t\t\t\t\t\tthis.topic,\n\t\t\t\t\t\t\tthis.profilUpdate,\n\t\t\t\t\t\t\tthis.fileID ? this.fileID[0] : null\n\t\t\t\t\t\t))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\thandleApiResponse(res);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => this.$fhcAlert.handleSystemError)\n\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\tthis.loading = false;\n\t\t\t\t\t\t\tthis.setLoading(false);\n\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\tuploadFiles: async function (files) {\n\t\t\tif (files[0].type !== \"application/x.fhc-dms+json\") {\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"files[]\", files[0]);\n\t\t\t\tconst result = this.editData.updateID\n\t\t\t\t\t? //? updating old attachment by replacing\n\t\t\t\t\t //* second parameter of api request insertFile checks if the file has to be replaced or not\n\t\t\t\t\tawait this.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.insertFile(\n\t\t\t\t\t\t\tformData,\n\t\t\t\t\t\t\tthis.editData.updateID\n\t\t\t\t\t\t))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\treturn res.data?.map((file) => file.dms_id);\n\t\t\t\t\t\t})\n\t\t\t\t\t: //? fresh insert of new attachment\n\t\t\t\t\tawait this.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.insertFile(formData))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\treturn res.data?.map((file) => file.dms_id);\n\t\t\t\t\t\t});\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\t//? attachment hasn't been replaced\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\tshowFooter: function () {\n\t\t\tswitch (this.value.view) {\n\t\t\t\tcase 'Status':\n\t\t\t\t\treturn false;\n\t\t\t\tcase 'Kontakt':\n\t\t\t\t\treturn false;\n\t\t\t\tcase 'Adresse':\n\t\t\t\t\treturn false;\n\t\t\t\tdefault:\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.editData.topic) {\n\t\t\t//? if the topic was passed through the prop add it to the component\n\t\t\tthis.topic = this.editData.topic;\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.modal = this.$refs.modalContainer.modal;\n\t},\n\tpopup(options) {\n\t\tBsModal.popup.bind(this);\n\t\treturn BsModal.popup(null, options);\n\t},\n\ttemplate: /*html*/ `\n\n\t{{titel}}\n\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\n\t\n\t\n\t\t\n\t\t \n\t\t\n\t\n \n`,\n};\n","import EditProfil from \"../ProfilModal/EditProfil.js\";\n\nimport ApiProfil from '../../../../api/factory/profil.js';\nimport ApiProfilUpdate from '../../../../api/factory/profilUpdate.js';\n\n//? EditProfil is the modal used to edit the profil updates\nexport default {\n\tcomponents: {EditProfil},\n\tprops: {\n\t\tdata: {\n\t\t\ttype: Object,\n\t\t},\n\t},\n\n\tinject: [\n\t\t\"getZustellkontakteCount\",\n\t\t\"getZustelladressenCount\",\n\t\t\"profilUpdateStates\",\n\t\t\"profilUpdateTopic\",\n\t],\n\n\temits: [\"fetchUpdates\"],\n\n\tdata() {\n\t\treturn {\n\t\t\tshowUpdateModal: false,\n\t\t\tcontent: null,\n\t\t\teditProfilTitle: this.$p.t(\"profil\", \"profilBearbeiten\"),\n\t\t};\n\t},\n\n\tmethods: {\n\t\thideEditProfilModal: function () {\n\t\t\t//? checks the editModal component property result, if the user made a successful request or not\n\t\t\tif (this.$refs.updateEditModal.result) {\n\t\t\t\tthis.$emit(\"fetchUpdates\");\n\t\t\t} else {\n\t\t\t\t// when modal was closed without submitting request\n\t\t\t}\n\t\t\tthis.showUpdateModal = false;\n\t\t},\n\n\t\tasync showEditProfilModal(updateRequest) {\n\n\t\t\tlet view = this.getView(updateRequest.topic, updateRequest.status);\n\n\t\t\tlet data = null;\n\t\t\tlet content = null;\n\t\t\tlet files = null;\n\t\t\tlet withFiles = false;\n\n\t\t\tif (view === \"TextInputDokument\") {\n\t\t\t\tdata = {\n\t\t\t\t\ttitel: updateRequest.topic,\n\t\t\t\t\tvalue: updateRequest.requested_change.value,\n\t\t\t\t};\n\n\t\t\t\tconst filesFromDatabase =\n\t\t\t\t\tawait this.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.getProfilRequestFiles(\n\t\t\t\t\t\t\tupdateRequest.profil_update_id\n\t\t\t\t\t\t))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\treturn res.data;\n\t\t\t\t\t\t});\n\n\t\t\t\tfiles = filesFromDatabase;\n\t\t\t\tif (files) {\n\t\t\t\t\twithFiles = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdata = updateRequest.requested_change;\n\t\t\t}\n\n\t\t\tcontent = {\n\t\t\t\tupdateID: updateRequest.profil_update_id,\n\t\t\t\tview: view,\n\t\t\t\tdata: data,\n\t\t\t\twithFiles: withFiles,\n\t\t\t\ttopic: updateRequest.topic,\n\t\t\t\tfiles: files,\n\t\t\t};\n\n\t\t\tif (view === \"EditAdresse\") {\n\n\t\t\t\tconst isMitarbeiter = await this.$api.call(ApiProfil.isMitarbeiter(updateRequest.uid)).then((res) => res.data);\n\n\t\t\t\tif (isMitarbeiter) {\n\t\t\t\t\tcontent[\"isMitarbeiter\"] = isMitarbeiter;\n\t\t\t\t}\n\n\t\t\t\tconst filesFromDatabase =\n\t\t\t\t\tawait this.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.getProfilRequestFiles(\n\t\t\t\t\t\t\tupdateRequest.profil_update_id\n\t\t\t\t\t\t))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\treturn res.data;\n\t\t\t\t\t\t});\n\n\t\t\t\tfiles = filesFromDatabase;\n\t\t\t\tcontent[\"files\"] = files;\n\t\t\t}\n\n\t\t\t//? adds the status information if the profil update request was rejected or accepted\n\t\t\tif (updateRequest.status !== this.profilUpdateStates[\"Pending\"]) {\n\t\t\t\tcontent[\"status\"] = updateRequest.status;\n\t\t\t\tcontent[\"status_message\"] = updateRequest.status_message;\n\t\t\t\tcontent[\"status_timestamp\"] = updateRequest.status_timestamp;\n\t\t\t}\n\n\t\t\t//? update data of the reactive content\n\t\t\tthis.content = content;\n\t\t\tthis.editProfilTitle = updateRequest.topic;\n\n\t\t\t//? only show the popup if also the right content is available\n\t\t\tif (content) {\n\t\t\t\tthis.showUpdateModal = true;\n\t\t\t\t// after a state change, wait for the DOM updates to complete\n\t\t\t\tVue.nextTick(() => {\n\t\t\t\t\tthis.$refs.updateEditModal.show();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\tdeleteRequest: function (item) {\n\t\t\tthis.$api\n\t\t\t\t.call(ApiProfilUpdate.deleteProfilRequest(item.profil_update_id))\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (res.data.error) {\n\t\t\t\t\t\t//? open alert\n\t\t\t\t\t\tconsole.error(\"error happened\", res.data);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$emit(\"fetchUpdates\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\n\t\tgetView: function (topic, status) {\n\t\t\tif (!(status === this.profilUpdateStates[\"Pending\"])) {\n\t\t\t\treturn \"Status\";\n\t\t\t}\n\n\t\t\tswitch (topic) {\n\t\t\t\tcase this.profilUpdateTopic[\"Private Kontakte\"]:\n\t\t\t\t\treturn \"EditKontakt\";\n\t\t\t\tcase this.profilUpdateTopic[\"Add Kontakt\"]:\n\t\t\t\t\treturn \"EditKontakt\";\n\t\t\t\tcase this.profilUpdateTopic[\"Delete Kontakt\"]:\n\t\t\t\t\treturn \"Kontakt\";\n\t\t\t\tcase this.profilUpdateTopic[\"Private Adressen\"]:\n\t\t\t\t\treturn \"EditAdresse\";\n\t\t\t\tcase this.profilUpdateTopic[\"Add Adresse\"]:\n\t\t\t\t\treturn \"EditAdresse\";\n\t\t\t\tcase this.profilUpdateTopic[\"Delete Adresse\"]:\n\t\t\t\t\treturn \"Adresse\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"TextInputDokument\";\n\t\t\t}\n\t\t},\n\n\t},\n\tcreated() {\n\t},\n\n\tcomputed: {},\n\n\ttemplate: /*html*/ `\n
\n`,\n};\n","import StudentProfil from \"./StudentProfil.js\";\nimport MitarbeiterProfil from \"./MitarbeiterProfil.js\";\nimport ViewStudentProfil from \"./StudentViewProfil.js\";\nimport ViewMitarbeiterProfil from \"./MitarbeiterViewProfil.js\";\nimport Loading from \"../../Loader.js\";\n\nimport ApiProfil from '../../../api/factory/profil.js';\nimport ApiProfilUpdate from '../../../api/factory/profilUpdate.js';\n\nVue.$collapseFormatter = function (data) {\n\t//data - an array of objects containing the column title and value for each cell\n\tvar container = document.createElement(\"div\");\n\tcontainer.classList.add(\"tabulator-collapsed-row\");\n\tcontainer.classList.add(\"text-break\");\n\n\tvar list = document.createElement(\"div\");\n\tlist.classList.add(\"row\");\n\n\tcontainer.appendChild(list);\n\n\tdata.forEach(function (col) {\n\t\tlet item = document.createElement(\"div\");\n\t\titem.classList.add(\"col-6\");\n\t\tlet item2 = document.createElement(\"div\");\n\t\titem2.classList.add(\"col-6\");\n\n\t\titem.innerHTML = \"\" + col.title + \"\";\n\t\titem2.innerHTML = col.value ? col.value : \"-\";\n\n\t\tlist.appendChild(item);\n\t\tlist.appendChild(item2);\n\t});\n\n\treturn Object.keys(data).length ? container : \"\";\n};\n\nexport const Profil = {\n\tname: 'Profil',\n\tcomponents: {\n\t\tStudentProfil,\n\t\tMitarbeiterProfil,\n\t\tViewStudentProfil,\n\t\tViewMitarbeiterProfil,\n\t\tLoading,\n\t},\n\tprops: {\n\t\tuid: {\n\t\t\ttype: String,\n\t\t\trequired:false,\n\t\t},\n\t\tviewData: {\n\t\t\ttype: Object,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\t//? loading property is used for showing/hiding the loading modal\n\t\t\tloading: false,\n\t\t\tprofilUpdateStates: null,\n\t\t\tprofilUpdateTopic: null,\n\t\t\tview: null,\n\t\t\tdata: null,\n\t\t\t// notfound is null by default, but contains an UID if no user exists with that UID\n\t\t\tnotFoundUID: null,\n\t\t\tisEditable: this.viewData.editable ?? false,\n\t\t};\n\t},\n\tprovide() {\n\t\treturn {\n\t\t\tisEditable: Vue.computed(()=>this.isEditable),\n\t\t\tprofilUpdateStates: Vue.computed(() =>\n\t\t\t\tthis.profilUpdateStates ? this.profilUpdateStates : false\n\t\t\t),\n\t\t\tprofilUpdateTopic: Vue.computed(() =>\n\t\t\t\tthis.profilUpdateTopic ? this.profilUpdateTopic : false\n\t\t\t),\n\t\t\tsetLoading: (newValue) => {\n\t\t\t\tthis.loading = newValue;\n\t\t\t},\n\t\t\tgetZustellkontakteCount: this.zustellKontakteCount,\n\t\t\tgetZustelladressenCount: this.zustellAdressenCount,\n\t\t\tcollapseFunction: (e, column) => {\n\t\t\t\t//* check if property doesn't exist already and add it to the reactive this properties\n\t\t\t\tif (this[e.target.id] === undefined) {\n\t\t\t\t\tthis[e.target.id] = true;\n\t\t\t\t}\n\t\t\t\tthis[e.target.id] = !this[e.target.id];\n\n\t\t\t\t//* gets all event icons of the different rows to use the onClick event later\n\t\t\t\tlet allClickableIcons = column._column.cells.map((row) => {\n\t\t\t\t\treturn row.element.children[0];\n\t\t\t\t});\n\n\t\t\t\t//* changes the icon that shows or hides all the collapsed columns\n\t\t\t\t//* if the replace function does not find the class to replace, it just simply returns false\n\t\t\t\tif (this[e.target.id]) {\n\t\t\t\t\te.target.classList.replace(\"fa-angle-up\", \"fa-angle-down\");\n\t\t\t\t} else {\n\t\t\t\t\te.target.classList.replace(\"fa-angle-down\", \"fa-angle-up\");\n\t\t\t\t}\n\n\t\t\t\t//* changes the icon for every collapsed column to open or closed\n\t\t\t\tif (this[e.target.id]) {\n\t\t\t\t\tallClickableIcons\n\t\t\t\t\t\t.filter((column) => {\n\t\t\t\t\t\t\treturn !column.classList.contains(\"open\");\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.forEach((col) => {\n\t\t\t\t\t\t\tcol.click();\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tallClickableIcons\n\t\t\t\t\t\t.filter((column) => {\n\t\t\t\t\t\t\treturn column.classList.contains(\"open\");\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.forEach((col) => {\n\t\t\t\t\t\t\tcol.click();\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tsortProfilUpdates: (ele1, ele2) => {\n\t\t\t\tlet result = 0;\n\t\t\t\tif (ele1.status.toLowerCase() === \"pending\") {\n\t\t\t\t\tresult = -1;\n\t\t\t\t} else if (ele1.status.toLowerCase() === \"accepted\") {\n\t\t\t\t\tresult = ele2.status.toLowerCase() === \"rejected\" ? -1 : 1;\n\t\t\t\t} else {\n\t\t\t\t\tresult = 1;\n\t\t\t\t}\n\t\t\t\t//? if they have the same status the insert date is used for ordering\n\t\t\t\tif (ele1.status === ele2.status) {\n\t\t\t\t\tresult =\n\t\t\t\t\t\tnew Date(ele2.insertamum.split(\".\").reverse().join(\"-\")) -\n\t\t\t\t\t\tnew Date(ele1.insertamum.split(\".\").reverse().join(\"-\"));\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\t\t};\n\t},\n\tmethods: {\n\t\tasync load() {\n\t\t\t// fetch profilUpdateStates to provide them to children components\n\t\t\tawait this.$api\n\t\t\t\t.call(ApiProfilUpdate.getStatus())\n\t\t\t\t.then((response) => {\n\t\t\t\t\tthis.profilUpdateStates = response.data;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t});\n\n\t\t\tthis.$api\n\t\t\t\t.call(ApiProfilUpdate.getTopic())\n\t\t\t\t.then((response) => {\n\t\t\t\t\tthis.profilUpdateTopic = response.data;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t});\n\t\t\t\n\t\t\t\n\t\t\tthis.$api\n\t\t\t\t.call(ApiProfil.profilViewData(this.$route.params.uid??null))\n\t\t\t\t.then((response) => response.data).then(data=>{\n\t\t\t\t\tthis.view = data?.profil_data.view;\n\t\t\t\t\tthis.data = data?.profil_data.data;\n\t\t\t\t\tthis.isEditable = data?.editable ?? false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t});\n\t\t\t\n\t\t\t\n\t\t},\n\t\tzustellAdressenCount() {\n\t\t\tif (!this.data || !this.data.adressen) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet adressenArray = [];\n\t\t\tif (this.data.profilUpdates?.length) {\n\t\t\t\tadressenArray = adressenArray.concat(\n\t\t\t\t\tthis.data.profilUpdates\n\t\t\t\t\t\t.filter((update) => {\n\t\t\t\t\t\t\treturn update.requested_change.zustelladresse;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.map((adresse) => {\n\t\t\t\t\t\t\treturn adresse.requested_change.adresse_id;\n\t\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!this.data.profilUpdates?.length ||\n\t\t\t\t!this.data.adressen\n\t\t\t\t\t.filter((adresse) => adresse.zustelladresse)\n\t\t\t\t\t.every((adresse) =>\n\t\t\t\t\t\tthis.data.profilUpdates.some(\n\t\t\t\t\t\t\t(update) =>\n\t\t\t\t\t\t\t\tupdate.requested_change.adresse_id == adresse.adresse_id\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t) {\n\t\t\t\tadressenArray = adressenArray.concat(\n\t\t\t\t\tthis.data.adressen\n\t\t\t\t\t\t.filter((adresse) => {\n\t\t\t\t\t\t\treturn adresse.zustelladresse;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.map((adr) => {\n\t\t\t\t\t\t\treturn adr.adresse_id;\n\t\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn [...new Set(adressenArray)];\n\t\t\t\n\t\t},\n\t\tzustellKontakteCount() {\n\t\t\tif (!this.data || !this.data.kontakte) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet kontakteArray = [];\n\n\t\t\tif (this.data.profilUpdates?.length) {\n\t\t\t\tkontakteArray = kontakteArray.concat(\n\t\t\t\t\tthis.data.profilUpdates\n\t\t\t\t\t\t.filter((update) => {\n\t\t\t\t\t\t\treturn update.status === 'Pending' && update.requested_change.zustellung;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.map((kontant) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\tkontakt_id: kontant.requested_change.kontakt_id,\n\t\t\t\t\t\t\t\t\t\tkontakttyp: kontant.requested_change.kontakttyp\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!this.data.profilUpdates?.length ||\n\t\t\t\t!this.data.kontakte\n\t\t\t\t\t.filter((kontakt) => kontakt.zustellung)\n\t\t\t\t\t.every((kontakt) =>\n\t\t\t\t\t\tthis.data.profilUpdates.some(\n\t\t\t\t\t\t\t(update) =>\n\t\t\t\t\t\t\t\tupdate.status === 'Pending' && update.requested_change.kontakt_id == kontakt.kontakt_id\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t) {\n\t\t\t\tkontakteArray = kontakteArray.concat(\n\t\t\t\t\tthis.data.kontakte\n\t\t\t\t\t\t.filter((kontakt) => {\n\t\t\t\t\t\t\treturn kontakt.zustellung;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.map((kon) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\tkontakt_id: kon.kontakt_id,\n\t\t\t\t\t\t\t\t\t\tkontakttyp: kon.kontakttyp\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn [...new Set(kontakteArray)];\n\t\t},\n\t},\n\tcomputed: {\n\t\t\n\t\tfilteredEditData() {\n\t\t\tif (!this.data) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tview: null,\n\t\t\t\tdata: {\n\t\t\t\t\tPersonen_Informationen: {\n\t\t\t\t\t\ttitle: this.$p.t(\"profil\", \"personenInformationen\"),\n\t\t\t\t\t\ttopic: \"Personen_informationen\",\n\t\t\t\t\t\tview: null,\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tvorname: {\n\t\t\t\t\t\t\t\ttitle: this.$p.t(\"person\", \"vorname\"),\n\t\t\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Vorname\"],\n\t\t\t\t\t\t\t\tview: \"TextInputDokument\",\n\t\t\t\t\t\t\t\twithFiles: true,\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\ttitel: \"vorname\",\n\t\t\t\t\t\t\t\t\tvalue: this.data.vorname,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnachname: {\n\t\t\t\t\t\t\t\ttitle: this.$p.t(\"person\", \"nachname\"),\n\t\t\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Nachname\"],\n\t\t\t\t\t\t\t\tview: \"TextInputDokument\",\n\t\t\t\t\t\t\t\twithFiles: true,\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\ttitel: \"nachname\",\n\t\t\t\t\t\t\t\t\tvalue: this.data.nachname,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttitel: {\n\t\t\t\t\t\t\t\ttitle: this.$p.t(\"global\", \"titel\"),\n\t\t\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Titel\"],\n\t\t\t\t\t\t\t\tview: \"TextInputDokument\",\n\t\t\t\t\t\t\t\twithFiles: true,\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\ttitel: \"titel\",\n\t\t\t\t\t\t\t\t\tvalue: this.data.titel,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpostnomen: {\n\t\t\t\t\t\t\t\ttitle: this.$p.t(\"profil\", \"postnomen\"),\n\t\t\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Postnomen\"],\n\t\t\t\t\t\t\t\tview: \"TextInputDokument\",\n\t\t\t\t\t\t\t\twithFiles: true,\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\ttitel: \"postnomen\",\n\t\t\t\t\t\t\t\t\tvalue: this.data.postnomen,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPrivate_Kontakte: {\n\t\t\t\t\t\ttitle: this.$p.t(\"profil\", \"privateKontakte\"),\n\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Private Kontakte\"],\n\t\t\t\t\t\tdata: this.data.kontakte\n\t\t\t\t\t\t\t?.filter((item) => {\n\t\t\t\t\t\t\t\t// excludes all contacts that are already used in pending profil update requests\n\t\t\t\t\t\t\t\treturn !this.data.profilUpdates?.some(\n\t\t\t\t\t\t\t\t\t(update) =>\n\t\t\t\t\t\t\t\t\t\tupdate.status === this.profilUpdateStates[\"Pending\"] &&\n\t\t\t\t\t\t\t\t\t\tupdate.requested_change?.kontakt_id === item.kontakt_id\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.map((kontakt) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tlistview: \"Kontakt\",\n\t\t\t\t\t\t\t\t\tview: \"EditKontakt\",\n\t\t\t\t\t\t\t\t\tdata: kontakt,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t\tPrivate_Adressen: {\n\t\t\t\t\t\ttitle: this.$p.t(\"profil\", \"privateAdressen\"),\n\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Private Adressen\"],\n\t\t\t\t\t\tdata: this.data.adressen\n\t\t\t\t\t\t\t?.filter((item) => {\n\t\t\t\t\t\t\t\treturn !this.data.profilUpdates?.some((update) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tupdate.status === this.profilUpdateStates[\"Pending\"] &&\n\t\t\t\t\t\t\t\t\t\tupdate.requested_change?.adresse_id == item.adresse_id\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.map((adresse) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tlistview: \"Adresse\",\n\t\t\t\t\t\t\t\t\tview: \"EditAdresse\",\n\t\t\t\t\t\t\t\t\tdata: adresse,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t},\n\twatch: {\n\t\tloading: function (newValue) {\n\t\t\tif (newValue) {\n\t\t\t\tthis.$refs.loadingModalRef.show();\n\t\t\t} else {\n\t\t\t\tthis.$refs.loadingModalRef.hide();\n\t\t\t}\n\t\t},\n\t\tuid (newVal, oldVal) {\n\t\t\tthis.load()\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.load()\n\t},\n\ttemplate: `\n\t
\n\t\t
\n\t\t\t
Es wurde keine Person mit der UID {{this.notFoundUID}} gefunden
\n\t\t
\n\t\t
\n \n \n\t\t
\n\t
`,\n}\n\nexport default Profil","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tgetContentID(ort_kurbz) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Ort/ContentID',\n\t\t\tparams: { ort_kurzbz: ort_kurbz }\n\t\t};\n\t},\n\tgetRooms(datum, von, bis, typ, personenanzahl = 0) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Ort/getRooms',\n\t\t\tparams: { datum, von, bis, typ, personenanzahl }\n\t\t};\n\t},\n\tgetRoomTypes() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Ort/getTypes',\n\t\t\tparams: { }\n\t\t};\n\t}\n};","import {CoreFilterCmpt} from \"../../../components/filter/Filter.js\";\nimport VueDatePicker from '../../vueDatepicker.js.php';\nimport ApiOrt from '../../../api/factory/ort.js'\nexport const Raumsuche = {\n\tname: \"Raumsuche\",\n\tprops: {\n\t\t\n\t},\n\tcomponents: {\n\t\tVueDatePicker,\n\t\tCoreFilterCmpt,\n\t\tInputNumber: primevue.inputnumber,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tphrasenPromise: null,\n\t\t\tphrasenResolved: false,\n\t\t\ttabulatorUuid: Vue.ref(0),\n\t\t\ttableBuiltResolve: null,\n\t\t\ttableBuiltPromise: null,\n\t\t\troomtypes: null,\n\t\t\tdefaultType: {\n\t\t\t\traumtyp_kurzbz: '',\n\t\t\t\tbeschreibung: Vue.computed(() => this.$p.t('global/alle'))\n\t\t\t},\n\t\t\tanzahl: 1,\n\t\t\tselectedType: null,\n\t\t\tdatum: new Date(),\n\t\t\tvon: Vue.ref({\n\t\t\t\thours: new Date().getHours(),\n\t\t\t\tminutes: new Date().getMinutes()\n\t\t\t}),\n\t\t\tbis: Vue.ref({\n\t\t\t\thours: new Date().getHours() + 1,\n\t\t\t\tminutes: new Date().getMinutes()\n\t\t\t}),\n\t\t\tdatepickerTextInputOptions: {\n\t\t\t\tenterSubmit: true,\n\t\t\t\ttabSubmit: true,\n\t\t\t\tselectOnFocus: true,\n\t\t\t\tformat: 'dd.MM.yyyy',\n\t\t\t\tescClose: true\n\t\t\t},\n\t\t\ttimepickerTextInputOptions: {\n\t\t\t\tenterSubmit: true,\n\t\t\t\ttabSubmit: true,\n\t\t\t\tselectOnFocus: true,\n\t\t\t\tformat: 'HH:mm',\n\t\t\t\tescClose: true\n\t\t\t},\n\t\t\traumsucheTableOptions: {\n\t\t\t\theight: Vue.ref(400),\n\t\t\t\tindex: 'ort_kurzbz',\n\t\t\t\tlayout: 'fitColumns',\n\t\t\t\tplaceholder: this.$p.t('global/noDataAvailable'),\n\t\t\t\tcolumns: [\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('rauminfo/raum_kurzbz')), field: 'ort_kurzbz', widthGrow: 1},\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('global/bezeichnung')), field: 'bezeichnung', widthGrow: 2},\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('rauminfo/raumnummer')), field: 'nummer', widthGrow: 1},\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('rauminfo/personcap')), field: 'personen', widthGrow: 1},\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('rauminfo/rauminfo')),\n\t\t\t\t\t\tfield: 'linkInfo', formatter: this.linkFormatter, widthGrow: 1},\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('rauminfo/roomReservations')), \n\t\t\t\t\t\tfield: 'linkRes', formatter: this.linkFormatter, widthGrow: 1}\n\t\t\t\t],\n\t\t\t\tpersistence: false,\n\t\t\t},\n\t\t\traumsucheTableEventHandlers: [{\n\t\t\t\tevent: \"tableBuilt\",\n\t\t\t\thandler: async () => {\n\t\t\t\t\tthis.tableBuiltResolve()\n\t\t\t\t}\n\t\t\t}\n\t\t\t]};\n\t},\n\tmethods: {\n\t\ttableResolve(resolve) {\n\t\t\tthis.tableBuiltResolve = resolve\n\t\t},\n\t\tlinkFormatter(cell) {\n\t\t\tconst val = cell.getValue();\n\t\t\tconst field = cell.getField();\n\t\t\tconst arialabel = (field === 'linkInfo') \n\t\t\t\t\t\t\t? this.$p.t('rauminfo/rauminfo') \n\t\t\t\t\t\t\t: this.$p.t('rauminfo/roomReservations');\n\t\t\tif(val) {\n\t\t\t\treturn '
\n\t`,\n\tcomputed:{\n\t\tformattedEmail: function(){\n\t\t\tif(!this.email ) return null;\n\t\t\tlet emailString= this.email.replace(\"mailto:\", \"\");\n\t\t\t// when splitting a string, the letter that is used to split the string will be removed from the result\n\t\t\tlet emailArray = emailString.split('@');\n\t\t\t// returns both parts of the splitted string in combination with the removed letter and a word break\n\t\t\treturn emailArray[0] + '@' + emailArray[1];\n\t\t},\n\t\tfullname: function () {\n\t\t\tif (this.titelpre && this.vorname && this.nachname) {\n\t\t\t\treturn `${this.titelpre} ${this.vorname} ${this.nachname}`;\n\t\t\t}\n\t\t\telse if (this.vorname && this.nachname) {\n\t\t\t\treturn `${this.vorname} ${this.nachname}`;\n\t\t\t}\n\t\t\telse if (this.nachname) {\n\t\t\t\treturn this.vorname;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tphone: function () {\n\t\t\tif (this.kontakt && this.telefoneklappe) {\n\t\t\t\treturn {\n\t\t\t\t\tlink: \"tel:\".concat(this.kontakt).concat(\" \" + this.telefoneklappe),\n\t\t\t\t\tnumber: this.kontakt.concat(\" \" + this.telefoneklappe),\n\t\t\t\t} \n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn this.kontakt ? {\n\t\t\t\t\tlink: \"tel:\".concat(this.kontakt),\n\t\t\t\t\tnumber: this.kontakt,\n\t\t\t\t} : null;\n\t\t\t}\n\t\t},\n\t\temail_link: function () {\n\t\t\treturn this.email ? \"mailto:\".concat(this.email) : null;\n\t\t},\n\t\tbase64Image:function(){\n\t\t\treturn this.foto ? 'data:image/png;base64,'.concat(this.foto) : null;\n\t\t},\n\t\tort:function(){\n\t\t\treturn this.planbezeichnung ?? null;\n\t\t},\n\t\tprofilViewLink: function(){\n\t\t\treturn this.uid ? FHC_JS_DATA_STORAGE_OBJECT.app_root.concat(FHC_JS_DATA_STORAGE_OBJECT.ci_router).concat(\"/Cis/Profil/View/\").concat(this.uid): null; \n\t\t},\n\t},\n\t\n}","export default {\n\tprops: {\n\t\ttitle:String,\n\t\tvertretungsList:Array,\n\t\tshowBezeichnung:Boolean,\n\t},\n\ttemplate:/*html*/`\n\t
\n\t`,\n\tmethods: {\n\t\tprofilViewLink: function (uid) {\n\t\t\treturn uid ? FHC_JS_DATA_STORAGE_OBJECT.app_root.concat(FHC_JS_DATA_STORAGE_OBJECT.ci_router).concat(\"/Cis/Profil/View/\").concat(uid) : null;\n\t\t},\n\t\tvertretungFormatedName: function (vertretung) {\n\t\t\tif (!vertretung) return null;\n\t\t\treturn `${vertretung.vorname ?? ''} ${vertretung.nachname ?? ''} ${vertretung.bezeichnung && this.showBezeichnung ? '('.concat(vertretung.bezeichnung.replace(\"(\", \"\").replace(\")\", \"\")).concat(\")\") : ''}`\n\t\t},\n\t},\n\n}","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tstudiengangInformation() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Studgang/getStudiengangInfo'\n\t\t};\n\t},\n\tgetStudiengangByKz(studiengang_kz) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/organisation/StudiengangEP/getStudiengangByKz',\n\t\t\tparams: { studiengang_kz }\n\t\t};\n\t}\n};","import StudiengangPerson from \"./StudiengangPerson.js\";\nimport StudiengangVertretung from \"./StudiengangVertretung.js\";\n\nimport ApiStudiengang from '../../../../api/factory/studiengang.js';\n\nexport default {\ndata(){\n\treturn{\n\t\tstudiengang:null,\n\t\tsemester: null,\n\t\tstg_ltg: null,\n\t\tgf_ltg: null,\n\t\tstv_ltg: null,\n\t\tass: null,\n\t\thochschulvertr: null,\n\t\tstdv: null,\n\t\tjahrgangsvertr: null,\n\t}\n},\nprops:{\n\tdisplayWidget:{\n\t\ttype:Boolean,\n\t\tdefault:false,\n\t}\n},\ncomponents:{\n\tStudiengangPerson,\n\tStudiengangVertretung,\n},\ntemplate:/*html*/`\n\t\t
\n\t\n`,\ncomputed:{\n\t// this function concatenates the studiengangsleitung and the assistenz or the \n\t// geschaeftsfuehrende-Stellvertretende Leitung if both collections only contain one person\n\tcollection_array: function(){\n\t\tlet returnData = [];\n\n\t\tif (Array.isArray(this.stg_ltg) && this.stg_ltg.length == 1 && Array.isArray(this.ass) && this.ass.length == 1)\n\t\t{\n\t\t\treturnData.push({ title: `${this.$p.t('global', 'studiengangsleitung')}/${this.$p.t('studiengangInformation', 'assistenz')}` , collection: [...this.stg_ltg, ...this.ass] });\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturnData.push({ title: this.$p.t('global', 'studiengangsleitung'), collection: this.stg_ltg });\n\t\t\treturnData.push({ title: this.$p.t('studiengangInformation', 'assistenz'), collection: this.ass });\n\t\t}\n\t\tif (Array.isArray(this.gf_ltg) && this.gf_ltg.length == 1 && Array.isArray(this.stv_ltg) && this.stv_ltg.length == 1)\n\t\t{\n\t\t\treturnData.push({ title: this.$p.t('studiengangInformation', 'geschaeftsfuehrende_stellvertretende_leitung'), collection: [...this.gf_ltg, ...this.stv_ltg] });\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturnData.push({ title: this.$p.t('studiengangInformation', 'geschaeftsfuehrende_leitung'), collection: this.gf_ltg });\n\t\t\treturnData.push({ title: this.$p.t('studiengangInformation', 'stellvertretende_leitung'), collection: this.stv_ltg });\n\t\t}\n\n\t\treturn returnData;\n\t},\n\tmoodleLink: function(){\n\t\t// early return if the studiengang information is not available\n\t\tif(!this.studiengang || !this.studiengang.studiengang_kz) return;\n\n\t\treturn `https://moodle.technikum-wien.at/course/view.php?idnumber=dl` + this.studiengang.studiengang_kz;\n\t},\n},\n\tmounted() {\n\t\tthis.$api\n\t\t\t.call(ApiStudiengang.studiengangInformation())\n\t\t\t.then(res => res.data)\n\t\t\t.then(studiengangInformationen => {\n\t\t\t\tObject.assign(this, studiengangInformationen);\n\t\t\t});\n\t}\n};\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tcontent(content_id, version=null, sprache=null, sichtbar=null) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Cms/content',\n\t\t\tparams: {\n\t\t\t\tcontent_id,\n\t\t\t\t...(version ? { version } : {}),\n\t\t\t\t...(sprache ? { sprache } : {}),\n\t\t\t\t...(sichtbar ? { sichtbar } : {})\n\t\t\t}\n\t\t};\n\t},\n\t//api function used for the news View that renders the html\n\tgetNews(page = 1, page_size = 10, sprache) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Cms/getNews',\n\t\t\tparams: {\n\t\t\t\tpage,\n\t\t\t\tpage_size,\n\t\t\t\tsprache\n\t\t\t},\n\t\t};\n\t},\n\t//api function used for the widget component\n\tnews(limit) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Cms/news',\n\t\t\tparams: { limit }\n\t\t};\n\t},\n\tgetNewsRowCount() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Cms/getNewsRowCount'\n\t\t};\n\t},\n\tgetNewsExtra() {\n\t\t// TODO(chris): seems to be called from nowhere?\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Cms/getStudiengangInfoForNews'\n\t\t};\n\t}\n};","import Pagination from \"../../Pagination/Pagination.js\";\nimport StudiengangInformation from \"./StudiengangInformation/StudiengangInformation.js\";\nimport BsConfirm from \"../../Bootstrap/Confirm.js\";\n\nimport ApiCms from '../../../api/factory/cms.js';\n\nexport default {\n\tname: \"NewsComponent\",\n components: {\n Pagination,\n\tStudiengangInformation,\n },\n data() {\n return {\n content: null,\n maxPageCount: 0,\n page_size: 10,\n\t page:1,\n };\n },\n watch:{\n\t'$p.user_language.value':function(sprache){\n\t\tthis.fetchNews();\n\t}\n },\n computed:{\n\tsprache: function(){\n\t\treturn this.$p.user_language.value;\n\t},\n },\n methods: {\n\t\tfetchNews() {\n\t\t\treturn this.$api\n\t\t\t\t.call(ApiCms.getNews(this.page, this.page_size, this.sprache))\n\t\t\t\t.then(res => res.data)\n\t\t\t\t.then(result => {\n\t\t\t\t\tthis.content = result;\n\n\t\t\t\t\tdocument.querySelectorAll(\"#cms [data-confirm]\").forEach((el) => {\n\t\t\t\t\t\tel.addEventListener(\"click\", (evt) => {\n\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\tBsConfirm.popup(el.dataset.confirm)\n\t\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\t\tAxios.get(el.href)\n\t\t\t\t\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t\t\t\t\t// TODO(chris): check for success then show message and/or reload\n\t\t\t\t\t\t\t\t\t\t\tlocation = location;\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t.catch((err) => console.error(\"ERROR:\", err));\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\tdocument.querySelectorAll(\"#cms [data-href]\").forEach((el) => {\n\t\t\t\t\t\tel.href = el.dataset.href.replace(\n\t\t\t\t\t\t\t/^ROOT\\//,\n\t\t\t\t\t\t\tFHC_JS_DATA_STORAGE_OBJECT.app_root\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tVue.nextTick(()=>{\n\t\t\t\t\t\tdocument.querySelectorAll(\".card-header\").forEach((el) => {\n\t\t\t\t\t\t\tel.classList.add(\"fhc-primary\");\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdocument.querySelectorAll(\".row\").forEach((el) => {\n\t\t\t\t\t\t\tel.classList.add(\"w-100\");\n\t\t\t\t\t\t\tel.classList.add(\"align-items-center\");\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdocument.querySelectorAll(\".row h2\").forEach((el) => {\n\t\t\t\t\t\t\tel.classList.add(\"mb-0\");\n\t\t\t\t\t\t});\n\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t},\n\t\tloadNewPageContent(data) {\n\t\t\tthis.$api\n\t\t\t\t.call(ApiCms.getNews(data.page, data.rows))\n\t\t\t\t.then(res => res.data)\n\t\t\t\t.then(result => {\n\t\t\t\t\tthis.content = result;\n\t\t\t\t\t\n\t\t\t\t});\n\t\t}\n },\n created() {\n this.fetchNews();\n\n\t\tthis.$api\n\t\t\t.call(ApiCms.getNewsRowCount())\n\t\t\t.then(res => res.data)\n\t\t\t.then(result => {\n\t\t\t\tthis.maxPageCount = result;\n\t\t\t});\n },\n template: /*html*/ `\n \t
News
\n\t\n\t\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\t\n\t\n `,\n};\n","\nexport default {\n\tname: \"RaumComponent\",\n\tdata() {\n\t\treturn {\n\t\t\timgContent: null\n\t\t}\n\t},\n props:{\n content:{\n type:String,\n required:true,\n },\n\t content_id:{\n\t\ttype: [Number, String],\n\t }\n },\n\tmethods: {\n\t\tsanitizeLegacyTables(table) {\n\n\t\t\t// find nested tables and replace with p element\n\t\t\tconst tt = table.querySelectorAll('table')\n\t\t\ttt.forEach(t => {\n\t\t\t\tconst textContent = t.textContent.trim();\n\t\t\t\tconst pElement = document.createElement('p');\n\t\t\t\tpElement.textContent = textContent;\n\t\t\t\tt.parentNode.replaceChild(pElement, t);\n\t\t\t})\n\n\t\t\t// find unordered lists, traverse li childs and replace with p element -> more readable than 1 p tag for ul\n\t\t\tconst ul = table.querySelectorAll('ul')\n\t\t\tul.forEach(u => {\n\t\t\t\tArray.from(u.children).forEach(li => {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.textContent = li.textContent\n\t\t\t\t\tu.parentNode.appendChild(p)\n\t\t\t\t})\n\t\t\t\tu.parentNode.removeChild(u)\n\n\t\t\t})\n\n\t\t\t// find bare text nodes and put into p element\n\t\t\tconst td = Array.from(table.querySelectorAll('td')).filter(el => el.scrollWidth > 100)\n\t\t\ttd.forEach(element => {\n\t\t\t\tif (element.firstChild?.nodeType === Node.TEXT_NODE && element.firstChild.length > 10) {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.appendChild(element.firstChild)\n\t\t\t\t\telement.appendChild(p);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// flatten nested th elements\n\t\t\tconst ths = Array.from(table.querySelectorAll('th'))\n\t\t\tths.forEach(th => {\n\n\t\t\t\tif(th.children.length > 1) {\n\t\t\t\t\tth.innerHTML = Array.from(th.childNodes).find(cn => cn.textContent).textContent\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// let p elements wrap on overflow\n\t\t\tconst p = table.querySelectorAll('p')\n\t\t\tp.forEach(p => {\n\t\t\t\tp.style.setProperty('word-wrap', 'break-word');\n\t\t\t\tp.style.setProperty('white-space', 'normal');\n\t\t\t\tp.style.setProperty('max-width', '400px');\n\t\t\t})\n\t\t}\n\t},\n mounted(){\n\t\t// replaces the tablesorter with the tabulator\n\t\tlet tables = document.getElementsByClassName(\"tablesorter\");\n\t\t\n\t\tfor (let table of tables) {\n\t\t\tthis.sanitizeLegacyTables(table)\n\t\t\tnew Tabulator(table, {\n\t\t\t\tlayout: \"fitDataStretch\",\n\n\t\t\t\tcolumnDefaults: {\n\t\t\t\t\tformatter: \"html\",\n\t\t\t\t\tresizable: false,\n\t\t\t\t\tminWidth: \"100px\",\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\t\n\t\tlet title = document.getElementsByTagName(\"h1\");\n\t\ttitle = title.length ? title[0] : null;\n\t\t// tries to wrap the Raum titel with a link tag that redirects to the Reservierungen of that Raum\n\t\tif (title && title.innerText) \n\t\t{\n\t\t\tlet room_name = title.innerText;\n\t\t\tlet room_name_reg_exp = new RegExp(\"\\\\w*\\\\s([a-zA-Z][0-9\\\\.]+)$\");\n\t\t\tlet room_name_reg_exp_result = room_name.match(room_name_reg_exp);\n\t\t\tif(room_name_reg_exp_result)\n\t\t\t{\n\t\t\t\troom_name = room_name_reg_exp_result[0];\n\t\t\t\troom_name = room_name.replace(\" \",\"_\");\n\t\t\t\tlet link_element = document.createElement(\"a\");\n\t\t\t\tlink_element.href = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + \"/CisVue/Cms/getRoomInformation/\" + room_name;\n\t\t\t\tlink_element.appendChild(title.cloneNode(true));\n\t\t\t\ttitle.replaceWith(link_element);\n\n\t\t\t\tlet lvplanlinks = document.querySelectorAll('.menubox a[href*=\"stpl_week.php\"]');\n\t\t\t\tfor(let lvplanlink of lvplanlinks) {\n\t\t\t\t\tlvplanlink.href = link_element.href;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconsole.error(`the regular expression did not match the room name: ${room_name}`);\n\t\t\t}\n\t\t\t\n\t\t\treturn\n\t\t}\n\t\t\n\t\tconst parser = new DOMParser()\n\t\tconst doc = parser.parseFromString(`
${this.content}
`, \"text/html\");\n\n\t\tconst img = doc.querySelector(\"img\")\n\t\tif(img && img.title)\n\t\t{\n\t\t\tconst imgAttributes = {}\n\t\t\tfor (let attr of img.attributes) {\n\t\t\t\timgAttributes[attr.name] = attr.value\n\t\t\t}\n\n\t\t\tthis.imgContent = imgAttributes\n\t\t}\n\t\t\n\t\tconsole.error(`was not able to get the title of the raum_contentmittitel`);\n\t\t\n },\n template: /*html*/ `\n \n\n
\n \n
Content was not found
\n `,\n };\n ","// collection of relative and absolute regex to replace legacy links\nconst GROUP_REPLACEMENT_STRATEGIES = {\n\tQUERY_PARAMETERS:'QUERY_PARAMETERS',\n\tPATH_SEGMENTS:'PATH_SEGMENTS',\n}\n\nconst regexList = {\n\trelative:[\n\t\t{ \n\t\t\tpriority: 1, \n\t\t\tregex: new RegExp(/^\\.\\.\\/cms\\/content\\.php\\?content_id=([0-9]+)/),\n\t\t\treplacement: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + '/CisVue/Cms/content',\n\t\t\tgroup_replacement_strategy:GROUP_REPLACEMENT_STRATEGIES.PATH_SEGMENTS,\n\t\t},\n\t\t{ \n\t\t\tpriority: 2,\n\t\t\tregex: new RegExp(/^\\.\\.\\/cms\\/news\\.php/),\n\t\t\treplacement: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + '/CisVue/Cms/news',\n\t\t},\n\t\t{ \n\t\t\tpriority: 3,\n\t\t\tregex: new RegExp(/^\\.\\.\\/index\\.ci\\.php/),\n\t\t\treplacement: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router,\n\t\t},\n\t\t{ \n\t\t\tpriority: 10, \n\t\t\tregex: new RegExp(/^\\.\\.\\//),\n\t\t\treplacement: FHC_JS_DATA_STORAGE_OBJECT.app_root,\n\t\t},\n\t],\n\tabsolute:[\n\t\t{}\n\t]\n};\n\n// sorts the relative regex array by priority ascending\nconst relative_regex = regexList.relative\n\t.sort((a, b) => {\n\t\treturn a.priority - b.priority;\n\t})\n\t.map(regex => {\n\t\treturn {\n\t\t\tregex: regex.regex, \n\t\t\treplacement: regex.replacement,\n\t\t\tgroup_replacement_strategy: regex.group_replacement_strategy,\n\t\t}\n\t});\n\n// sorts the absolute regex array by priority ascending\nconst absolute_regex = regexList.absolute\n\t.sort((a, b) => {\n\t\treturn a.priority - b.priority;\n\t})\n\t.map(regex => {\n\t\treturn {\n\t\t\tregex: regex.regex,\n\t\t\treplacement: regex.replacement,\n\t\t\tgroup_replacement_strategy: regex.group_replacement_strategy,\n\t\t}\n\t})\n\n\nexport function replaceRelativeLegacyLink(relativeLegacyLink){\n\tfor (let {regex,replacement,group_replacement_strategy} of relative_regex){\t\n\t\t// if any of the regex matches the relativeLegacyLink, replace the matched part with the new app_root path\n\t\tlet match = relativeLegacyLink.match(regex);\n\t\tif (match) {\n\t\t\tlet new_link = relativeLegacyLink.replace(regex, replacement);\n\t\t\t\n\t\t\t\tswitch (group_replacement_strategy){\n\t\t\t\t\tcase 'QUERY_PARAMETERS':\n\t\t\t\t\t\t//TODO: this doesn't really work yet because the query parameter are key/value pairs\n\t\t\t\t\t\tnew_link = new_link.concat(`?${match[1]}`);\n\t\t\t\t\t\tfor (let query_parameter of match.slice(2)) {\n\t\t\t\t\t\t\tnew_link = new_link.concat(`&${query_parameter}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'PATH_SEGMENTS':\n\t\t\t\t\t\tfor (let query_parameter of match.slice(1)) { \n\t\t\t\t\t\t\tnew_link = new_link.concat(`/${query_parameter}`);\n\t\t\t\t\t\t} \n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\n\t\t\treturn new_link; \n\t\t}\n\t}\n\t// if none of the regex matched with the string return the original path\n\treturn relativeLegacyLink;\n}\n\n","import { replaceRelativeLegacyLink } from \"../../../../helpers/LegacyLinkReplaceHelper.js\"\nexport default {\n\tname: \"GeneralComponent\",\n props:{\n content:{\n type:String,\n required:true,\n },\n },\n\tmethods: {\n\t\tsanitizeLegacyTables(table) {\n\t\t\t\n\t\t\t// find nested tables and replace with p element\n\t\t\tconst tt = table.querySelectorAll('table')\n\t\t\ttt.forEach(t => {\n\t\t\t\tconst textContent = t.textContent.trim();\n\t\t\t\tconst pElement = document.createElement('p');\n\t\t\t\tpElement.textContent = textContent;\n\t\t\t\tt.parentNode.replaceChild(pElement, t);\n\t\t\t})\n\n\t\t\t// find unordered lists, traverse li childs and replace with p element -> more readable than 1 p tag for ul\n\t\t\tconst ul = table.querySelectorAll('ul')\n\t\t\tul.forEach(u => {\n\t\t\t\tArray.from(u.children).forEach(li => {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.textContent = li.textContent\n\t\t\t\t\tu.parentNode.appendChild(p)\n\t\t\t\t})\n\t\t\t\tu.parentNode.removeChild(u)\n\t\t\t\t\n\t\t\t})\n\n\t\t\t// find bare text nodes and put into p element\n\t\t\tconst td = Array.from(table.querySelectorAll('td')).filter(el => el.scrollWidth > 100)\n\t\t\ttd.forEach(element => {\n\t\t\t\tif (element.firstChild?.nodeType === Node.TEXT_NODE && element.firstChild.length > 10) {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.appendChild(element.firstChild)\n\t\t\t\t\telement.appendChild(p);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// flatten nested th elements\n\t\t\tconst ths = Array.from(table.querySelectorAll('th'))\n\t\t\tths.forEach(th => {\n\n\t\t\t\tif(th.children.length > 1) {\n\t\t\t\t\tth.innerHTML = Array.from(th.childNodes).find(cn => cn.textContent).textContent\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// let p elements wrap on overflow\n\t\t\tconst p = table.querySelectorAll('p')\n\t\t\tp.forEach(p => {\n\t\t\t\tp.style.setProperty('word-wrap', 'break-word');\n\t\t\t\tp.style.setProperty('white-space', 'normal');\n\t\t\t\tp.style.setProperty('max-width', '400px');\n\t\t\t})\n\t\t},\n\t\tprepareContent() {\n\t\t\t// replaces the tablesorter with the tabulator\n\t\t\tlet tables = Array.from(document.getElementsByClassName(\"tablesorter\"));\n\n\t\t\ttables.forEach((table, index) => {\n\t\t\t\tthis.sanitizeLegacyTables(table)\n\n\t\t\t\tnew Tabulator(table, {\n\t\t\t\t\tindex: index,\n\t\t\t\t\tlayout: \"fitDataFill\",\n\n\t\t\t\t\tcolumnDefaults: {\n\t\t\t\t\t\tformatter: \"html\",\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tminWidth: \"100px\"\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\n\t\t\tdocument.querySelectorAll(\"#cms [data-confirm]\").forEach((el) => {\n\t\t\t\tel.addEventListener(\"click\", (evt) => {\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\tBsConfirm.popup(el.dataset.confirm)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tAxios.get(el.href)\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t// TODO(chris): check for success then show message and/or reload\n\t\t\t\t\t\t\tlocation = location;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => console.error(\"ERROR:\", err));\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {});\n\t\t\t\t});\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\"#cms [data-href]\").forEach((el) => {\n\t\t\t\tel.href = el.dataset.href.replace(\n\t\t\t\t\t/^ROOT\\//,\n\t\t\t\t\tFHC_JS_DATA_STORAGE_OBJECT.app_root\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tdocument.querySelectorAll(\"[href]\").forEach((element) => {\n\t\t\t\tlet orignal_href = element.getAttribute(\"href\");\n\t\t\t\tlet new_href = replaceRelativeLegacyLink(orignal_href);\n\t\t\t\telement.href = new_href;\n\t\t\t});\n\n\t\t\tdocument.querySelectorAll(\"[style*=background-color]\").forEach((element) => {\n\t\t\t\tif (element.style.backgroundColor == \"rgb(255, 255, 255)\"){\n\t\t\t\t\telement.style.backgroundColor = \"var(--fhc-background)\";\n\t\t\t\t}\n\t\t\t\tif(element.querySelector(\"*[style*=background-color]\")){\n\t\t\t\t\telement.style.backgroundColor = \"var(--fhc-tertiary)\";\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tupdated() {\n\t\tthis.prepareContent();\n\t},\n\tmounted(){\n\t\tthis.prepareContent();\n\t},\n template: /*html*/ `\n \n
\n \t\n
\n
Content was not found
\n `,\n };\n ","import raum_contentmittitel from './Content_types/Raum_contentmittitel.js'\nimport general from './Content_types/General.js'\nimport BsConfirm from \"../../Bootstrap/Confirm.js\";\nimport news_content from './Content_types/News_content.js';\nimport iframe_content from './Content_types/Iframe_content.js';\n\nimport ApiCms from '../../../api/factory/cms.js';\n\nexport default {\n\tname: \"ContentComponent\",\n\tprops: {\n\t\tcontent_id: {\n\t\t\ttype: [Number, String],\n\t\t\trequired: true\n\t\t},\n\t\tversion: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t},\n\t\tsichtbar: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t}\n\t},\n\tcomponents: {\n\t\traum_contentmittitel,\n\t\tnews_content,\n\t\tgeneral,\n\t\tiframe_content\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tcontent_type: null,\n\t\t\tcontent: null,\n\t\t\tcontent_id_internal: this.content_id\n\t\t};\n\t},\n\tmethods: {\n\t\tfetchContent(){\n\t\t\tthis.$api\n\t\t\t\t.call(ApiCms.content(this.content_id_internal, this.version, this.sprache, this.sichtbar))\n\t\t\t\t.then(res => {\n\t\t\t\t\tthis.$nextTick(function() {\n\t\t\t\t\t\tthis.content = res.data.content;\n\t\t\t\t\t\tthis.content_type = res.data.type;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t}\n\t},\n\twatch:{\n\t\tsprache: function(sprache){\n\t\t\tthis.fetchContent();\n\t\t},\n\t\t'$route.params.content_id'(newVal) {\n\t\t\tthis.content_id_internal = newVal\n\t\t\tthis.fetchContent();\n\t\t}\n\t},\n\tcomputed: {\n\t\tsprache(){\n\t\t\treturn this.$p.user_language.value;\n\t\t},\n\t\tcomputeContentType: function () {\n\t\t\tswitch (this.content_type) {\n\t\t\t\tcase \"raum_contentmittitel\":\n\t\t\t\t\treturn \"raum_contentmittitel\";\n\t\t\t\tcase \"news\":\n\t\t\t\t\treturn \"news_content\";\n\t\t\t\tcase \"iframe\":\n\t\t\t\t\treturn \"iframe_content\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"general\";\n\t\t\t};\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.fetchContent();\n\t},\n\ttemplate: /*html*/ `\n \n\t
\n \t\n\t
\n
No content is available to display
\n `,\n};\n","import { replaceRelativeLegacyLink } from \"../../../../helpers/LegacyLinkReplaceHelper.js\"\nexport default {\n\tname: \"NewsContentType\",\n\tprops:{\n\t content:{\n\t\t type:String,\n\t\t required:true,\n\t },\n\t},\n\tmethods: {\n\t\tsanitizeLegacyTables(table) {\n\t\t\t\n\t\t\t// find nested tables and replace with p element\n\t\t\tconst tt = table.querySelectorAll('table')\n\t\t\ttt.forEach(t => {\n\t\t\t\tconst textContent = t.textContent.trim();\n\t\t\t\tconst pElement = document.createElement('p');\n\t\t\t\tpElement.textContent = textContent;\n\t\t\t\tt.parentNode.replaceChild(pElement, t);\n\t\t\t})\n\n\t\t\t// find unordered lists, traverse li childs and replace with p element -> more readable than 1 p tag for ul\n\t\t\tconst ul = table.querySelectorAll('ul')\n\t\t\tul.forEach(u => {\n\t\t\t\tArray.from(u.children).forEach(li => {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.textContent = li.textContent\n\t\t\t\t\tu.parentNode.appendChild(p)\n\t\t\t\t})\n\t\t\t\tu.parentNode.removeChild(u)\n\t\t\t\t\n\t\t\t})\n\n\t\t\t// find bare text nodes and put into p element\n\t\t\tconst td = Array.from(table.querySelectorAll('td')).filter(el => el.scrollWidth > 100)\n\t\t\ttd.forEach(element => {\n\t\t\t\tif (element.firstChild?.nodeType === Node.TEXT_NODE && element.firstChild.length > 10) {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.appendChild(element.firstChild)\n\t\t\t\t\telement.appendChild(p);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// flatten nested th elements\n\t\t\tconst ths = Array.from(table.querySelectorAll('th'))\n\t\t\tths.forEach(th => {\n\n\t\t\t\tif(th.children.length > 1) {\n\t\t\t\t\tth.innerHTML = Array.from(th.childNodes).find(cn => cn.textContent).textContent\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// let p elements wrap on overflow\n\t\t\tconst p = table.querySelectorAll('p')\n\t\t\tp.forEach(p => {\n\t\t\t\tp.style.setProperty('word-wrap', 'break-word');\n\t\t\t\tp.style.setProperty('white-space', 'normal');\n\t\t\t\tp.style.setProperty('max-width', '400px');\n\t\t\t})\n\t\t}\n\t},\n\tmounted(){\n\t\t// replaces the tablesorter with the tabulator\n\t\tlet tables = Array.from(document.getElementsByClassName(\"tablesorter\"));\n\n\t\ttables.forEach((table, index) => {\n\t\t\tthis.sanitizeLegacyTables(table)\n\t\t\t\n\t\t\tnew Tabulator(table, {\n\t\t\t\tindex: index,\n\t\t\t\tlayout: \"fitDataFill\",\n\n\t\t\t\tcolumnDefaults: {\n\t\t\t\t\tformatter: \"html\",\n\t\t\t\t\tresizable: true,\n\t\t\t\t\tminWidth: \"100px\"\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\n\t\tdocument.querySelectorAll(\"#cms [data-confirm]\").forEach((el) => {\n\t\t\tel.addEventListener(\"click\", (evt) => {\n\t\t\t evt.preventDefault();\n\t\t\t BsConfirm.popup(el.dataset.confirm)\n\t\t\t\t.then(() => {\n\t\t\t\t Axios.get(el.href)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t// TODO(chris): check for success then show message and/or reload\n\t\t\t\t\t\tlocation = location;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => console.error(\"ERROR:\", err));\n\t\t\t\t})\n\t\t\t\t.catch(() => {});\n\t\t\t});\n\t\t });\n\t\tdocument.querySelectorAll(\"#cms [data-href]\").forEach((el) => {\n\t\t\tel.href = el.dataset.href.replace(\n\t\t\t\t/^ROOT\\//,\n\t\t\t\tFHC_JS_DATA_STORAGE_OBJECT.app_root\n\t\t\t);\n\t\t});\n\t\t\t\n\t\tdocument.querySelectorAll(\"[href]\").forEach((element) => {\n\t\t\tlet orignal_href = element.getAttribute(\"href\");\n\t\t\tlet new_href = replaceRelativeLegacyLink(orignal_href);\n\t\t\telement.href = new_href;\n\t\t});\n\n\t\tdocument.querySelectorAll(\"[style*=background-color]\").forEach((element) => {\n\t\t\tif (element.style.backgroundColor == \"rgb(255, 255, 255)\"){\n\t\t\t\telement.style.backgroundColor = \"var(--fhc-background)\";\n\t\t\t}\n\t\t\tif(element.querySelector(\"*[style*=background-color]\")){\n\t\t\t\telement.style.backgroundColor = \"var(--fhc-tertiary)\";\n\t\t\t}\n\t\t});\n\n\t\tVue.nextTick(() => {\n\t\t\tdocument.querySelectorAll(\".card-header\").forEach((el) => {\n\t\t\t\tel.classList.add(\"fhc-primary\");\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\".row\").forEach((el) => {\n\t\t\t\tel.classList.add(\"w-100\");\n\t\t\t\tel.classList.add(\"align-items-center\");\n\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\".row h2\").forEach((el) => {\n\t\t\t\tel.classList.add(\"mb-0\");\n\t\t\t});\n\n\t\t})\n\n\t},\n\ttemplate: /*html*/ `\n\t \n\t
\n\t\n\t`\n};","\nexport default {\n\t\t\n\tloadRenderers() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/RendererLoader/GetRenderers',\n\t\t\tparams: {\n\t\t\t}\n\t\t};\n\t},\n}","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tinfo(app, path) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/RouteInfo/info',\n\t\t\tparams: {\n\t\t\t\tapp: app,\n\t\t\t\tpath: path\n\t\t\t}\n\t\t};\n\t}\n};","import FhcDashboard from '../../components/Dashboard/Dashboard.js';\nimport PluginsPhrasen from '../../plugins/Phrasen.js';\nimport Theme from '../../plugins/Theme.js';\nimport contrast from '../../directives/contrast.js';\nimport {setScrollbarWidth} from \"../../helpers/CssVarCalcHelpers.js\";\nimport LvPlan from \"../../components/Cis/LvPlan/Lehrveranstaltung.js\";\nimport MyLvPlan from \"../../components/Cis/LvPlan/Personal.js\";\nimport MylvStudent from \"../../components/Cis/Mylv/Student.js\";\nimport Profil from \"../../components/Cis/Profil/Profil.js\";\nimport Raumsuche from \"../../components/Cis/Raumsuche/Raumsuche.js\";\nimport CmsNews from \"../../components/Cis/Cms/News.js\";\nimport CmsContent from \"../../components/Cis/Cms/Content.js\";\nimport Info from \"../../components/Cis/Mylv/Semester/Studiengang/Lv/Info.js\";\nimport RoomInformation, {DEFAULT_MODE_RAUMINFO} from \"../../components/Cis/Mylv/RoomInformation.js\";\nimport AbgabetoolStudent from \"../../components/Cis/Abgabetool/AbgabetoolStudent.js\";\nimport AbgabetoolMitarbeiter from \"../../components/Cis/Abgabetool/AbgabetoolMitarbeiter.js\";\nimport DeadlineOverview from \"../../components/Cis/Abgabetool/DeadlineOverview.js\";\nimport Studium from \"../../components/Cis/Studium/Studium.js\";\n\nimport ApiRenderers from '../../api/factory/renderers.js';\nimport ApiRouteInfo from '../../api/factory/routeinfo.js';\nimport {capitalize} from \"../../helpers/StringHelpers.js\";\n\nconst ciPath = FHC_JS_DATA_STORAGE_OBJECT.app_root.replace(/(https:|)(^|\\/\\/)(.*?\\/)/g, '') + FHC_JS_DATA_STORAGE_OBJECT.ci_router;\n\nconst router = VueRouter.createRouter({\n\thistory: VueRouter.createWebHistory(`/${ciPath}`),\n\troutes: [\n\t\t{\n\t\t\tpath: `/Cis/Studium`,\n\t\t\tname: 'Studium',\n\t\t\tcomponent: Studium,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Profil/View/:uid`,\n\t\t\tname: 'ProfilView',\n\t\t\tcomponent: Profil,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Profil`,\n\t\t\tname: 'Profil',\n\t\t\tcomponent: Profil,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Abgabetool/Student/:student_uid_prop?`,\n\t\t\tname: 'AbgabetoolStudent',\n\t\t\tcomponent: AbgabetoolStudent,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Abgabetool/Mitarbeiter`,\n\t\t\tname: 'AbgabetoolMitarbeiter',\n\t\t\tcomponent: AbgabetoolMitarbeiter,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Abgabetool/Deadlines/:person_uid_prop?`,\n\t\t\tname: 'DeadlineOverview',\n\t\t\tcomponent: DeadlineOverview,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Raumsuche`,\n\t\t\tname: 'Raumsuche',\n\t\t\tcomponent: Raumsuche,\n\t\t\tprops: true\n\t\t},\n\t\t// Redirect old links to new format\n\t\t{\n\t\t\tpath: \"/CisVue/Cms/getRoomInformation/:ort_kurzbz\",\n\t\t\tname: \"RoomInformationOld\",\n\t\t\tcomponent: RoomInformation,\n\t\t\tredirect: (to) => {\n\t\t\t\treturn { // redirect to longer Rauminfo url and map params\n\t\t\t\t\tname: \"RoomInformation\",\n\t\t\t\t\tparams: { // in this case always populate other params since they are not optional\n\t\t\t\t\t\tort_kurzbz: to.params.ort_kurzbz,\n\t\t\t\t\t\tmode: DEFAULT_MODE_RAUMINFO,\n\t\t\t\t\t\tfocus_date: new Date().toISOString().split(\"T\")[0]\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tpath: `/CisVue/Cms/getRoomInformation/:mode/:focus_date/:ort_kurzbz`,\n\t\t\tname: 'RoomInformation',\n\t\t\tcomponent: RoomInformation,\n\t\t\tprops: (route) => { // validate and set mode/focus date if for some reason missing\n\t\t\t\tconst validModes = [\"Month\", \"Week\", \"Day\"];\n\n\t\t\t\t// check mode string\n\t\t\t\tconst mode = route.params.mode &&\n\t\t\t\tvalidModes.includes(route.params.mode.charAt(0).toUpperCase() + route.params.mode.slice(1).toLowerCase())\n\t\t\t\t\t? route.params.mode.charAt(0).toUpperCase() + route.params.mode.slice(1).toLowerCase()\n\t\t\t\t\t: DEFAULT_MODE_RAUMINFO;\n\n\t\t\t\t// default to today date if not provided\n\t\t\t\tconst d = new Date(route.params.focus_date)\n\t\t\t\tconst focus_date = !isNaN(d) ? route.params.focus_date : new Date().toISOString().split(\"T\")[0];\n\n\t\t\t\t// for consistency reasons format the props into one object but actually use a new name to we dont collide with\n\t\t\t\t// existing viewData declaration written from codeigniter 3 into routerview tag\n\t\t\t\treturn {\n\t\t\t\t\tpropsViewData: {\n\t\t\t\t\t\tmode,\n\t\t\t\t\t\tfocus_date,\n\t\t\t\t\t\tort_kurzbz: route.params.ort_kurzbz\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t\tbeforeEnter: (to, from, next) => {\n\t\t\t\t// missing mode or focus_date -> set defaults\n\t\t\t\tif (!to.params.mode || !to.params.focus_date) {\n\t\t\t\t\tnext({\n\t\t\t\t\t\tname: \"RoomInformation\",\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\tmode: to.params.mode || DEFAULT_MODE_RAUMINFO,\n\t\t\t\t\t\t\tfocus_date: to.params.focus_date || new Date().toISOString().split(\"T\")[0],\n\t\t\t\t\t\t\tort_kurzbz: route.params.ort_kurzbz\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpath: `/CisVue/Cms/Content/:content_id`,\n\t\t\tname: 'Content',\n\t\t\tcomponent: CmsContent,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/CisVue/Cms/News`,\n\t\t\tname: 'News',\n\t\t\tcomponent: CmsNews,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/MyLv/:studiensemester?`,\n\t\t\tname: 'MyLv',\n\t\t\tcomponent: MylvStudent,\n\t\t\tprops: true,\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/MyLv/Info/:studien_semester/:lehrveranstaltung_id`,\n\t\t\tname: 'LvInfo',\n\t\t\tcomponent: Info,\n\t\t\tprops: true\n\t\t},\n\t\t// Redirect old links to new format\n\t\t{\n\t\t\t// only trigger on first param being numeric to avoid paths like \"LvPlan/Month\" entering here\n\t\t\tpath: \"/Cis/LvPlan/:lv_id(\\\\d+)\", \n\t\t\tname: \"LvPlanOld\",\n\t\t\tcomponent: LvPlan,\n\t\t\tredirect(to) {\n\t\t\t\tconst route = Vue.unref(router.currentRoute);\n\t\t\t\tconst { mode, focus_date } = route.params; // keep mode and focus_date if available\n\t\t\t\treturn { // redirect to longer LvPlan url and map params\n\t\t\t\t\tname: \"LvPlan\",\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tmode,\n\t\t\t\t\t\tfocus_date,\n\t\t\t\t\t\tlv_id: to.params.lv_id\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/LvPlan/:mode?/:focus_date?/:lv_id?`,\n\t\t\tname: 'LvPlan',\n\t\t\tcomponent: LvPlan,\n\t\t\tprops(route) {\n\t\t\t\treturn {\n\t\t\t\t\tpropsViewData: route.params\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/MyLvPlan/:mode?/:focus_date?`,\n\t\t\tname: 'MyLvPlan',\n\t\t\tcomponent: MyLvPlan,\n\t\t\tprops(route) {\n\t\t\t\treturn {\n\t\t\t\t\tpropsViewData: route.params\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis4`,\n\t\t\tname: 'Cis4',\n\t\t\tcomponent: FhcDashboard,\n\t\t\tprops: {dashboard: 'CIS'},\n\t\t},\n\t\t{\n\t\t\tpath: `/`,\n\t\t\tname: 'FhcDashboard',\n\t\t\tcomponent: FhcDashboard,\n\t\t\tprops: {dashboard: 'CIS'},\n\t\t},\n\t\t{\n\t\t\tpath: '/:pathMatch(.*)*',\n\t\t\tname: 'Fallback',\n\t\t\tcomponent: FhcDashboard,\n\t\t\tprops: {dashboard: 'CIS'},\n\t\t\tredirect: () => {\n\t\t\t\treturn {\n\t\t\t\t\tname: \"Cis4\",\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tdashboard: 'CIS'\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t]\n})\n\nconst app = Vue.createApp({\n\tname: 'FhcApp',\n\tdata: () => ({\n\t\tappSideMenuEntries: {},\n\t\trenderers: null,\n\t}),\n\tcomponents: {},\n\tcomputed: {\n\t\tisMobile() {\n\t\t\treturn /Mobi|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n\t\t}\t\n\t},\n\tprovide() {\n\t\treturn { // provide injectable & watchable language property\n\t\t\tlanguage: Vue.computed(() => this.$p.user_language),\n\t\t\trenderers: Vue.computed(() => this.renderers),\n\t\t}\t\n\t},\n\tmethods: {\n\t\tisInternalRoute(href) {\n\t\t\tconst internalBase = window.location.origin\n\t\t\treturn href.startsWith(internalBase);\n\t\t},\n\t\thandleClick(event) {\n\t\t\tconst target = event.target.closest('a');\n\n\t\t\tif(target?.id == 'skiplink') return\n\t\t\tif (target && this.isInternalRoute(target.href)) {\n\t\t\t\tconst url = new URL(target.href)\n\t\t\t\t\n\t\t\t\tconst path = url.pathname\n\t\t\t\tconst base = this.$router.options.history.base\n\t\t\t\tconst route = path.replace(base, '') || '/'\n\n\t\t\t\t// let click event propagate normally if we dont route internally\n\t\t\t\tconst res = this.$router.resolve(route)\n\t\t\t\tif(!res?.matched?.length || res.name === 'Fallback') return\n\t\t\t\t\n\t\t\t\tevent.preventDefault(); // Prevent browser navigation\n\t\t\t\t\n\t\t\t\tif(this.isMobile) { // toggle the menu\n\t\t\t\t\tconst navMain = document.getElementById('nav-main');\n\t\t\t\t\t// fix unwanted toggle from off to on for some links on mobile\n\t\t\t\t\tif(navMain.classList.contains('show')){\n\t\t\t\t\t\tdocument.getElementById('nav-main-btn').click();\n\t\t\t\t\t} \n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.$router.push(route);\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t},\n\tasync created(){\n\t\tawait this.$api\n\t\t\t.call(ApiRenderers.loadRenderers())\n\t\t\t.then(res => res.data)\n\t\t\t.then(data => {\n\t\t\t\tfor (let rendertype of Object.keys(data)) {\n\t\t\t\t\tlet modalTitle = null;\n\t\t\t\t\tlet modalContent = null;\n\t\t\t\t\tlet calendarEvent = null;\n\t\t\t\t\tif (data[rendertype].modalTitle)\n\t\t\t\t\t\tmodalTitle = Vue.markRaw(Vue.defineAsyncComponent(() => import(data[rendertype].modalTitle)));\n\t\t\t\t\tif (data[rendertype].modalContent) \t\n\t\t\t\t\t\tmodalContent = Vue.markRaw(Vue.defineAsyncComponent(() => import(data[rendertype].modalContent)));\n\t\t\t\t\tif (data[rendertype].calendarEvent) \t\n\t\t\t\t\t\tcalendarEvent = Vue.markRaw(Vue.defineAsyncComponent(() => import(data[rendertype].calendarEvent)));\n\n\t\t\t\t\tif (data[rendertype].calendarEventStyles){\n\t\t\t\t\t\tvar head = document.head;\n\t\t\t\t\t\tif(!head.querySelector(`link[href=\"${data[rendertype].calendarEventStyles}\"]`)){\n\t\t\t\t\t\t\tvar link = document.createElement(\"link\");\n\t\t\t\t\t\t\tlink.type = \"text/css\";\n\t\t\t\t\t\t\tlink.rel = \"stylesheet\";\n\t\t\t\t\t\t\tlink.href = data[rendertype].calendarEventStyles;\n\t\t\t\t\t\t\thead.appendChild(link);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif(this.renderers === null) {\n\t\t\t\t\t\tthis.renderers = {};\n\t\t\t\t\t}\n\t\t\t\t\tif (!this.renderers[rendertype]) {\n\t\t\t\t\t\tthis.renderers[rendertype] = {}\n\t\t\t\t\t}\n\t\t\t\t\tthis.renderers[rendertype].modalTitle = modalTitle;\n\t\t\t\t\tthis.renderers[rendertype].modalContent = modalContent;\n\t\t\t\t\tthis.renderers[rendertype].calendarEvent = calendarEvent;\n\t\t\t\t}\n\t\t\t});\n\t},\n\tmounted() {\n\t\tdocument.addEventListener('click', this.handleClick);\n\t},\n\tbeforeUnmount() {\n\t\tdocument.removeEventListener('click', this.handleClick);\n\t},\n});\n\n// kind of a bandaid for bad css on some pages to avoid horizontal scroll\nsetScrollbarWidth();\napp.config.globalProperties.$capitalize = capitalize;\napp.use(router);\napp.use(primevue.config.default, {\n\tzIndex: {\n\t\toverlay: 9000,\n\t\ttooltip: 8000\n\t}\n})\napp.directive('tooltip', primevue.tooltip);\napp.use(PluginsPhrasen);\napp.use(Theme);\napp.directive('contrast', contrast);\napp.mount('#fhccontent');\n\nrouter.afterEach((to, from, failure) => {\n\tapp.config.globalProperties.$api.call(ApiRouteInfo.info('cis4', to.fullPath));\n});","// Create a temporary div element, set styles to ensure it's scrollable and off-screen, get scrollbar width from that\nfunction getScrollbarWidth() {\n\tconst div = document.createElement('div');\n\n\tdiv.style.position = 'absolute';\n\tdiv.style.top = '-9999px';\n\tdiv.style.width = '100px';\n\tdiv.style.height = '100px';\n\tdiv.style.overflow = 'scroll';\n\n\tdocument.body.appendChild(div);\n\tconst scrollbarWidth = div.offsetWidth - div.clientWidth;\n\tdocument.body.removeChild(div);\n\n\treturn scrollbarWidth;\n}\n\n// Detect the browser and set a CSS variable for the scrollbar width since chrome scrollbars mess with 100vw/vh css\nexport function setScrollbarWidth() {\n\tconst isChromium = /Chrome/.test(navigator.userAgent);\n\tconst isFirefox = /Firefox/.test(navigator.userAgent);\n\n\tif (isChromium) {\n\t\tconst width = getScrollbarWidth() + 'px';\n\t\tdocument.body.style.setProperty('--scrollbar-width', width); // Set the value for Chrome\n\t} else if (isFirefox) {\n\t\tdocument.body.style.setProperty('--scrollbar-width', '0px'); // Set the value for Firefox or adjust as needed\n\t}\n}","export function capitalize(string) {\n\tif (!string) return '';\n\treturn string[0].toUpperCase() + string.slice(1);\n}"],"names":["BsModal","name","data","modal","fullscreen","props","backdrop","type","Boolean","String","default","validator","value","includes","focus","keyboard","noCloseBtn","dialogClass","Array","Object","headerClass","bodyClass","footerClass","allowFullscreenExpand","emits","methods","dispose","this","handleUpdate","hide","show","relatedTarget","toggle","toggleFullscreen","mounted","$refs","bootstrap","Modal","popup","body","options","title","footer","slots","undefined","includedPrimevue","primevue","Promise","resolve","reject","instance","Vue","createApp","setup","h","class","ref","unmount","beforeUnmount","result","unmounted","wrapper","parentElement","removeChild","document","createElement","use","config","zIndex","overlay","then","Phrasen$1","Phrasen","mount","appendChild","template","Alert","components","mixins","onHideBsModal","Function","onHiddenBsModal","onHidePreventedBsModal","onShowBsModal","onShownBsModal","modalContainer","msg","bind","BsConfirm$1","BsAlert","GridItem","inject","item","active","dragAction","dragging","computed","registerDragAction","evt","$emit","target","hasAttribute","getAttribute","parent","closest","tryDragStart","touchDragEnd","touchStart","event","touchMove","preventDefault","GridLogic","constructor","w","grid","isFreeSlot","x","y","i","getMaxY","reduce","acc","getFreeSlots","freeSlots","biggestY","totalSpaces","length","Math","floor","push","add","prefer","occupiers","getItemsInFrame","frame","forEach","f","index","max","intermGrid","possiblities","tryMoving","bestOption","sort","a","b","cost","moves","v","move","currItem","getItemFrame","remove","console","error","place","pinned","originalFrame","isArray","some","occupiersData","map","occupier","occupiersFrame","flat","replaceUpdate","newOccupierFrames","occ","shift","getSingleFramePosition","updates","resize","newPoss","possiblity","p","directions","weight","dir","res","tryMovingInDirection","filter","amount","targetframe","unshift","clearWeights","indexOf","j","debug","DropGrid","cols","Number","items","itemsSetup","resizeLimit","marginForExtraRow","additionalRow","clientX","clientY","mode","dragGrid","permUpdates","positionUpdates","fixedPositionUpdates","draggedOffset","draggedItem","draggedNode","reorderedItems","clonedWidget","sectionName","additionalRowComputed","get","set","items_hashmap","needsReordering","rearrangedPosition","widget","widgetid","pop","items_placeholders","placeholders","col_max","rows_max","rows","occupied","keys","current_item","max_x","max_y","occupied_y","occupied_x","placeholder","id","padStart","placedItems_withPlaceholders","placedItems","gridStyle","addH","indexedItems","prePlacedItems","mappedPlacedItems","height_diff","width_diff","temporaryResizeItems","newItem","resizeOverlay","blank","showEmptyTileHover","widgetSetup","widgetsSetup","ele","widget_id","watch","dragCancel","handler","immediate","updated","createNewGrid","deep","toggleDraggedItemOverlay","condition","firstElementChild","classList","containerRect","container","getBoundingClientRect","clonedWidgetRect","desiredTop","desiredLeft","minTop","maxTop","height","minLeft","maxLeft","width","constrainedTop","min","constrainedLeft","style","top","left","sortedItems","firstFreeSlot","targetX","targetW","convertGridResultToUpdate","input","output","baseArray","mouseLeave","updateCursor","rect","touches","gridX","clientWidth","gridY","clientHeight","_dragStart","dataTransfer","setDragImage","dropEffect","effectAllowed","startMove","setTimeout","clone","cloneNode","querySelector","removeProperty","startResize","dragOver","checkPinnedWidgetAnimation","checkWidgetSizeLimitAnimation","removeWidgetClones","dragEnd","getElementById","from","getElementsByClassName","_updateFixedPositions","additionalUpdates","emptyTileClicked","updateCursorOnMouseMove","itemAtPosition","pinNode","contains","draggedItemSetup","draggedItemMaxWidth","draggedItemMinWidth","draggedItemMaxHeight","draggedItemMinHeight","draggedItemNode","width_after_resize","height_after_resize","widgetClones","mouseDown","mouseUp","__widgets","__widgetsStarted","__path","FHC_JS_DATA_STORAGE_OBJECT","app_root","ci_router","CachedWidgetLoader","getWidget","loadWidget","axios","params","retval","arguments","JSON","parse","catch","response","setPath","path","DashboardItem","HeightTransition","onEnter","el","done","scrollHeight","onLeave","component","tmpConfig","isLoading","hasConfig","sharedData","maxHeight","maxWidth","prototype","toString","call","minHeight","minWidth","isResizeable","isPinned","ready","unpin","editMode","item_data","pinItem","getWidgetC4Link","cis4link","handleShowBsModal","handleHideBsModal","e","startDrag","dragHandle","resizeHandle","openConfig","setConfig","changeConfig","sendChangeConfig","changeConfigManually","k","created","import","relativeurl","file","fhcomplete_build_version","$options","WidgetIcon","required","src","DashboardSection","adminMode","configOpened","gridWidth","gridHeight","provide","editModeIsActive","computedWidgetsSetup","getSectionStyle","widgets","reorder","sectionNameTranslation","$p","t","showSectionInformation","handleConfigOpened","handleConfigClosed","checkResizeLimit","minmaxW","minmaxH","removeWidget","revert","custom","BsConfirm","update","hidden","updatePreset","saveConfig","payload","updatePositions","self","cont","parseInt","window","getComputedStyle","getPropertyValue","addEventListener","DashboardWidgetPicker","callbacks","close","pick","ObjectUtils","mergeDeep","objects","isObject","obj","prev","key","pVal","oVal","concat","ApiDashboard","getViewData","method","url","FhcDashboard","dashboard","viewData","uid","timezone","sections","viewDataInternal","apiurl","widgetAdd","section_name","db","err","widgetpicker","Date","valueOf","loading","section","post","funktion_kurzbz","newId","splice","alert","widgetUpdate","wid","prop","_x","_y","_w","_h","preset","widgetRemove","loadCategory","section1","section2","beforeMount","$api","search","searchsettings","$fhcApi","searchAdvanced","searchdummy","phrasen$2","category","setLanguage","categories","language","getLanguage","getActiveDbLanguages","navigation","getHeader","navigation_page","getMenu","filter$1","saveCustomFilter","wsParams","filterUniqueId","filterType","customFilterName","removeCustomFilter","filterId","applyFilterFields","filterFields","addFilterField","filterField","removeFilterField","getFilterById","getFilter","studstatus","abmeldung","getDetails","antrag_id","prestudent_id","create","stdsem","grund","studiensemester","errorHandling","cancel","allSettled","antrag","studierendenantrag_id","errorHeader","unterbrechung","datum_wiedereinstieg","attachment","wiederholung","getLvs","saveLvs","forbiddenLvs","mandatoryLvs","leitung","getStgs","getAntraege","getHistory","getPrestudents","query","signal","timeout","approve","reopen","pause","unpause","object","approveObjection","denyObjection","profil","getView","fotoSperre","isStudent","isMitarbeiter","getZustellAdresse","getZustellKontakt","getGemeinden","nation","zip","getAllNationen","profilUpdate","getStatus","getTopic","acceptProfilRequest","profil_update_id","status_message","topic","requested_change","denyProfilRequest","insertFile","dms","replace","getProfilRequestFiles","requestID","selectProfilRequest","insertProfilRequest","fileID","updateProfilRequest","ID","deleteProfilRequest","lvPlan","getRoomInfo","ort_kurzbz","start_date","end_date","getStunden","getOrtReservierungen","getLvPlanReservierungen","getLehreinheitStudiensemester","lehreinheit_id","studiensemesterDateInterval","date","LvPlanEvents","lv_id","stv","verband","favorites","students","studiensemester_kurzbz","encodeURIComponent","getUri","prestudent","person","person_id","relative_path","getStg","setStg","studiengang_kz","konto","tabulatorConfig","ajaxURL","ajaxParams","modelValue","only_open","studiengang_kz_intern","stg_kz","ajaxRequestFunc","ajaxResponse","checkDoubles","form","confirmErrorHandler","insert","counter","edit","delete","buchungsnr","getBuchungstypen","group","getGruppen","deleteGroup","kontakt","getAdressen","addNewAddress","loadAddress","address_id","updateAddress","deleteAddress","getPlaces","plz","getFirmen","searchString","getNations","getAdressentypen","getBankverbindung","addNewBankverbindung","loadBankverbindung","bankverbindung_id","updateBankverbindung","deleteBankverbindung","getKontakte","addNewContact","loadContact","kontakt_id","updateContact","deleteContact","getStandorteByFirma","getKontakttypen","updatePrestudent","getBezeichnungZGV","getBezeichnungMZgv","getBezeichnungDZgv","getAusbildung","getAufmerksamdurch","getBerufstaetigkeit","getTypenStg","getBisstandort","getHistoryPrestudent","getMaxSem","studiengang_kzs","advanceStatus","status_kurzbz","ausbildungssemester","confirmStatus","isLastStatus","deleteStatus","getLastBismeldestichtag","getHistoryPrestudents","status","insertStatus","loadStatus","updateStatus","getStudienplaene","getStudiengang","getStatusgruende","getStati","addStudent","changeStatus","getStatusarray","details","save","exam","getPruefungen","loadPruefung","pruefung_id","getTypenPruefungen","getAllLehreinheiten","getLvsByStudent","getLvsandLesByStudent","semester","getLvsAndMas","getMitarbeiterLv","getNoten","checkZeugnisnoteLv","addPruefung","updatePruefung","deletePruefung","abschlusspruefung","getAbschlusspruefung","addNewAbschlusspruefung","loadAbschlusspruefung","updateAbschlusspruefung","deleteAbschlusspruefung","getTypenAbschlusspruefung","getTypenAntritte","getBeurteilungen","getAkadGrade","getTypStudiengang","getMitarbeiter","getPruefer","checkForExistingExams","uids","grades","list","getCertificate","getTeacherProposal","getRepeaterGrades","updateCertificate","lehrveranstaltung_id","student_uid","note","lehrveranstaltung_bezeichnung","deleteCertificate","copyTeacherProposalToCertificate","copyRepeaterGradeToCertificate","studierendenantrag_lehrveranstaltung_id","lv_bezeichnung","getGradeFromPoints","points","manualErrorHandling","mobility","getMobilitaeten","getProgramsMobility","addNewMobility","loadMobility","bisio_id","updateMobility","deleteMobility","getLVList","getPurposes","getSupports","getListPurposes","getListSupports","deleteMobilityPurpose","addMobilityPurpose","deleteMobilitySupport","addMobilitySupport","archiv","getArchivVorlagen","archive","archiveSigned","akte_id","documents","getDocumentsUnaccepted","getDocumentsAccepted","deleteZuordnung","dokument_kurzbz","createZuordnung","loadAkte","getDoktypen","updateFile","deleteFile","uploadFile","exemptions","getAnrechnungen","getLehrveranstaltungen","getBegruendungen","getLvsKompatibel","getLektoren","addNewAnrechnung","loadAnrechnung","anrechnung_id","editAnrechnung","deleteAnrechnung","jointstudies","getStudies","getTypenMobility","getStudiensemester","getStudyprograms","getListPartner","getStatiPrestudent","loadStudy","insertStudy","updateStudy","deleteStudy","courselist","getCourselist","group_consecutiveHours","dbStundenplanTable","configStudent","configStudents","notiz","getNotizen","getUid","addNewNotiz","formData","loadNotiz","notiz_id","loadDokumente","deleteNotiz","type_id","updateNotiz","isBerechtigt","betriebsmittel","getAllBetriebsmittel","addNewBetriebsmittel","loadBetriebsmittel","betriebsmittelperson_id","updateBetriebsmittel","deleteBetriebsmittel","getTypenBetriebsmittel","loadInventarliste","checkperson","updatePersonUnrulyStatus","unrulyParam","unruly","filterPerson","base","ort","getContentID","ort_kurbz","getRooms","datum","von","bis","typ","personenanzahl","getRoomTypes","cms","content","content_id","version","sprache","sichtbar","getNews","page","page_size","news","limit","getNewsRowCount","getNewsExtra","lehre","getStudentenMail","getLvInfo","getStudentPruefungen","getStudentProjektarbeiten","getStudentProjektabgaben","detail","projektarbeit_id","postStudentProjektarbeitEndupload","Headers","postStudentProjektarbeitZwischenabgabe","getStudentProjektarbeitAbgabeFile","paabgabe_id","location","getMitarbeiterProjektarbeiten","all","postProjektarbeitAbgabe","termin","paabgabetyp_kurzbz","bezeichnung","fixtermin","insertvon","kurzbz","deleteProjektarbeitAbgabe","postSerientermin","projektarbeit_ids","fetchDeadlines","addons","getLvMenu","lvid","messages","getMessages","size","getVorlagen","getMsgVarsLoggedInUser","getMessageVarsPerson","getMsgVarsPrestudent","getPersonId","getDataVorlage","vorlage_kurzbz","getNameOfDefaultRecipient","getPreviewText","getReplyData","messageId","sendMessageFromModalContext","sendMessage","deleteMessage","vorlagen","getVorlagenByLoggedInUser","studium","getAllStudienSemester","studiengang","studienplan","getStudiengaengeForStudienSemester","getStudienplaeneBySemester","getLvPlanForStudiensemester","getLvEvaluierungInfo","FhcApiFactory","phrasen","bookmark","getBookmarks","bookmark_id","tag","ampeln","open","confirm","ampel_id","studiengangInformation","getStudiengangByKz","menu","authinfo","getAuthUID","getAuthInfo","getAll","OldFhcApi","install","app","globalProperties","factory","warn","addEndpoints","_get_config","uri","TypeError","clearValidation","setFeedback","_clean_return_value","meta","fhcApiAxios","baseURL","interceptors","request","FormData","values","every","FileList","File","newData","entries","nd","append","jsondata","stringify","errors","_defaultErrorHandlers","code","handled","$fhcAlert","alertDefault","message","responseURL","alertError","validation","apply","general","php","filename","line","backtrace","function","severity","alertSystemError","exception","heading","sql","join","auth","controller","required_permissions","FhcApiFactoryWrapper","factorypart","root","defineProperty","noWarn","CORE_REST_CLIENT_ERROR","CORE_REST_CLIENT_RETVAL","CoreRESTClient","wsURL","wsParameters","axiosParameters","_axiosCall","isSuccess","hasOwnProperty","isError","hasData","trim","getData","getError","getErrorCode","_generateRouterURI","_printDebug","parameters","errorThrown","axiosCallObj","helperAppContainer","helperApp","PvToast","PvConfirm","mailToUrl","slotProps","systemerror_mailto","called_path","called_method","openMessagecard","Collapse","getOrCreateInstance","showmaillink","PvConfig","PvConfirmationService","helperAppInstance","FhcAlert","FhcPhrasen","alertSuccess","toast","summary","life","alertInfo","alertWarning","confirmDelete","$confirm","require","header","acceptLabel","acceptClass","rejectLabel","rejectClass","accept","sticky","html","alertMultiple","messageArray","handleSystemError","toLowerCase","errMsg","toUpperCase","stack","handleSystemMessage","resetFormValidation","Event","querySelectorAll","dispatchEvent","handleFormValidation","nodeType","Node","ELEMENT_NODE","notFound","CustomEvent","arr","PluginsApi","_send_array_or_object","func","errs","DEFAULT_ERROR_CONFIG","success","fail","combine","async","_format_toast","_default","field","msgs","n_errors","n","get_config","clean_return_value","_merge_error_config","get_error_handler","formHandler","get_error_list","popHandleableErrors","copy","newType","newTypeCombinesType","newTypeHasHandler","errorConfig","remaining","configoverwrite","typedErrors","allowed","reason","errType","getErrorHandler","ApiPhrasen","reactive","loadingModules","user_language","user_locale","server_languages","find","LC_Time","catArray","row","phrase","text","elem","extractCategory","t_ref","split","val","match","p1","getValueForLoadedPhrase","PluginsPhrasen","cat","lang","theme_name","theme","theme_modes","modes","toggleTheme","documentElement","setAttribute","stylesheet","attributes","href","localStorage","setItem","Theme","initializeTheme","getItem","$theme","switchTheme","rgbToHex","hex","getContrastYIQ","hexcolor","substring","contrast","element","binding","bgColor","backgroundColor","rgbRegEx","RegExp","isRgb","r","g","hexColor","color","TYPE_DEFINITION","lehreinheit","dragIcon","extras","vevent","student","VALID_TYPES","isValidDragObject","substr","extra","getValidTransferData","allowedTypes","strict","getTransferData","_error","types","base_type","collection","DragAndDrop","isValidTransferData","convertToValidDragObject","converted","sorted","found","typedef","setTransferData","validDragObject","dragElements","icon","label","iconContainer","className","textContent","boxShadow","itemContainer","requestAnimationFrame","setData","eventHasTypes","bindDragEnterLeave","skipLeave","skipLeaveParent","init","globalDragenter","globalDragleave","globalDrop","removeEventListener","cleanup","wasDropped","CalDnd","vnode","arg","cancelable","bubbles","offsetX","offsetWidth","offsetY","offsetHeight","originalEvent","hitbox","pos","pageX","scrollLeft","pageY","scrollTop","modifiers","once","timestamp","prevVnode","BaseDraganddrop","directives","events","correctedEvents","backgrounds","dropAllowed","dropableEvents","draggedInternalEvent","draggedExternalEvent","targetTimestamp","targetGridEnds","shadowPreview","findIndex","previewEvent","toSpliced","correctedBackgrounds","start","end","orig","onDragstart","convertToTransferData","onDragend","onDragenter","isostart","luxon","DateTime","fromISO","setZone","local","isoend","onDragleave","onDragchange","ends","onDrop","BaseHeader","DatePicker","VueDatePicker","listLength","convertedDate","keepLocalTime","current","month","year","startOf","ts","plus","days","useLocaleWeeks","endOf","toLocaleString","localWeekYear","week","toFormat","DATE_FULL","weekStart","Info","getStartOfWeek","fromObject","setLocale","locale","fromJSDate","weekNumbers","localWeekNumber","modeOptions","btnMonth","btnWeek","btnDay","btnList","clickMode","defaultPrevented","BaseSlider","time","extrasAfter","extrasBefore","running","promiseResolve","itemsAfter","itemsBefore","styleSlider","position","transition","styleBefore","display","right","styleAfter","prevPage","slidePages","nextPage","newTarget","endSlide","clickListeners","saveAddClickListener","source","listener","stopPropagation","customEvent","CalClick","finalEvent","FhcCalendar$1","timeGrid","draggableEvents","hasDragoverFunc","onDragover","now","showBtns","internalView","internalDate","modalEvent","convertedEvents","convertedBackgrounds","bg","isInteger","fromMillis","zone","sDate","cDate","cMode","sMode","o","isValid","hasSame","clickPrev","clickNext","handleClickDefaults","number","zoneName","onDropItem","showEventModal","eventObj","hideEventModal","closeFn","onModalHidden","ApiLvPlan","getLvPlan","eventsPersonal","eventsLv","getLv","GridLineEvent","isHeaderOrFooter","draggable","classes","startsHere","endsHere","CalendarGrid","GridLine","LineEvent","LineBackground","flipAxis","background","styles","perc","border","diff","axisRow","eventsWithRowInfo","toMillis","originalEvents","originalBackgrounds","axisMain","axisParts","Duration","allDayEvents","axisMainCollapsible","snapToGrid","resizeObserver","mutationObserver","userScroll","axisCol","axisPartsWithBreaks","tu","lastTuEnd","slice","axisPartsSave","partsEnds","part","axisMainBorders","curr","eventsAllDay","mapIntoMainAxis","allDayEvent","eventsNormal","hasValidEvents","styleGridCols","styleGridRows","gridlines","mainIndex","day","laneStart","laneEnd","getPageTop","pageTop","offsetTop","offsetParent","getPageLeft","pageLeft","offsetLeft","getTimestampFromMouse","dayTimestamp","mouse","mouseFrac","main","enableAutoScroll","ResizeObserver","scrollToEarliestEvent","observe","MutationObserver","mutations","m","addedNodes","matches","subtree","childList","disableAutoScroll","disconnect","eventElements","scroller","earliestEventOffset","scrollIntoView","behavior","scrollTo","LabelDay","titleFull","titleLong","titleShort","titleNarrow","LabelDow","weekday","LabelTime","start_ok","end_ok","sanitizedTimestamps","formatTime","toISOTime","suppressSeconds","ModeDay","DayView","emptyMessage","emptyMessageDetails","chosenEvent","gridMainRef","fromISOTime","hours","currentEvent","first","isToday","compact","threshold","elementRef","isRef","$el","compareArray","updateResultVars","compare","observer","addObserver","removeObserver","onMounted","onUnmounted","watchEffect","useResizeObserver","currentDate","focusDate","rangeOffset","range","last","Interval","fromDateTimes","view","slider","updatePage","newFocusDate","viewAttrs","$attrs","ModeWeek","WeekView","collapseEmptyDays","weeks","ModeMonth","MonthView","LabelWeek","firstDay","lastDay","d","startdate","nextRangeStart","months","dayInWeek","FhcCalendar","getPromiseFunc","markRaw","teachingunits","includeOffset","eventStyle","farbe","updateRange","rangeInterval","context","lv","loading_id","loadingEvents","allEvents","eventsLoaded","mergePromiseArr","markEventsLoaded","indexIsLast","nStart","rStart","nEnd","toISODate","toValue","promises","results","useEventLoader","newValue","emit","stunde","beginn","ende","ApiAuthinfo","LvPlan","propsViewData","currentDay","focus_date","isNaN","currentMode","currentLv","lvTitle","bezeichnung_english","handleChangeDate","newMode","handleChangeMode","$router","MyLvPlan","studiensemester_start","studiensemester_ende","downloadLinks","opts","toUnixInteger","download_link","link","LvPruefungen","pruefungenData","ApiLehre","infos","studien_semester","studiengang_kuerzel","orgform_kurzbz","ects","incoming","info","lektorNamesLinks","lektorenLinks","lektoren","titelpre","vorname","nachname","titelpost","lektorNames","lvLeitung","oe","organisationseinheittyp","oeLeitung","koordinator","currentLang","lastLang","lvinfo","lvinfoDefaultLang","assign","reloadRefs","triggerRef","initialval","FHC_JS_PHRASES_STORAGE_OBJECT","tmp_category","loadLazy","unref","LvMenu","containerStyles","rowStyles","hasLvPlanEintraege","c4_disabled","menuItem","c4_link","c4_moodle_links","c4_target","getMenuName","ApiAddons","LvUebersicht","titel","preselectedMenu","isMenuSelected","lvEvaluierungMessage","hiddenModal","showModal","studium_studiensemester","MylvSemester","MylvSemesterStudiengang","MylvSemesterStudiengangLv","bezeichnung_eng","module","benotung","lvnote","lvnotebez","znote","znotebez","positiv","note_index","preselectedMenuItem","gradeColor","is_organisatorische_einheit","emptyMenu","bodyStyle","grade","languageIndex","LvHasPruefungenInformation","fetchMenu","openLvOption","nextTick","lvUebersicht","openPruefungen","openInfos","LvInfo","pruefungen","kuerzel","lvs","sg_bezeichnung_eng","lehrveranstaltungen","Map","studiengaenge","sg_bezeichnung","lvsForStudiengang","MylvStudent","firstLoad","currentSemester","nearestSem","nearestSemDiff","sem","abs","currentIsFirst","currentIsLast","prevSem","selectedIndex","nextSem","updateRouter","routerStudiensemester","$route","s","beforeRouteUpdate","to","next","CoreFetchCmpt","refresh","apiFunction","apiFunctionParameters","oldValue","fetchData","errorMessage","apiFunctionResult","successHandler","errorHandler","finally","finallyHandler","setError","FILTER_COMPONENT_NEW_FILTER","FilterConfig","filters","columns","fields","switchFilter","applyFilterConfig","currentFields","c","currentTarget","filteredFields","addField","removeField","FilterColumns","selected","names","selectedFields","DEFAULT_ICONS","jsonLines","xlsx","pdf","json","csv","DEFAULT_LABELS","TableDownload","tabulator","iconClass","currentConfig","newConfig","stringToFileFormatter","formatter","validateFileFormatter","lcInput","XLSX","jspdf","jsPDF","autoTable","download","elementDataMap","WeakMap","collapseAutoClose","collapse","getInstance","collapsibleAutoHideFunc","Tabulator","extendModule","fitDataStretchFrozen","forced","colsWidth","tableWidth","table","rowManager","gap","lastCol","column","widthFixed","reinitializeWidth","responsiveLayout","modules","responsive","visible","definition","frozen","getWidth","modExists","setWidth","ApiFilter","_uuid","CoreFilterCmpt","onNwNewEntry","description","sideMenu","tabulatorOptions","tabulatorEvents","tableOnly","noColumnFilter","reload","reloadBtnInfotext","newBtnShow","newBtnClass","newBtnDisabled","newBtnLabel","uniqueId","idField","parentIdField","countOnly","useSelectionSpan","uuid","filterName","filterActive","dataset","datasetMetadata","availableFilters","selectedFilter","fetchCmptRefresh","fetchCmptApiFunction","fetchCmptApiFunctionParams","fetchCmptDataFetched","fetchResult","tableBuilt","tabulatorHasSelector","selectedData","persistence","headerFilter","notSelectedFields","filteredData","filteredColumns","col","resizable","fieldIdsForVisibilty","getColumns","def","getDefinition","getField","fieldNames","idExtra","columnsForFilter","filterTitles","reloadTable","initTabulator","hash","resolvePromiseFunc","setRenderData","startFetchCmpt","layout","movableColumns","columnDefaults","tooltip","selectable","dataTree","on","toDelete","childIdx","child","isVisible","_setHeaderFilter","updateTabulator","_updateTabulator","setColumns","clearFilters","getHeaderFilters","setHeaderFilterValue","clearFilter","render","setSideMenu","setDropDownMenu","personalFilters","filtersArray","filtersCount","filter_id","desc","onClickCall","handlerGetFilterById","subscriptDescription","subscriptLinkClass","subscriptLinkValue","onClickSubscriptCall","handlerRemoveCustomFilter","children","option","dataFetchedCallback","handlerSaveCustomFilter","attr","parentId","parentIdx","_children","beforeCreate","$props","Mailverteiler","AusweisStatus","QuickLinks","mobile","hideCollapse","collapseOpen","showCollapse","Adresse","withZustelladresse","Kontakt","ProfilEmails","RoleInformation","getLinkGruppeListe","gruppe","getLinkVerbandListe","getLinkSemesterListe","ApiProfil","profilViewData","Upload","DmsItem","preview","multiple","inputClass","noList","disabled","stringifyFile","lastModified","lastModifiedDate","addFiles","files","dt","DataTransfer","doubles","removeFile","fileToRemove","upload","dmsFile","ApiProfilUpdate","updateProfilbild","getProfilUpdateWithPermission","ImageUpload","dmsData","Dms","updateID","uploadImage","ProfilInformation","fotoStatus","FotoSperre","foto_sperre","imageUpload","sperre_foto_function","get_image_base64_src","foto","Vorname","Nachname","profilInfo","notIncludedProperties","EditProfilSelect","EditKontakt","originalValue","zustellKontakteCount","updateValue","checked","isChanged","getZustellkontakteCount","showZustellKontakteWarning","zustellung","kontakteOfSelectedType","kontakttyp","EditAdresse","AutoComplete","autocomplete","gemeinden","ortschaftnamen","selectedNation","nationenList","zustellAdressenCount","fileschanged","autocompleteSearchGemeinden","gemeinde","autocompleteSearchOrtschaftsnamen","ortschaft","getGemeinde","Set","ortschaftsname","updateFileID","getZustelladressenCount","deleteDmsData","showZustellAdressenWarning","zustelladresse","adresse_id","strasse","Status","getDocumentLink","dms_id","getComponentView","profilUpdateTopic","cardHeader","status_timestamp","TextInputDokument","withFiles","didFilesChange","didDataChange","emitChanges","toRaw","ariaLabel","breadcrumb","submit","select","breadcrumbItems","modal_topic","properties","addItem","anmerkung","deleteItem","profilUpdateEmit","updateOptions","Loading","state","clearTimeout","EditProfil","Loader","zustelladressenCount","zustellkontakteCount","editData","updateFileIDFunction","newFileID","handleFailedError","setLoading","submitProfilChange","fileData","uploadFiles","handleApiResponse","showFooter","FetchProfilUpdates","showUpdateModal","editProfilTitle","hideEditProfilModal","updateEditModal","showEditProfilModal","updateRequest","profilUpdateStates","deleteRequest","dateFilter","cell","onRendered","div","initialValue","getValue","PrimevueCalendar","calendar","dates","headerValue","rowValue","rowDate","startDate","endDate","setHours","toDateString","singleDate","StudentProfil","collapseIconBetriebsmittel","editDataFilter","preloadedPhrasen","zutrittsgruppen_table_options","persistenceID","zutrittsGruppenPhrase","betriebsmittel_table_options","responsiveLayoutCollapseUseFormatters","responsiveLayoutCollapseFormatter","$collapseFormatter","headerSort","headerClick","collapseFunction","entlehnteBetriebsmittelPhrase","inventarnummerPhrase","ausgabedatum","headerFilterFunc","formatterParams","datetimeFormatterParams","betriebsmittelTableBuilt","betriebsmittelTable","mittel","zutrittsgruppenTableBuilt","zutrittsgruppenTable","zuttritsgruppen","fetchProfilUpdates","profilUpdates","sortProfilUpdates","editModal","inputFormat","outputFormat","invalidPlaceholder","filteredEditData","profilInformation","Username","username","Anrede","anrede","Titel","Postnomen","postnomen","roleInformation","geburtsdatum","gebdatum","geburtsort","gebort","personenkennzeichen","loaded","newVal","MitarbeiterProfil","funktionen_table_options","bezeichnungPhrase","organisationseinheitPhrase","gueltigVonPhrase","gueltigBisPhrase","wochenstundenPhrase","Nummer","Ausgegeben_am","ausgabedatumPhrase","funktionenTableBuilt","funktionenTable","funktionen","setTableColumnTitles","getTelefonValue","standort_telefon","telefonklappe","telefon","office","ViewStudentProfil","personEmails","emails","ViewMitarbeiterProfil","collapseIconFunktionen","item2","innerHTML","Profil","notFoundUID","isEditable","editable","allClickableIcons","_column","cells","click","ele1","ele2","insertamum","reverse","load","profil_data","adressen","adressenArray","adresse","adr","kontakte","kontakteArray","kontant","kon","Personen_Informationen","Private_Kontakte","listview","Private_Adressen","loadingModalRef","oldVal","ApiOrt","Raumsuche","InputNumber","inputnumber","phrasenPromise","phrasenResolved","tabulatorUuid","tableBuiltResolve","tableBuiltPromise","roomtypes","defaultType","raumtyp_kurzbz","beschreibung","anzahl","selectedType","getHours","minutes","getMinutes","datepickerTextInputOptions","enterSubmit","tabSubmit","selectOnFocus","format","escClose","timepickerTextInputOptions","raumsucheTableOptions","widthGrow","linkFormatter","raumsucheTableEventHandlers","tableResolve","arialabel","roomPlanLink","room","roomInfoLink","getTimeString","setupData","nummer","planbezeichnung","personen","max_person","linkInfo","linkRes","raumsucheTable","loadRoomTypes","loadRooms","toISOString","handleUuidDefined","setRoute","dateFormat","getDate","getMonth","getFullYear","timeFormat","setupMounted","tableID","tableDataSet","visualViewport","setProperty","isDarkMode","Pagination","paginator","maxPageCount","newPageEvent","StudiengangPerson","telefoneklappe","email","displayWidget","formattedEmail","emailArray","fullname","phone","email_link","base64Image","profilViewLink","StudiengangVertretung","vertretungsList","showBezeichnung","vertretungFormatedName","vertretung","ApiStudiengang","StudiengangInformation","stg_ltg","gf_ltg","stv_ltg","ass","hochschulvertr","stdv","jahrgangsvertr","collection_array","returnData","moodleLink","studiengangInformationen","ApiCms","CmsNews","fetchNews","Axios","loadNewPageContent","raum_contentmittitel","imgContent","sanitizeLegacyTables","pElement","parentNode","replaceChild","u","li","scrollWidth","firstChild","TEXT_NODE","th","childNodes","cn","tables","getElementsByTagName","innerText","room_name","room_name_reg_exp","room_name_reg_exp_result","link_element","replaceWith","lvplanlinks","lvplanlink","img","DOMParser","parseFromString","imgAttributes","regexList","relative","priority","regex","replacement","group_replacement_strategy","absolute","relative_regex","replaceRelativeLegacyLink","relativeLegacyLink","new_link","query_parameter","prepareContent","new_href","CmsContent","news_content","iframe_content","srcUrl","iframe","content_type","content_id_internal","fetchContent","$nextTick","computeContentType","DEFAULT_MODE_RAUMINFO","RoomInformation","today","AbgabeStudentDetail","Checkbox","checkbox","Dropdown","dropdown","Textarea","textarea","projektarbeit","viewMode","eidAkzeptiert","enduploadTermin","allActiveLanguages","abstract","abstract_en","schlagwoerter","schlagwoerter_en","kontrollschlagwoerter","seitenanzahl","validate","triggerEndupload","bperson_id","handleUploadRes","modalContainerEnduploadZusatzdaten","downloadAbgabe","formatDate","dateParam","padZero","num","signaturInfo","dateDiffInDays","round","getDateStyle","abgabedatum","openBeurteilungLink","getOptionLabel","getEid","getEnduploadErlaubt","VerticalSplit","availHeight","topheight","bottomheight","mousePosY","vsplitter","vsplitterOffset","selfOffsetTop","calcHeights","trackVerticalSplitterOffsetTop","windowheight","innerHeight","oldavailHeight","verticalsplit","collapseTop","collapseBottom","showBoth","isCollapsed","dragStart","drag","topOrBottomClass","topheightcss","bottomheightcss","AbgabetoolStudent","AbgabeDetail","student_uid_prop","domain","projektarbeiten","selectedProjektarbeit","abgabeTableOptions","detailFormatter","beurteilungFormatter","centeredTextFormatter","mailFormatter","abgabeTableEventHandlers","getColumn","setDetailComponent","pdfExportLink","betreuerart_kurzbz","betreuer_person_id","isPastDate","loadAbgaben","pa","projekarbeit","abgabetermine","allowedToUpload","betreuer","buildBetreuer","buildMailToLink","abgabe","mitarbeiter_uid","betreuerart_beschreibung","btitelpre","bvorname","bnachname","btitelpost","projekt","babgeschickt","zweitbetreuer_abgeschickt","beurteilungLink","beurteilung","stg","kurzbzlang","mail","projekttypbezeichnung","abgabeTable","loadProjektarbeiten","calcMaxTableHeight","setHeight","isViewMode","AbgabeMitarbeiterDetail","oldPaBeurteilungLink","allAbgabeTypes","openZusatzdatenModal","saveTermin","allowedToSave","allowedToDelete","deleteTermin","deletedTerminIndex","fontColor","getOptionLabelSprache","getOptionLabelAbgabetyp","openStudentPage","openPlagiatcheck","openBenotung","getSemesterBenotbar","isCurrent","endUploadVorhanden","AbgabetoolMitarbeiter","saving","serienTermin","showAll","detailOffset","selectableCheck","selectionCheck","titleFormatter","titleFormatterParams","rowRange","hozAlign","pkzTextFormatter","undoSelection","getRow","isSelected","deselect","showDeadlines","toggleShowAll","showall","redraw","setSort","openAddSeriesModal","modalContainerAddSeries","addSeries","createInfoString","str","buildPKZ","matrikelnr","buildStg","pkz","projekttyp_kurzbz","callback","DeadlineOverview","person_uid_prop","fullName","deadlines","deadlineTableOptions","deadlineTableEventHandlers","loadDeadlines","dl","stud_titelpre","stud_vorname","stud_nachname","stud_titelpost","fixterminstring","deadlineTable","Studium","studienSemester","selectedStudiensemester","selectedStudiengang","studienOrdnung","selectedStudienordnung","selectedSemester","selectedLehrveranstaltung","studium_studiengang","studium_semester","studium_studienordnung","getDataFromLocalStorage","storeDataToLocalStorage","studienordnung","changeStudiensemester","changeSelectedStudienSemester","changeStudiengang","changeSelectedStudienGang","changeSemester","changeSelectedSemester","changeStudienordnung","newSelectIndex","changeSelectedStudienPlan","extractPropertyValues","studienplan_id","openLvUebersicht","lehrveranstaltung","sortStudienSemester","sem1","sem2","sem1Match","sem1Semester","sem1Year","sem2Match","sem2Semester","sem2Year","setHash","preselected","lv1","lv2","studienordnungTitel","orgform_bezeichnung","studiengangTitel","studiensemesterTitel","studiensemester_regex","selectedLehrveranstaltungTitel","lehrform_kurzbz","computedStudienOrdnung","carry","computedStudienOrdnungSelectValues","diabled","ApiRenderers","loadRenderers","ApiRouteInfo","ciPath","router","VueRouter","createRouter","history","createWebHistory","routes","redirect","route","charAt","beforeEnter","currentRoute","appSideMenuEntries","renderers","isMobile","test","navigator","userAgent","isInternalRoute","internalBase","origin","startsWith","handleClick","URL","pathname","matched","rendertype","modalTitle","modalContent","calendarEvent","defineAsyncComponent","calendarEventStyles","head","rel","isChromium","isFirefox","overflow","scrollbarWidth","getScrollbarWidth","setScrollbarWidth","$capitalize","string","directive","afterEach","failure","fullPath"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Fhc.js","sources":["../../../../js/components/Bootstrap/Modal.js","../../../../js/components/Bootstrap/Alert.js","../../../../js/components/Bootstrap/Confirm.js","../../../../js/components/Drop/Grid/Item.js","../../../../js/composables/GridLogic.js","../../../../js/components/Drop/Grid.js","../../../../js/composables/Dashboard/CachedWidgetLoader.js","../../../../js/components/Dashboard/Item.js","../../../../js/components/Tranistion/HeightTransition.js","../../../../js/helpers/UrlHelpers.js","../../../../js/components/Dashboard/Widget/WidgetIcon.js","../../../../js/components/Dashboard/Section.js","../../../../js/components/Dashboard/Widget/Picker.js","../../../../js/helpers/ObjectUtils.js","../../../../js/api/factory/cis/dashboard.js","../../../../js/components/Dashboard/Dashboard.js","../../../../js/api/search.js","../../../../js/api/phrasen.js","../../../../js/api/navigation.js","../../../../js/api/filter.js","../../../../js/api/studstatus.js","../../../../js/api/profil.js","../../../../js/api/profilUpdate.js","../../../../js/api/lvPlan.js","../../../../js/api/stv.js","../../../../js/api/stv/verband.js","../../../../js/api/stv/students.js","../../../../js/api/stv/filter.js","../../../../js/api/stv/konto.js","../../../../js/api/stv/group.js","../../../../js/api/stv/kontakt.js","../../../../js/api/stv/prestudent.js","../../../../js/api/stv/status.js","../../../../js/api/stv/details.js","../../../../js/api/stv/exam.js","../../../../js/api/stv/abschlusspruefung.js","../../../../js/api/stv/grades.js","../../../../js/api/stv/mobility.js","../../../../js/api/stv/archiv.js","../../../../js/api/stv/documents.js","../../../../js/api/stv/exemptions.js","../../../../js/api/stv/jointstudies.js","../../../../js/api/stv/courselist.js","../../../../js/api/notiz.js","../../../../js/api/notiz/person.js","../../../../js/api/betriebsmittel.js","../../../../js/api/betriebsmittel/person.js","../../../../js/api/checkperson.js","../../../../js/api/ort.js","../../../../js/api/cms.js","../../../../js/api/lehre.js","../../../../js/api/addons.js","../../../../js/api/messages.js","../../../../js/api/messages/person.js","../../../../js/api/vorlagen.js","../../../../js/api/studium.js","../../../../js/api/fhcapifactory.js","../../../../js/api/dashboard.js","../../../../js/api/bookmark.js","../../../../js/api/ampeln.js","../../../../js/api/studiengang.js","../../../../js/api/menu.js","../../../../js/api/authinfo.js","../../../../js/api/language.js","../../../../js/plugin/OldFhcApi.js","../../../../js/RESTClient.js","../../../../js/plugins/FhcAlert.js","../../../../js/plugins/Api.js","../../../../js/api/factory/phrasen.js","../../../../js/plugins/Phrasen.js","../../../../js/plugins/Theme.js","../../../../js/directives/contrast.js","../../../../js/helpers/DragAndDrop.js","../../../../js/directives/Calendar/DragAndDrop.js","../../../../js/components/Calendar/Base/DragAndDrop.js","../../../../js/components/Calendar/Base/Header.js","../../../../js/components/Calendar/Base/Header/Datepicker.js","../../../../js/components/Calendar/Base/Slider.js","../../../../js/directives/Calendar/Click.js","../../../../js/components/Calendar/Base.js","../../../../js/api/factory/lvPlan.js","../../../../js/components/Calendar/Base/Grid/Line/Event.js","../../../../js/components/Calendar/Base/Grid.js","../../../../js/components/Calendar/Base/Grid/Line.js","../../../../js/components/Calendar/Base/Grid/Line/Background.js","../../../../js/components/Calendar/Base/Label/Day.js","../../../../js/components/Calendar/Base/Label/Dow.js","../../../../js/components/Calendar/Base/Label/Time.js","../../../../js/components/Calendar/Mode/Day/View.js","../../../../js/components/Calendar/Mode/Day.js","../../../../js/composables/Responsive.js","../../../../js/components/Calendar/Mode/Week.js","../../../../js/components/Calendar/Mode/Week/View.js","../../../../js/components/Calendar/Mode/Month.js","../../../../js/components/Calendar/Mode/Month/View.js","../../../../js/components/Calendar/Base/Label/Week.js","../../../../js/components/Calendar/LvPlan.js","../../../../js/composables/EventLoader.js","../../../../js/api/factory/authinfo.js","../../../../js/components/Cis/LvPlan/Lehrveranstaltung.js","../../../../js/components/Cis/LvPlan/Personal.js","../../../../js/components/Cis/Mylv/Semester/Studiengang/Lv/Pruefungen.js","../../../../js/api/factory/lehre.js","../../../../js/components/Cis/Mylv/Semester/Studiengang/Lv/Info.js","../../../../js/mixins/Phrasen.js","../../../../js/components/Cis/Mylv/LvMenu.js","../../../../js/api/factory/addons.js","../../../../js/components/Cis/Mylv/LvUebersicht.js","../../../../js/components/Cis/Mylv/Semester.js","../../../../js/components/Cis/Mylv/Semester/Studiengang.js","../../../../js/components/Cis/Mylv/Semester/Studiengang/Lv.js","../../../../js/components/Cis/Mylv/Student.js","../../../../js/components/Fetch.js","../../../../js/components/filter/Filter/Config.js","../../../../js/components/filter/Filter/Columns.js","../../../../js/components/filter/Table/Download.js","../../../../js/directives/collapseAutoClose.js","../../../../js/tabulator/layouts/fitDataStretchFrozen.js","../../../../js/api/factory/filter.js","../../../../js/components/filter/Filter.js","../../../../js/components/Cis/Profil/ProfilComponents/Mailverteiler.js","../../../../js/components/Cis/Profil/ProfilComponents/FhAusweisStatus.js","../../../../js/components/Cis/Profil/ProfilComponents/QuickLinks.js","../../../../js/components/Cis/Profil/ProfilComponents/Adresse.js","../../../../js/components/Cis/Profil/ProfilComponents/Kontakt.js","../../../../js/components/Cis/Profil/ProfilComponents/ProfilEmails.js","../../../../js/components/Cis/Profil/ProfilComponents/RoleInformation.js","../../../../js/api/factory/profil.js","../../../../js/components/Form/Upload/Dms.js","../../../../js/components/Form/Upload/Dms/Item.js","../../../../js/api/factory/profilUpdate.js","../../../../js/components/Cis/Profil/ProfilModal/EditProfilComponents/ImageUpload.js","../../../../js/components/Cis/Profil/ProfilComponents/ProfilInformation.js","../../../../js/components/Cis/Profil/ProfilModal/EditProfilSelect.js","../../../../js/components/Cis/Profil/ProfilModal/EditProfilComponents/EditKontakt.js","../../../../js/components/Cis/Profil/ProfilModal/EditProfilComponents/EditAdresse.js","../../../../js/components/Cis/Profil/ProfilModal/EditProfilComponents/Status.js","../../../../js/components/Cis/Profil/ProfilModal/EditProfilComponents/TextInputDokument.js","../../../../js/components/Loader.js","../../../../js/components/Cis/Profil/ProfilModal/EditProfil.js","../../../../js/components/Cis/Profil/ProfilComponents/FetchProfilUpdates.js","../../../../js/tabulator/filters/Dates.js","../../../../js/components/Cis/Profil/StudentProfil.js","../../../../js/components/Cis/Profil/MitarbeiterProfil.js","../../../../js/components/Cis/Profil/StudentViewProfil.js","../../../../js/components/Cis/Profil/MitarbeiterViewProfil.js","../../../../js/components/Cis/Profil/Profil.js","../../../../js/api/factory/ort.js","../../../../js/components/Cis/Raumsuche/Raumsuche.js","../../../../js/components/Pagination/Pagination.js","../../../../js/components/Cis/Cms/StudiengangInformation/StudiengangPerson.js","../../../../js/components/Cis/Cms/StudiengangInformation/StudiengangVertretung.js","../../../../js/api/factory/studiengang.js","../../../../js/components/Cis/Cms/StudiengangInformation/StudiengangInformation.js","../../../../js/api/factory/cms.js","../../../../js/components/Cis/Cms/News.js","../../../../js/components/Cis/Cms/Content_types/Raum_contentmittitel.js","../../../../js/helpers/LegacyLinkReplaceHelper.js","../../../../js/components/Cis/Cms/Content_types/General.js","../../../../js/components/Cis/Cms/Content.js","../../../../js/components/Cis/Cms/Content_types/News_content.js","../../../../js/components/Cis/Cms/Content_types/Iframe_content.js","../../../../js/components/Cis/Mylv/RoomInformation.js","../../../../js/components/Cis/Abgabetool/AbgabeStudentDetail.js","../../../../js/components/verticalsplit/verticalsplit.js","../../../../js/components/Cis/Abgabetool/AbgabetoolStudent.js","../../../../js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js","../../../../js/components/Cis/Abgabetool/AbgabetoolMitarbeiter.js","../../../../js/components/Cis/Abgabetool/DeadlineOverview.js","../../../../js/components/Cis/Studium/Studium.js","../../../../js/api/factory/renderers.js","../../../../js/api/factory/routeinfo.js","../../../../js/apps/Dashboard/Fhc.js","../../../../js/helpers/CssVarCalcHelpers.js","../../../../js/helpers/StringHelpers.js"],"sourcesContent":["//import Phrasen from '../../plugin/Phrasen.js';\n\nexport default {\n\tname: 'BootstrapModal',\n\tdata: () => ({\n\t\tmodal: null,\n\t\tfullscreen: false\n\t}),\n\tprops: {\n\t\tbackdrop: {\n\t\t\ttype: [Boolean,String],\n\t\t\tdefault: true,\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['static', true, false].includes(value);\n\t\t\t}\n\t\t},\n\t\tfocus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tkeyboard: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tnoCloseBtn: Boolean,\n\t\tdialogClass: [String,Array,Object],\n\t\theaderClass: {\n\t\t\ttype: [String,Array,Object],\n\t\t\tdefault: ''\n\t\t},\n\t\tbodyClass: {\n\t\t\ttype: [String,Array,Object],\n\t\t\tdefault: 'px-4 py-5'\n\t\t},\n\t\tfooterClass: {\n\t\t\ttype: [String,Array,Object],\n\t\t\tdefault: ''\n\t\t},\n\t\tallowFullscreenExpand: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t},\n\temits: [\n\t\t\"hideBsModal\",\n\t\t\"hiddenBsModal\",\n\t\t\"hidePreventedBsModal\",\n\t\t\"showBsModal\",\n\t\t\"shownBsModal\"\n\t],\n\tmethods: {\n\t\tdispose() {\n\t\t\treturn this.modal.dispose();\n\t\t},\n\t\thandleUpdate() {\n\t\t\treturn this.modal.handleUpdate();\n\t\t},\n\t\thide() {\n\t\t\treturn this.modal.hide();\n\t\t},\n\t\tshow(relatedTarget) {\n\t\t\treturn this.modal.show(relatedTarget);\n\t\t},\n\t\ttoggle() {\n\t\t\treturn this.modal.toggle();\n\t\t},\n\t\ttoggleFullscreen() {\n\t\t\tthis.fullscreen = !this.fullscreen\n\t\t}\n\t},\n\tmounted() {\n\t\tif (this.$refs.modal)\n\t\t\tthis.modal = new bootstrap.Modal(this.$refs.modal, {\n\t\t\t\tbackdrop: this.backdrop,\n\t\t\t\tfocus: this.focus,\n\t\t\t\tkeyboard: this.keyboard\n\t\t\t});\n\t},\n\tpopup(body, options, title, footer) {\n\t\tconst BsModal = this,\n\t\t\tslots = {};\n\t\tif (body !== undefined)\n\t\t\tslots.default = () => body;\n\t\tif (title !== undefined)\n\t\t\tslots.title = () => title;\n\t\tif (footer !== undefined)\n\t\t\tslots.footer = () => footer;\n\n\t\t// little hack to check whether primevue is included in the app or not\n\t\tlet includedPrimevue = false;\n\t\tif(typeof primevue !== 'undefined'){\n\t\t\tincludedPrimevue = true;\n\t\t}\n\n\t\treturn new Promise((resolve,reject) => {\n\t\t\tconst instance = Vue.createApp({\n\t\t\t\tname: 'ModalTmpApp',\n\t\t\t\tsetup() {\n\t\t\t\t\treturn () => Vue.h(BsModal, {...{\n\t\t\t\t\t\tclass: 'fade'\n\t\t\t\t\t},...options, ...{\n\t\t\t\t\t\tref: 'modal',\n\t\t\t\t\t\t'onHidden.bs.modal': instance.unmount\n\t\t\t\t\t}}, slots);\n\t\t\t\t},\n\t\t\t\tmounted() {\n\t\t\t\t\tthis.$refs.modal.show();\n\t\t\t\t\t\n\t\t\t\t},\n\t\t\t\tbeforeUnmount() {\n\t\t\t\t\tif (this.$refs.modal)\n\t\t\t\t\t\tthis.$refs.modal.result !== false ? resolve(this.$refs.modal.result) : reject();\n\t\t\t\t},\n\t\t\t\tunmounted() {\n\t\t\t\t\twrapper.parentElement.removeChild(wrapper);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst wrapper = document.createElement(\"div\");\n\t\t\t\n\t\t\t// if(primevue) --> won't work because primevue is not defined in this scope and promise would be rejected\n\t\t\tif (includedPrimevue){\n\t\t\t\tinstance.use(primevue.config.default, {zIndex: {overlay: 9999}})\n\t\t\t}\n\t\t\t\t \n\t\t\t//instance.use(Phrasen); // TODO(chris): find a more dynamic way\n\t\t\timport('../../plugins/Phrasen.js').then((Phrasen) => {\n\t\t\t\tinstance.use(Phrasen.default);\n\t\t\t\tinstance.mount(wrapper);\n\t\t\t\tdocument.body.appendChild(wrapper);\n\t\t\t});\n\t\t});\n\t},\n\ttemplate: `
\n\t`\n}\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tgetRoomInfo(ort_kurzbz, start_date, end_date) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/LvPlan/getRoomplan',\n\t\t\tparams: { ort_kurzbz, start_date, end_date }\n\t\t};\n\t},\n\tgetLvPlan(start_date, end_date, lv_id) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/LvPlan/getLvPlan',\n\t\t\tparams: { start_date, end_date, lv_id }\n\t\t};\n\t},\n\teventsPersonal(start_date, end_date) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/lvPlan/eventsPersonal',\n\t\t\tparams: { start_date, end_date }\n\t\t};\n\t},\n\teventsLv(lv_id, start_date, end_date) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/lvPlan/eventsLv',\n\t\t\tparams: { lv_id, start_date, end_date }\n\t\t};\n\t},\n\tgetStunden() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/LvPlan/Stunden'\n\t\t};\n\t},\n\tgetOrtReservierungen(ort_kurzbz, start_date, end_date) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: `/api/frontend/v1/LvPlan/getReservierungen/${ort_kurzbz}`,\n\t\t\tparams: { start_date, end_date }\n\t\t};\n\t},\n\tgetLvPlanReservierungen(start_date, end_date) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/LvPlan/getReservierungen',\n\t\t\tparams: { start_date, end_date }\n\t\t};\n\t},\n\tgetLehreinheitStudiensemester(lehreinheit_id) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/LvPlan/getLehreinheitStudiensemester/${lehreinheit_id}`\n\t\t};\n\t},\n\tstudiensemesterDateInterval(date) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/LvPlan/studiensemesterDateInterval/${date}`\n\t\t};\n\t},\n\tLvPlanEvents(start_date, end_date, lv_id) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/LvPlan/LvPlanEvents',\n\t\t\tparams: { \n\t\t\t\tstart_date: start_date, \n\t\t\t\tend_date: end_date, \n\t\t\t\tlv_id: lv_id \n\t\t\t}\n\t\t};\n\t},\n\tgetLv(lehrveranstaltung_id) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/LvPlan/getLv/' + lehrveranstaltung_id\n\t\t};\n\t}\n};","import CalDnd from '../../../../../directives/Calendar/DragAndDrop.js';\nimport CalClick from '../../../../../directives/Calendar/Click.js';\n\nexport default {\n\tname: \"GridLineEvent\",\n\tdirectives: {\n\t\tCalDnd,\n\t\tCalClick\n\t},\n\tinject: {\n\t\tdraggableEvents: \"draggableEvents\",\n\t\tmode: \"mode\"\n\t},\n\tprops: {\n\t\tevent: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tvalidator(value) {\n\t\t\t\treturn (value.start && value.end && value.orig);\n\t\t\t}\n\t\t}\n\t},\n\tcomputed: {\n\t\tisHeaderOrFooter() {\n\t\t\treturn ['header', 'footer'].includes(this.event.orig);\n\t\t},\n\t\tdraggable() {\n\t\t\treturn !this.isHeaderOrFooter && this.draggableEvents(this.event.orig, this.mode);\n\t\t},\n\t\tclasses() {\n\t\t\tconst classes = [];\n\t\t\tif (this.isHeaderOrFooter) {\n\t\t\t\tclasses.push('event-' + this.event.orig);\n\t\t\t} else {\n\t\t\t\tif (this.event.startsHere)\n\t\t\t\t\tclasses.push('event-begin');\n\t\t\t\tif (this.event.endsHere)\n\t\t\t\t\tclasses.push('event-end');\n\t\t\t}\n\t\t\treturn classes\n\t\t}\n\t},\n\ttemplate: /* html */`\n\t
\n\t`\n}","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tgetLvMenu(lvid, studiensemester_kurzbz) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/LvMenu/getLvMenu/${lvid}/${studiensemester_kurzbz}`\n\t\t};\n\t}\n};","import BsModal from \"../../Bootstrap/Modal.js\";\nimport LvMenu from \"./LvMenu.js\";\n\nimport ApiAddons from '../../../api/factory/addons.js';\n\nexport default {\n \n props:{\n event:{\n type:Object,\n required:true,\n default:null,\n },\n\t\tstudiensemester: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\ttitel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\t// prop used to preselect a menu item and skip the grid overview\n\t\tpreselectedMenu: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t}\n },\n data(){\n return {\n result: false,\n menu: [],\n\t\t\tisMenuSelected:false,\n\t\t\thasLvPlanEintraege: true,\n\t\t\tlvEvaluierungMessage: \"\",\n }\n },\n mixins:[BsModal],\n components:{\n BsModal,\n\t\tLvMenu,\n },\n\tinject: [\"studium_studiensemester\"],\n methods:{\n \n hiddenModal: function(){\n\t\t\tthis.isMenuSelected = false;\n },\n showModal: function(){\n\t\t\tif (!this.preselectedMenu) {\n this.$api\n\t\t\t\t\t.call(ApiAddons.getLvMenu(this.event.lehrveranstaltung_id, (this.studiensemester ?? this.event.studiensemester_kurzbz)))\n .then(res => {\n \t\t\t\t\tif (res.data) {\n \t\t\t\t\t\tthis.menu = res.data;\n \t\t\t\t\t}\n \t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.isMenuSelected = true;\n\t\t\t}\n\n\t\t\t// check lv evaluierung info\n\t\t\tif (this.studium_studiensemester) {\n\t\t\t\tthis.$fhcApi.factory.studium.getLvEvaluierungInfo(this.studium_studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id)\n\t\t\t\t\t.then(data => data.data)\n\t\t\t\t\t.then(res => {\n\t\t\t\t\t\tthis.lvEvaluierungMessage = res.message;\n\t\t\t\t\t})\n\t\t\t}\n\n\t\t\t// check if the lv has lvplan entries for this studiensemester\n\t\t\tif (this.studiensemester && this.event) {\n\t\t\t\treturn this.$fhcApi.factory.studium.getLvPlanForStudiensemester(this.studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id)\n\t\t\t\t\t.then(data => data.data)\n\t\t\t\t\t.then(res => {\n\t\t\t\t\t\tif (Array.isArray(res) && res.length > 0) {\n\t\t\t\t\t\t\tthis.hasLvPlanEintraege = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.hasLvPlanEintraege = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t\t\n },\n },\n\tmounted(){\n this.modal = this.$refs.modalContainer;\n },\n\tbeforeUnmount(){\n\t\tthis.$refs.modalContainer.hide();\n\t},\n template:/*html*/`\n \n\n\t\t\n \n\t\t\t\t{{titel}}\n\t\t\t\n\t\t\t\n\t\t\t\t{{event?.lehrfach_bez + (event?.stg_kurzbzlang?' / ' + event?.stg_kurzbzlang:'')}}\n\t\t\t\tLehrveranstaltungs Übersicht\n\t\t\t\n\n \n \n\t\t\t\n\t\t\t\n\t\t\t\n \n \n \n\n \n `,\n};","import MylvSemesterStudiengang from \"./Semester/Studiengang.js\";\n\nexport default {\n\tcomponents: {\n\t\tMylvSemesterStudiengang\n\t},\n\tprovide() {\n\t\treturn {\n\t\t\tstudien_semester: Vue.computed(() => this.semester) \n\t\t}\n\t},\n\tprops: {\n\t\tsemester: [String, Number],\n\t\tlvs: Array\n\t},\n\tcomputed: {\n\t\tready() { return this.lvs !== null; },\n\t\tstudiengaenge() {\n\t\t\treturn [... new Map(\n\t\t\t\tthis.lvs\n\t\t\t\t.map(lv => [\n\t\t\t\t\tlv.studiengang_kz + '#' + lv.semester, \n\t\t\t\t\t{\n\t\t\t\t\t\tstudiengang_kz: lv.studiengang_kz, \n\t\t\t\t\t\tbezeichnung: lv.sg_bezeichnung,\n\t\t\t\t\t\tsg_bezeichnung_eng: lv.sg_bezeichnung_eng,\n\t\t\t\t\t\tkuerzel: lv.studiengang_kuerzel, \n\t\t\t\t\t\tsemester: lv.semester\n\t\t\t\t\t}\n\t\t\t\t])\n\t\t\t).values()].sort((a, b) => a.bezeichnung.toLowerCase() == b.bezeichnung.toLowerCase() ? a.semester > b.semester : a.bezeichnung.toLowerCase() > b.bezeichnung.toLowerCase());\n\t\t},\n\t},\n\tmethods: {\n\t\tlvsForStudiengang(studiengang) {\n\t\t\treturn this.lvs.filter(lv => lv.studiengang_kz == studiengang.studiengang_kz && lv.semester == studiengang.semester);\n\t\t}\n\t},\n\ttemplate: `
`\n};","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n *\n */\nexport const CoreFetchCmpt = {\n\temits: ['dataFetched'], // this component can emit the event dataFetched that it is catched by this component itself\n\tprops: {\n\t\trefresh: { // to refresh this component\n\t\t\ttype: Boolean\n\t\t},\n\t\tapiFunction: { // the function to call, must return a Promise\n\t\t\trequired: true,\n\t\t\ttype: Function\n\t\t},\n\t\tapiFunctionParameters: {} // parameters for the apiFunction, type mixed, optional\n\t},\n\twatch: {\n\t\t/**\n\t\t * If the refresh property is changed then call fetchData\n\t\t */\n\t\trefresh: function (newValue, oldValue) {\n\t\t\tthis.fetchData();\n\t\t}\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tloading: false, // if in loading or not\n\t\t\terror: false, // if an error occurred while loading data\n\t\t\terrorMessage: null // the error message\n\t\t};\n\t},\n\tcreated: function() {\n\t\tthis.fetchData();\n\t},\n\tmethods: {\n\t\t/**\n\t\t *\n\t\t */\n\t\tfetchData: function() {\n\t\t\tthis.loading = true; // loader started\n\t\t\tthis.error = false;\n\t\t\tthis.errorMessage = null;\n\n\t\t\t// Checks if the apifunction is a callable function\n\t\t\tif (typeof this.apiFunction == \"function\")\n\t\t\t{\n\t\t\t\t// Call the function stored in apiFunction\n\t \t\tlet apiFunctionResult = this.apiFunction(this.apiFunctionParameters);\n\n\t\t\t\t// It is expected that the function returns a Promise\n\t\t\t\tif (apiFunctionResult instanceof Promise)\n\t\t\t\t{\n\t\t\t\t\tapiFunctionResult\n\t\t\t\t\t\t.then(this.successHandler) // on success\n\t\t\t\t\t\t.catch(this.errorHandler) // on error\n\t\t\t\t\t\t.finally(this.finallyHandler); // finally in any case\n\t\t\t\t}\n\t\t\t\telse // otherwise display an error\n\t\t\t\t{\n\t\t\t\t\tthis.setError(\"The called apiFunction does not return a Promise\");\n\t\t\t\t}\n\t\t\t}\n\t\t\telse // otherwise display an error\n\t\t\t{\n\t\t\t\tthis.setError(\"Property apiFunction is not a function\");\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tsetError: function(errorMessage) {\n\t\t\tthis.loading = false; // loading ended\n\t\t\tthis.error = true; // error occurred\n\t\t\tthis.errorMessage = errorMessage; // save the error message\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tsuccessHandler: function(response) {\n\t\t\tthis.$emit('dataFetched', response ? response.data : undefined); // trigger the event dataFetched\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\terrorHandler: function(error) {\n\t\t\tif (error.response?.data?.retval)\n\t\t\t\tthis.setError(error.response.data.retval);\n\t\t\telse if (error.data?.message)\n\t\t\t\tthis.setError(error.data.message);\n\t\t\telse\n\t\t\t\tthis.setError(error.message);\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tfinallyHandler: function() {\n\t\t\tthis.loading = false; // loading ended\n\t\t}\n\t},\n\ttemplate: `\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t`\n};\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nconst FILTER_COMPONENT_NEW_FILTER = 'Filter Component New Filter';\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\tfilters: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tfields: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t}\n\t},\n\temits: {\n\t\tswitchFilter: ['filterId'],\n\t\tapplyFilterConfig: ['filterFields'],\n\t\tsaveCustomFilter: ['customFilterName']\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tcurrentFields: []\n\t\t};\n\t},\n\tcomputed: {\n\t\ttypes() {\n\t\t\treturn this.columns.reduce((a,c) => {\n\t\t\t\tlet type = c.type.toLowerCase();\n\t\t\t\tif (type.indexOf('int') >= 0)\n\t\t\t\t\ta[c.name] = 'Numeric';\n\t\t\t\telse if (\n\t\t\t\t\ttype.indexOf('varchar') >= 0 || \n\t\t\t\t\ttype.indexOf('text') >= 0 || \n\t\t\t\t\ttype.indexOf('bpchar') >= 0\n\t\t\t\t)\n\t\t\t\t\ta[c.name] = 'Text';\n\t\t\t\telse if (\n\t\t\t\t\ttype.indexOf('timestamp') >= 0 || \n\t\t\t\t\ttype.indexOf('date') >= 0\n\t\t\t\t)\n\t\t\t\t\ta[c.name] = 'Date';\n\t\t\t\telse\n\t\t\t\t\ta[c.name] = '';\n\t\t\t\treturn a;\n\t\t\t}, {});\n\t\t}\n\t},\n\twatch: {\n\t\tfields(n) {\n\t\t\tthis.currentFields = n;\n\t\t}\n\t},\n\tmethods: {\n\t\tswitchFilter(evt) {\n\t\t\tthis.$emit('switchFilter', evt.currentTarget.value);\n\t\t},\n\t\tapplyFilterConfig() {\n\t\t\tconst filteredFields = this.currentFields.filter(el => el.name != FILTER_COMPONENT_NEW_FILTER);\n\t\t\tif (filteredFields.filter(el => el.condition == \"\").length)\n\t\t\t\talert(\"Please fill all the filter options\");\n\t\t\telse\n\t\t\t\tthis.$emit('applyFilterConfig', filteredFields);\n\t\t},\n\t\taddField(evt) {\n\t\t\tthis.currentFields.push({\n\t\t\t\tname: FILTER_COMPONENT_NEW_FILTER\n\t\t\t});\n\t\t},\n\t\tremoveField(index) {\n\t\t\tthis.currentFields.splice(index, 1);\n\t\t}\n\t},\n\ttemplate: `\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t`\n};\n\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\tfields: Array,\n\t\tselected: {\n\t\t\ttype: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tnames: {\n\t\t\ttype: Object,\n\t\t\tdefault: {}\n\t\t}\n\t},\n\temits: {\n\t\thide: ['fieldName'],\n\t\tshow: ['fieldName']\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tselectedFields: []\n\t\t};\n\t},\n\twatch: {\n\t\tselected(n) {\n\t\t\tthis.selectedFields = n;\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggle(field) {\n\t\t\tif (this.selectedFields.indexOf(field) != -1)\n\t\t\t{\n\t\t\t\tthis.selectedFields.splice(this.selectedFields.indexOf(field), 1);\n\t\t\t\tthis.$emit('hide', field);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.selectedFields.push(field);\n\t\t\t\tthis.$emit('show', field);\n\t\t\t}\n\t\t}\n\t},\n\ttemplate: `\n\t
\n\t`\n};\n\n","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nconst DEFAULT_ICONS = {\n\tjsonLines: 'fa-file-lines',\n\txlsx: 'fa-file-excel',\n\tpdf: 'fa-file-pdf',\n\thtml: 'fa-file-code',\n\tjson: 'fa-file',\n\tcsv: 'fa-file-csv'\n};\nconst DEFAULT_LABELS = {\n\tjsonLines: 'Download as JSONLINES',\n\txlsx: 'Download as XLSX',\n\tpdf: 'Download as PDF',\n\thtml: 'Download as HTML',\n\tjson: 'Download as JSON',\n\tcsv: 'Download as CSV '\n};\n\n\n/**\n *\n */\nexport default {\n\tprops: {\n\t\ttabulator: Object,\n\t\tconfig: {\n\t\t\ttype: [Boolean, String, Function, Array, Object],\n\t\t\tdefault: false\n\t\t},\n\t\ticonClass: [String, Array, Object]\n\t},\n\tcomputed: {\n\t\tcurrentConfig() {\n\t\t\tif (!this.config)\n\t\t\t\treturn false;\n\n\t\t\tlet config = this.config;\n\n\t\t\tif (config instanceof Function)\n\t\t\t\treturn [config];\n\n\t\t\tif (config === null)\n\t\t\t\treturn [];\n\n\t\t\tif (this.config === true)\n\t\t\t\tconfig = ['csv'];\n\n\t\t\tif (Object.prototype.toString.call(config) === \"[object String]\")\n\t\t\t\tconfig = config.split(',');\n\n\t\t\tif (typeof config === 'object' && !Array.isArray(config)) {\n\t\t\t\tlet newConfig = [];\n\t\t\t\tfor (var k in config) {\n\t\t\t\t\tvar v = config[k], type;\n\t\t\t\t\t\n\t\t\t\t\tif (!v)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\n\t\t\t\t\tif (Object.prototype.toString.call(v) === \"[object String]\") {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(v);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\tlabel: v === k ? DEFAULT_LABELS[type] : k,\n\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\t\tif(type !== null) {\n\t\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\t\tlabel: v,\n\t\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\talert('neither ' + k + ' nor ' + v + ' are supported download file types');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (typeof v === 'object' && !Array.isArray(v)) {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tif (v.formatter === undefined)\n\t\t\t\t\t\t\t\tv.formatter = type;\n\t\t\t\t\t\t\tif (v.label === undefined)\n\t\t\t\t\t\t\t\tv.label = DEFAULT_LABELS[type];\n\t\t\t\t\t\t\tif (v.icon === undefined)\n\t\t\t\t\t\t\t\tv.icon = DEFAULT_ICONS[type];\n\t\t\t\t\t\t\tnewConfig.push(v);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (v.label === undefined)\n\t\t\t\t\t\t\t\tv.label = k;\n\t\t\t\t\t\t\tnewConfig.push(v);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttype = this.stringToFileFormatter(k);\n\t\t\t\t\t\tif (type !== null) {\n\t\t\t\t\t\t\tnewConfig.push({\n\t\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[type],\n\t\t\t\t\t\t\t\tlabel: DEFAULT_LABELS[type],\n\t\t\t\t\t\t\t\tformatter: type\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\talert(k + ' is not a supported download file type');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconfig = newConfig;\n\t\t\t}\n\n\t\t\tif (Array.isArray(config))\n\t\t\t{\n\t\t\t\tconfig = config.map(el => {\n\t\t\t\t\tif (Object.prototype.toString.call(el) === \"[object String]\") {\n\t\t\t\t\t\tlet formatter = this.stringToFileFormatter(el);\n\t\t\t\t\t\tif (formatter === null)\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ticon: 'fa-solid ' + DEFAULT_ICONS[formatter],\n\t\t\t\t\t\t\tlabel: DEFAULT_LABELS[formatter],\n\t\t\t\t\t\t\tformatter\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (el instanceof Function)\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tformatter: el\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (typeof el === 'object' && !Array.isArray(el) && el !== null) {\n\t\t\t\t\t\tif (el.formatter instanceof Function)\n\t\t\t\t\t\t\treturn el;\n\t\t\t\t\t\tif (this.validateFileFormatter(el.formatter))\n\t\t\t\t\t\t\treturn el;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null;\n\t\t\t\t}).filter(el => el !== null);\n\n\t\t\t\tif (config.length < 2)\n\t\t\t\t\treturn config;\n\n\t\t\t\tif (config.filter(el => el.label || el.icon).length == config.length)\n\t\t\t\t\treturn config;\n\n\t\t\t\talert('Config not valid');\n\t\t\t}\n\n\t\t\treturn [];\n\t\t}\n\t},\n\tmethods: {\n\t\tstringToFileFormatter(input) {\n\t\t\tlet lcInput = input.toLowerCase();\n\t\t\t\n\t\t\tif (lcInput == 'jsonlines')\n\t\t\t\treturn 'jsonLines';\n\t\t\t\n\t\t\tif (['xlsx', 'pdf', 'html', 'json', 'csv'].includes(lcInput))\n\t\t\t\treturn lcInput;\n\n\t\t\treturn null;\n\t\t},\n\t\tvalidateFileFormatter(input) {\n\t\t\tlet formatter = this.stringToFileFormatter(input);\n\t\t\tif (!formatter) {\n\t\t\t\talert(input + ' is not a supported file formatter');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (formatter == 'xlsx') {\n\t\t\t\tif (!window.XLSX) {\n\t\t\t\t\talert('XLSX Library not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (formatter == 'pdf') {\n\t\t\t\tif (!window.jspdf) {\n\t\t\t\t\talert('jsPDF Library not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tvar doc = new jspdf.jsPDF({});\n\t\t\t\tif (!doc.autoTable) {\n\t\t\t\t\talert('jsPDF-AutoTable Plugin not loaded');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tdownload(config) {\n\t\t\tthis.tabulator.download(config.formatter, config.file, config.options)\n\t\t}\n\t},\n\ttemplate: `\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
\n\t\n\t`\n};\n\n","const elementDataMap = new WeakMap();\n\nexport default {\n\tmounted(el, binding) {\n\t\tlet open = false;\n\t\telementDataMap.set(el, evt => {\n\t\t\tif (!open)\n\t\t\t\treturn;\n\n\t\t\tif (el.contains(evt.target))\n\t\t\t\treturn;\n\n\t\t\tconst collapse = bootstrap.Collapse.getInstance(el)\n\t\t\tif (collapse)\n\t\t\t\tcollapse.hide();\n\t\t});\n\t\tel.addEventListener('shown.bs.collapse', () => {\n\t\t\topen = true;\n\t\t});\n\t\tel.addEventListener('hide.bs.collapse', () => {\n\t\t\topen = false;\n\t\t});\n\t\tdocument.addEventListener('click', elementDataMap.get(el), true);\n\t},\n\tbeforeUnmount(el, binding) {\n\t\tdocument.removeEventListener('click', elementDataMap.get(el));\n\t\tdelete el.collapsibleAutoHideFunc;\n\t}\n}","/**\n * This may need changes if Tabulator gets updated!\n *\n * Current working Version: 5.5.2\n * \n * This is a copy of the fitDataStretch function. The only difference\n * is the check for frozen columns on line 22.\n */\n\nexport default window.Tabulator?.extendModule(\"layout\", \"modes\", {\n\tfitDataStretchFrozen(columns, forced) {\n\t\tvar colsWidth = 0,\n\t\ttableWidth = this.table.rowManager.element.clientWidth,\n\t\tgap = 0,\n\t\tlastCol = false;\n\n\t\tcolumns.forEach((column, i) => {\n\t\t\tif (!column.widthFixed) {\n\t\t\t\tcolumn.reinitializeWidth();\n\t\t\t}\n\n\t\t\tif (this.table.options.responsiveLayout ? column.modules.responsive.visible : column.visible && !column.definition.frozen) {\n\t\t\t\tlastCol = column;\n\t\t\t}\n\n\t\t\tif (column.visible) {\n\t\t\t\tcolsWidth += column.getWidth();\n\t\t\t}\n\t\t});\n\n\t\tif (lastCol){\n\t\t\tgap = tableWidth - colsWidth + lastCol.getWidth();\n\n\t\t\tif (this.table.options.responsiveLayout && this.table.modExists(\"responsiveLayout\", true)) {\n\t\t\t\tlastCol.setWidth(0);\n\t\t\t\tthis.table.modules.responsiveLayout.update();\n\t\t\t}\n\n\t\t\tif (gap > 0) {\n\t\t\t\tlastCol.setWidth(gap);\n\t\t\t} else {\n\t\t\t\tlastCol.reinitializeWidth();\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.table.options.responsiveLayout && this.table.modExists(\"responsiveLayout\", true)) {\n\t\t\t\tthis.table.modules.responsiveLayout.update();\n\t\t\t}\n\t\t}\n\t}\n});\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tsaveCustomFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/saveCustomFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tcustomFilterName: wsParams.customFilterName\n\t\t\t}\n\t\t};\n\t},\n\tremoveCustomFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/removeCustomFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t};\n\t},\n\tapplyFilterFields(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/applyFilterFields',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterFields: wsParams.filterFields\n\t\t\t}\n\t\t};\n\t},\n\taddFilterField(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/addFilterField',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t};\n\t},\n\tremoveFilterField(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/filter/removeFilterField',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterField: wsParams.filterField\n\t\t\t}\n\t\t};\n\t},\n\tgetFilterById(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/filter/getFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType,\n\t\t\t\tfilterId: wsParams.filterId\n\t\t\t}\n\t\t};\n\t},\n\tgetFilter(wsParams) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/filter/getFilter',\n\t\t\tparams: {\n\t\t\t\tfilterUniqueId: wsParams.filterUniqueId,\n\t\t\t\tfilterType: wsParams.filterType\n\t\t\t}\n\t\t};\n\t}\n};","/**\n * Copyright (C) 2022 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport {CoreFetchCmpt} from '../../components/Fetch.js';\nimport FilterConfig from './Filter/Config.js';\nimport FilterColumns from './Filter/Columns.js';\nimport TableDownload from './Table/Download.js';\nimport collapseAutoClose from '../../directives/collapseAutoClose.js';\n\nimport moduleLayoutFitDataStretchFrozen from '../../tabulator/layouts/fitDataStretchFrozen.js';\n\nimport ApiFilter from '../../api/factory/filter.js';\n\n//\nconst FILTER_COMPONENT_NEW_FILTER = 'Filter Component New Filter';\nconst FILTER_COMPONENT_NEW_FILTER_TYPE = 'Filter Component New Filter Type';\n\nvar _uuid = 0;\n\n/**\n *\n */\nexport const CoreFilterCmpt = {\n\tcomponents: {\n\t\tCoreFetchCmpt,\n\t\tFilterConfig,\n\t\tFilterColumns,\n\t\tTableDownload\n\t},\n\tdirectives: {\n\t\tcollapseAutoClose\n\t},\n\temits: [\n\t\t'nwNewEntry',\n\t\t'click:new',\n\t\t'tableBuilt',\n\t\t'uuidDefined'\n\t],\n\tprops: {\n\t\tonNwNewEntry: Function, // NOTE(chris): Hack to get the nwNewEntry listener into $props\n\t\ttitle: String,\n\t\tdescription: String,\n\t\tsideMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tfilterType: {\n\t\t\ttype: String\n\t\t},\n\t\ttabulatorOptions: Object,\n\t\ttabulatorEvents: Array,\n\t\ttableOnly: Boolean,\n\t\tnoColumnFilter:Boolean,\n\t\treload: Boolean,\n\t\treloadBtnInfotext: String,\n\t\tdownload: {\n\t\t\ttype: [Boolean, String, Function, Array, Object],\n\t\t\tdefault: false\n\t\t},\n\t\tnewBtnShow: Boolean,\n\t\tnewBtnClass: [String, Array, Object],\n\t\tnewBtnDisabled: Boolean,\n\t\tnewBtnLabel: String,\n\t\tuniqueId: String,\n\n\t\tidField: String,\n\t\tparentIdField: String,\n\t\tcountOnly: Boolean,\n\t\tuseSelectionSpan: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t}\n\t},\n\tdata: function() {\n\t\treturn {\n\t\t\tuuid: 0,\n\t\t\t// FilterCmpt properties\n\t\t\tfilterName: null,\n\t\t\tfilterActive: false,\n\t\t\tfields: null,\n\t\t\tdataset: null,\n\t\t\tdatasetMetadata: null,\n\t\t\tselectedFields: null,\n\t\t\tfilterFields: null,\n\n\t\t\tavailableFilters: null,\n\t\t\tselectedFilter: null,\n\n\t\t\t// FetchCmpt binded properties\n\t\t\tfetchCmptRefresh: false,\n\t\t\tfetchCmptApiFunction: null,\n\t\t\tfetchCmptApiFunctionParams: null,\n\t\t\tfetchCmptDataFetched: null,\n\n\t\t\tfetchResult: null,\n\n\t\t\ttabulator: null,\n\t\t\ttableBuilt: false,\n\t\t\ttabulatorHasSelector: false,\n\t\t\tselectedData: [],\n\t\t\tpersistence: {\n\t\t\t\tsort: true,\n\t\t\t\tcolumns: true,\n\t\t\t\tfilter: false,\n\t\t\t\theaderFilter: false,\n\t\t\t\tgroup: false,\n\t\t\t\tpage: false,\n\t\t\t}\n\t\t};\n\t},\n\tcomputed: {\n\t\tnotSelectedFields() {\n\t\t\tif (!this.fields || !this.selectedFields)\n\t\t\t\treturn null;\n\t\t\treturn this.fields.filter(x => this.selectedFields.indexOf(x) === -1)\n\t\t},\n\t\tfilteredData() {\n\t\t\tif (!this.dataset)\n\t\t\t\treturn [];\n\t\t\treturn JSON.parse(JSON.stringify(this.dataset));\n\t\t},\n\t\tfilteredColumns() {\n\t\t\tlet fields = JSON.parse(JSON.stringify(this.fields)) || [];\n\t\t\tlet selectedFields = JSON.parse(JSON.stringify(this.selectedFields)) || [];\n\n\t\t\tlet columns = null;\n\n\t\t\t// If the tabulator options has been provided and it contains the property columns\n\t\t\tif (this.tabulatorOptions && this.tabulatorOptions.hasOwnProperty('columns'))\n\t\t\t\tcolumns = this.tabulatorOptions.columns;\n\n\t\t\t// If columns is not an array or it is an array with less elements then the array fields\n\t\t\tif (!Array.isArray(columns) || (Array.isArray(columns) && columns.length < fields.length))\n\t\t\t{\n\t\t\t\tcolumns = []; // set it as an empty array\n\n\t\t\t\t// Loop throught all the retrieved columns from database\n\t\t\t\tfor (let field of fields)\n\t\t\t\t{\n\t\t\t\t\t// Create a new column having the title equal to the field name\n\t\t\t\t\tlet column = {\n\t\t\t\t\t\ttitle: field,\n\t\t\t\t\t\tfield: field\n\t\t\t\t\t};\n\n\t\t\t\t\t// If the column has to be displayed or not\n\t\t\t\t\tcolumn.visible = selectedFields.indexOf(field) >= 0;\n\n\t\t\t\t\t// Add the new column to the list of columns\n\t\t\t\t\tcolumns.push(column);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse // the property columns has been provided in the tabulator options\n\t\t\t{\n\t\t\t\t// Loop throught the property columns of the tabulator options\n\t\t\t\tfor (let col of columns)\n\t\t\t\t{\n\t\t\t\t\t// If the column has to be displayed or not\n\t\t\t\t\t/* fields.indexOf(col.field) == -1; ensures displaying formatter colums\n\t\t\t\t\te.g. column with rowSelection checkboxes or with custom formatted action buttons */\n\t\t\t\t\tcol.visible = selectedFields.indexOf(col.field) >= 0 || fields.indexOf(col.field) == -1;\n\n\t\t\t\t\tif (col.hasOwnProperty('resizable'))\n\t\t\t\t\t\tcol.resizable = col.visible;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn columns;\n\t\t},\n\t\tfieldIdsForVisibilty() {\n\t\t\tif (!this.tableBuilt)\n\t\t\t\treturn [];\n\t\t\treturn this.tabulator.getColumns().filter(col => {\n\t\t\t\tlet def = col.getDefinition();\n\t\t\t\treturn !def.frozen && def.title && def.formatter != \"responsiveCollapse\";\n\t\t\t}).map(col => col.getField());\n\t\t},\n\t\tfieldNames() {\n\t\t\tif (!this.tableBuilt)\n\t\t\t\treturn {};\n\t\t\treturn this.tabulator.getColumns().reduce((res, col) => {\n\t\t\t\tres[col.getField()] = col.getDefinition().title;\n\t\t\t\treturn res;\n\t\t\t}, {});\n\t\t},\n\t\tidExtra() {\n\t\t\tif (!this.uuid)\n\t\t\t\treturn '';\n\t\t\treturn '-' + this.uuid;\n\t\t},\n\t\tcolumnsForFilter() {\n\t\t\tif (!this.filteredColumns || !this.datasetMetadata)\n\t\t\t\treturn [];\n\t\t\tconst filterTitles = this.filteredColumns.reduce((a,c) => {\n\t\t\t\ta[c.field] = c.title;\n\t\t\t\treturn a;\n\t\t\t}, {});\n\t\t\treturn this.datasetMetadata.map(el => ({...el, ...{title: filterTitles[el.name]}}));\n\t\t}\n\t},\n\tmethods: {\n\t\treloadTable() {\n\t\t\tif (this.tableOnly)\n\t\t\t\tthis.tabulator.setData();\n\t\t\telse\n\t\t\t\tthis.getFilter();\n\t\t},\n\t\tasync initTabulator() {\n\t\t\tlet placeholder = '< Phrasen Plugin not loaded! >';\n\t\t\tif (this.$p) {\n\t\t\t\tawait this.$p.loadCategory('ui');\n\t\t\t\tplaceholder = this.$p.t('ui/keineDatenVorhanden');\n\t\t\t}\n\n\t\t\tif (!this.tableOnly) {\n\t\t\t\t// prefetch data to get fields & selectedFields for filteredColumns & filteredData\n\t\t\t\tawait new Promise(resolve => {\n\t\t\t\t\tconst filterId = window.location.hash ? window.location.hash.slice(1) : null;\n\n\t\t\t\t\tconst resolvePromiseFunc = data => {\n\t\t\t\t\t\tthis.setRenderData(data);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t};\n\t\t\t\t\t// get the filter data\n\t\t\t\t\tif (filterId === null)\n\t\t\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilter(wsParams)),\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tresolvePromiseFunc\n\t\t\t\t\t\t);\n\t\t\t\t\telse\n\t\t\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilterById(wsParams)),\n\t\t\t\t\t\t\t{ filterId },\n\t\t\t\t\t\t\tresolvePromiseFunc\n\t\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Define a default tabulator options in case it was not provided\n\t\t\tlet tabulatorOptions = {...{\n\t\t\t\t\tlayout: \"fitDataStretchFrozen\",\n\t\t\t\t\tmovableColumns: true,\n\t\t\t\t\tcolumnDefaults:{\n\t\t\t\t\t\ttooltip: true\n\t\t\t\t\t},\n\t\t\t\t\tplaceholder,\n\t\t\t\t\tpersistence: this.persistence,\n\t\t\t\t}, ...(this.tabulatorOptions || {})};\n\n\t\t\t// set default height if no height property is set\n\t\t\tif (tabulatorOptions.height === undefined &&\n\t\t\t\ttabulatorOptions.minHeight === undefined &&\n\t\t\t\ttabulatorOptions.maxHeight === undefined) {\n\t\t\t\ttabulatorOptions.height = 500;\n\t\t\t}\n\n\t\t\tif (!this.tableOnly) {\n\t\t\t\ttabulatorOptions.data = this.filteredData;\n\t\t\t\ttabulatorOptions.columns = this.filteredColumns;\n\t\t\t} else {\n\t\t\t\ttabulatorOptions.columns.forEach(col => {\n\t\t\t\t\tif (col.visible === undefined)\n\t\t\t\t\t\tcol.visible = true;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (tabulatorOptions.selectable || (tabulatorOptions.columns && tabulatorOptions.columns.filter(el => el.formatter == 'rowSelection').length))\n\t\t\t\tthis.tabulatorHasSelector = true;\n\n\t\t\tif (this.idField) {\n\t\t\t\t// enable nested tabulator if parent Id given\n\t\t\t\tif (this.parentIdField) tabulatorOptions.dataTree = true;\n\t\t\t\t// set tabulator index\n\t\t\t\ttabulatorOptions.index = this.idField;\n\t\t\t}\n\n\t\t\t// Start the tabulator with the build options\n\t\t\tthis.tabulator = new Tabulator(\n\t\t\t\tthis.$refs.table,\n\t\t\t\ttabulatorOptions\n\t\t\t);\n\t\t\t// If event handlers have been provided\n\t\t\tif (Array.isArray(this.tabulatorEvents) && this.tabulatorEvents.length > 0)\n\t\t\t{\n\t\t\t\t// Attach all the provided event handlers to the started tabulator\n\t\t\t\tfor (let evt of this.tabulatorEvents)\n\t\t\t\t\tthis.tabulator.on(evt.event, evt.handler);\n\t\t\t}\n\t\t\tthis.tabulator.on('tableBuilt', () => {this.tableBuilt = true; this.$emit('tableBuilt');});\n\t\t\tthis.tabulator.on(\"rowSelectionChanged\", data => {\n\t\t\t\tthis.selectedData = data;\n\t\t\t});\n\n\t\t\t// if nested tabulator, restructure data\n\t\t\tif (this.parentIdField && this.idField) {\n\t\t\t\tthis.tabulator.on(\"dataLoading\", data => {\n\t\t\t\t\tlet toDelete = [];\n\n\t\t\t\t\t// loop through all data\n\t\t\t\t\tfor (let childIdx = 0; childIdx < data.length; childIdx++)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet child = data[childIdx];\n\n\t\t\t\t\t\t// if it has parent id, it is a child\n\t\t\t\t\t\tif (child[this.parentIdField])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// append the child on the right place. If parent found, mark original sw child on 0 level for deleting\n\t\t\t\t\t\t\tif (this.appendChild(data, child)) toDelete.push(childIdx);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// delete the marked children from 0 level\n\t\t\t\t\tfor (let counter = 0; counter < toDelete.length; counter++)\n\t\t\t\t\t{\n\t\t\t\t\t\t// decrease index by counter as index of data array changes after every deletion\n\t\t\t\t\t\tdata.splice(toDelete[counter] - counter, 1);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (this.tableOnly) {\n\t\t\t\tthis.tabulator.on('tableBuilt', () => {\n\t\t\t\t\tconst cols = this.tabulator.getColumns();\n\t\t\t\t\tthis.fields = cols.map(col => col.getField());\n\t\t\t\t\tthis.selectedFields = cols.filter(col => col.isVisible()).map(col => col.getField());\n\t\t\t\t\tif (this.tabulator.options.persistence.headerFilter)\n\t\t\t\t\t\tthis._setHeaderFilter();\n\t\t\t\t});\n\n\t\t\t}\n\n\t\t\tthis.tabulator.on(\"dataFiltered\", filters => {\n\t\t\t\tthis.filterActive = filters.length > 0;\n\t\t\t});\n\t\t},\n\t\tupdateTabulator() {\n\t\t\tif (this.tabulator) {\n\t\t\t\tif (this.tableBuilt)\n\t\t\t\t\tthis._updateTabulator();\n\t\t\t\telse\n\t\t\t\t\tthis.tabulator.on('tableBuilt', this._updateTabulator);\n\t\t\t}\n\t\t},\n\t\t_updateTabulator() {\n\t\t\tthis.tabulatorHasSelector = this.tabulatorOptions.selectable || this.filteredColumns.filter(el => el.formatter == 'rowSelection').length;\n\t\t\tthis.tabulator.setColumns(this.filteredColumns);\n\t\t\tthis.tabulator.setData(this.filteredData);\n\t\t\tthis._setHeaderFilter()\n\t\t},\n\t\tclearFilters()\n\t\t{\n\t\t\tlet existingFilters = this.tabulator.getHeaderFilters();\n\t\t\texistingFilters.forEach(filter => {\n\t\t\t\tthis.tabulator.setHeaderFilterValue(filter.field, \"\");\n\t\t\t});\n\t\t\tthis.tabulator.clearFilter();\n\t\t\tthis.filterActive = false;\n\t\t},\n\t\t_setHeaderFilter()\n\t\t{\n\t\t\tconst existingFilters = this.tabulator.getHeaderFilters();\n\t\t\texistingFilters.forEach(filter => {\n\t\t\t\tthis.tabulator.setHeaderFilterValue(filter.field, filter.value);\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tgetFilter() {\n\t\t\tif (this.selectedFilter === null)\n\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilter(wsParams)),\n\t\t\t\t\tnull,\n\t\t\t\t\tthis.render\n\t\t\t\t);\n\t\t\telse\n\t\t\t\tthis.startFetchCmpt(\n\t\t\t\t\twsParams => this.$api.call(ApiFilter.getFilterById(wsParams)),\n\t\t\t\t\t{\n\t\t\t\t\t\tfilterId: this.selectedFilter\n\t\t\t\t\t},\n\t\t\t\t\tthis.render\n\t\t\t\t);\n\t\t},\n\t\tsetRenderData(data) {\n\t\t\tthis.fetchResult = data;\n\t\t\tthis.filterName = data.filterName;\n\t\t\tthis.dataset = data.dataset;\n\t\t\tthis.datasetMetadata = data.datasetMetadata;\n\n\t\t\tthis.fields = data.fields;\n\t\t\tthis.selectedFields = data.selectedFields;\n\t\t\tthis.filterFields = [];\n\n\t\t\tfor (let i = 0; i < data.datasetMetadata.length; i++)\n\t\t\t{\n\t\t\t\tfor (let j = 0; j < data.filters.length; j++)\n\t\t\t\t{\n\t\t\t\t\tif (data.datasetMetadata[i].name == data.filters[j].name)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet filter = data.filters[j];\n\t\t\t\t\t\tfilter.type = data.datasetMetadata[i].type;\n\n\t\t\t\t\t\tthis.filterFields.push(filter);\n\t\t\t\t\t\t//break;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\trender(response) {\n\t\t\tlet data = response;\n\n\t\t\tthis.setRenderData(data);\n\n\t\t\t// If the side menu is active\n\t\t\tif (this.sideMenu === true)\n\t\t\t{\n\t\t\t\tthis.setSideMenu(data);\n\t\t\t}\n\t\t\telse // otherwise use the dropdown in the filter options\n\t\t\t{\n\t\t\t\tthis.setDropDownMenu(data);\n\t\t\t}\n\t\t\tthis.updateTabulator();\n\t\t},\n\t\t/**\n\t\t * Set the menu\n\t\t */\n\t\tsetSideMenu(data) {\n\t\t\tlet filters = data.sideMenu.filters;\n\t\t\tlet personalFilters = data.sideMenu.personalFilters;\n\t\t\tlet filtersArray = [];\n\n\t\t\tfor (let filtersCount = 0; filtersCount < filters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = filters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: filters[filtersCount].filter_id,\n\t\t\t\t\tlink: link + filters[filtersCount].filter_id,\n\t\t\t\t\tdescription: filters[filtersCount].desc,\n\t\t\t\t\tsort: filtersCount,\n\t\t\t\t\tonClickCall: this.handlerGetFilterById\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfor (let filtersCount = 0; filtersCount < personalFilters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = personalFilters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: personalFilters[filtersCount].filter_id,\n\t\t\t\t\tlink: link + personalFilters[filtersCount].filter_id,\n\t\t\t\t\tdescription: personalFilters[filtersCount].desc,\n\t\t\t\t\tsubscriptDescription: personalFilters[filtersCount].subscriptDescription,\n\t\t\t\t\tsubscriptLinkClass: personalFilters[filtersCount].subscriptLinkClass,\n\t\t\t\t\tsubscriptLinkValue: personalFilters[filtersCount].subscriptLinkValue,\n\t\t\t\t\tsort: filtersCount,\n\t\t\t\t\tonClickCall: this.handlerGetFilterById,\n\t\t\t\t\tonClickSubscriptCall: this.handlerRemoveCustomFilter\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.availableFilters = filtersArray;\n\n\t\t\tthis.$emit(\n\t\t\t\t'nwNewEntry',\n\t\t\t\t{\n\t\t\t\t\tlink: \"#\",\n\t\t\t\t\tdescription: \"Filters\",\n\t\t\t\t\ticon: \"filter\",\n\t\t\t\t\tchildren: filtersArray\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t/**\n\t\t * Set the drop down menu\n\t\t */\n\t\tsetDropDownMenu(data) {\n\t\t\tlet filters = data.sideMenu.filters;\n\t\t\tlet personalFilters = data.sideMenu.personalFilters;\n\t\t\tlet filtersArray = [];\n\n\t\t\tfor (let filtersCount = 0; filtersCount < filters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = filters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: filters[filtersCount].filter_id,\n\t\t\t\t\toption: filters[filtersCount].filter_id,\n\t\t\t\t\tdescription: filters[filtersCount].desc\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfor (let filtersCount = 0; filtersCount < personalFilters.length; filtersCount++)\n\t\t\t{\n\t\t\t\tlet link = personalFilters[filtersCount].link;\n\n\t\t\t\tif (link == null) link = '#';\n\n\t\t\t\tfiltersArray[filtersArray.length] = {\n\t\t\t\t\tid: personalFilters[filtersCount].filter_id,\n\t\t\t\t\toption: personalFilters[filtersCount].filter_id,\n\t\t\t\t\tdescription: personalFilters[filtersCount].desc\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.availableFilters = filtersArray;\n\t\t},\n\t\t/**\n\t\t * Used to start/refresh the FetchCmpt\n\t\t */\n\t\tstartFetchCmpt(apiFunction, apiFunctionParameters, dataFetchedCallback) {\n\t\t\t// Assign the function api of the FetchCmpt binded property\n\t\t\tthis.fetchCmptApiFunction = apiFunction;\n\n\t\t\t// In case a null value is provided set the parameters as an empty object\n\t\t\tif (apiFunctionParameters == null) apiFunctionParameters = {};\n\n\t\t\t// Always needed parameters\n\t\t\tapiFunctionParameters.filterUniqueId = FHC_JS_DATA_STORAGE_OBJECT.called_path + \"/\" + FHC_JS_DATA_STORAGE_OBJECT.called_method;\n\t\t\tapiFunctionParameters.filterType = this.filterType;\n\n\t\t\tif (this.uniqueId)\n\t\t\t\tapiFunctionParameters.filterUniqueId += '_' + this.uniqueId;\n\n\t\t\t// Assign parameters to the FetchCmpt binded properties\n\t\t\tthis.fetchCmptApiFunctionParams = apiFunctionParameters;\n\t\t\t// Assign data fetch callback to the FetchCmpt binded properties\n\t\t\tthis.fetchCmptDataFetched = dataFetchedCallback;\n\t\t\t// Set the FetchCmpt binded property refresh to have the component to refresh\n\t\t\t// NOTE: this should be the last one to be called because it triggers the FetchCmpt to start to refresh\n\t\t\tthis.fetchCmptRefresh === true ? this.fetchCmptRefresh = false : this.fetchCmptRefresh = true;\n\t\t},\n\n\t\t// ------------------------------------------------------------------------------------------------------------------\n\t\t// Event handlers\n\n\t\t/**\n\t\t *\n\t\t */\n\t\thandlerSaveCustomFilter(customFilterName) {\n\t\t\tthis.selectedFilter = null;\n\t\t\t//\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.saveCustomFilter(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tcustomFilterName\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\thandlerRemoveCustomFilter(event) {\n\t\t\tlet filterId = event.currentTarget.getAttribute(\"href\").substring(1);\n\t\t\tif (filterId === this.selectedFilter)\n\t\t\t\tthis.selectedFilter = null;\n\t\t\t//\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.removeCustomFilter(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tfilterId: filterId\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\n\t\t/*\n\t\t *\n\t\t */\n\t\thandlerGetFilterById: function(event) {\n\n\t\t\tlet filterId = null;\n\n\t\t\t// Get the attribute href if side menu is rendered\n\t\t\tlet attr = event.currentTarget.getAttribute(\"href\");\n\n\t\t\t// Otherwise get the value of the drop down menu\n\t\t\tif (attr == null)\n\t\t\t{\n\t\t\t\tfilterId = event.currentTarget.value;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfilterId = attr.substring(1);\n\t\t\t}\n\n\t\t\tthis.switchFilter(filterId);\n\t\t},\n\t\tswitchFilter(filterId) {\n\t\t\tthis.selectedFilter = filterId;\n\t\t\tthis.getFilter();\n\t\t},\n\t\tapplyFilterConfig(filterFields) {\n\t\t\tthis.selectedFilter = null;\n\t\t\tthis.startFetchCmpt(\n\t\t\t\twsParams => this.$api.call(ApiFilter.applyFilterFields(wsParams)),\n\t\t\t\t{\n\t\t\t\t\tfilterFields\n\t\t\t\t},\n\t\t\t\tthis.getFilter\n\t\t\t);\n\t\t},\n\n\t\t// append child to it's parent\n\t\tappendChild(data, child) {\n\t\t\t// get parent id\n\t\t\tlet parentId = child[this.parentIdField];\n\n\t\t\t// loop thorugh all data\n\t\t\tfor (let parentIdx = 0; parentIdx < data.length; parentIdx++)\n\t\t\t{\n\t\t\t\tlet parent = data[parentIdx];\n\n\t\t\t\t// if it's the parent\n\t\t\t\tif (parent[this.idField] == parentId)\n\t\t\t\t{\n\t\t\t\t\t// create children array if not done yet\n\t\t\t\t\tif (!parent._children) parent._children = [];\n\n\t\t\t\t\t// if child is not included in children array, append the child\n\t\t\t\t\tif (!parent._children.includes(child)) parent._children.push(child);\n\n\t\t\t\t\t// parent found\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// search children for parents\n\t\t\t\telse if (parent._children) this.appendChild(parent._children, child);\n\t\t\t}\n\n\t\t\t// parent not found\n\t\t\treturn false;\n\t\t}\n\t},\n\tbeforeCreate() {\n\t\tif (!this.tableOnly == !this.filterType)\n\t\t\talert('You can not have a filter-type in table-only mode!');\n\t},\n\tcreated() {\n\t\tif (this.sideMenu && (!this.$props.onNwNewEntry || !(this.$props.onNwNewEntry instanceof Function)))\n\t\t\talert('\"nwNewEntry\" listener is mandatory when sideMenu is true');\n\t\tthis.uuid = _uuid++;\n\t\tthis.$emit('uuidDefined', this.uuid)\n\t},\n\tmounted() {\n\t\tthis.initTabulator().then(() => {\n\t\t\tif (!this.tableOnly) {\n\t\t\t\tthis.selectedFilter = window.location.hash ? window.location.hash.slice(1) : null;\n\t\t\t\tthis.render(this.fetchResult);\n\t\t\t}\n\t\t});\n\n\t},\n\ttemplate: `\n\t\t\n\t\t\n\t\t\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{{ title }}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ selectedData.length }} ausgewählt\n\t\t\t\t\t\t Mit {{ selectedData.length }} ausgewählten:\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
`\n};","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\t\n\tprofilViewData(uid) {\n\t\tlet url = \"/api/frontend/v1/Profil/profilViewData\";\n\t\tif(uid){\n\t\t\turl += `/${uid}`;\n\t\t}\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: url\n\t\t};\n\t},\n\tfotoSperre(value) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/Profil/fotoSperre/${value}`\n\t\t};\n\t\t\n\t},\n\tisStudent(uid) {\n\t\t// TODO(chris): seems to be called from nowhere?\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Profil/isStudent',\n\t\t\tparams: { uid }\n\t\t};\n\t},\n\tisMitarbeiter(uid) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/Profil/isMitarbeiter/${uid}`\n\t\t};\n\t},\n\tgetZustellAdresse() {\n\t\t// TODO(chris): seems to be called from nowhere?\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Profil/getZustellAdresse'\n\t\t};\n\t},\n\tgetZustellKontakt() {\n\t\t// TODO(chris): seems to be called from nowhere?\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Profil/getZustellKontakt'\n\t\t};\n\t},\n\tgetGemeinden(nation, zip) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/Profil/getGemeinden/${nation}/${zip}`\n\t\t};\n\t\t\n\t},\n\tgetAllNationen() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Profil/getAllNationen'\n\t\t};\n\t},\n};","import DmsItem from './Dms/Item.js';\n\nexport default {\n\tcomponents: {\n\t\tDmsItem\n\t},\n\temits: [\n\t\t'update:modelValue'\n\t],\n\tprops: {\n\t\tmodelValue: {\n\t\t\ttype: [ FileList, Array ],\n\t\t\trequired: true\n\t\t},\n\t\tmultiple: Boolean,\n\t\tid: String,\n\t\tname: String,\n\t\tinputClass: [String, Array, Object],\n\t\tnoList: Boolean,\n\t\taccept: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t}\n\t},\n\tmethods: {\n\t\tstringifyFile(file) {\n\t\t\treturn JSON.stringify({\n\t\t\t\tlastModified: file.lastModified,\n\t\t\t\tlastModifiedDate: file.lastModifiedDate,\n\t\t\t\tname: file.name,\n\t\t\t\tsize: file.size,\n\t\t\t\ttype: file.type\n\t\t\t});\n\t\t},\n\t\taddFiles(event) {\n\t\t\tif (!this.multiple)\n\t\t\t\treturn this.$emit('update:modelValue', event.target.files);\n\t\t\t\n\t\t\tconst dt = new DataTransfer();\n\t\t\tconst doubles = [];\n\t\t\tfor (var file of this.modelValue) {\n\t\t\t\tdt.items.add(file);\n\t\t\t\tdoubles.push(this.stringifyFile(file));\n\t\t\t}\n\t\t\tfor (var file of event.target.files) {\n\t\t\t\t// NOTE(chris): deep check (with FileReader) would require an async function so we only check the basic attributes\n\t\t\t\tif (doubles.indexOf(this.stringifyFile(file)) < 0)\n\t\t\t\t\tdt.items.add(file);\n\t\t\t}\n\t\t\tthis.$emit('update:modelValue', dt.files);\n\t\t},\n\t\tremoveFile(id) {\n\t\t\tconst fileToRemove = Array.from(this.modelValue)[id];\n\t\t\t\n\t\t\tconst dt = new DataTransfer();\n\t\t\tfor (var file of this.modelValue) {\n\t\t\t\tif (file !== fileToRemove)\n\t\t\t\t\tdt.items.add(file);\n\t\t\t}\n\t\t\tthis.$emit('update:modelValue', dt.files);\n\t\t}\n\t},\n\twatch: {\n\t\tmodelValue(n) {\n\t\t\tif (!n)\n\t\t\t\treturn;\n\t\t\tif (n instanceof FileList) {\n\t\t\t\tif (!this.$refs.upload) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn this.$refs.upload.files = n;\n\t\t\t}\n\n\t\t\tconst dt = new DataTransfer();\n\t\t\tconst dms = [];\n\t\t\tfor (var file of n) {\n\t\t\t\tif (file instanceof File) {\n\t\t\t\t\tdt.items.add(file);\n\t\t\t\t} else {\n\t\t\t\t\tconst dmsFile = new File([JSON.stringify(file)], file.name, {\n\t\t\t\t\t\ttype: 'application/x.fhc-dms+json'\n\t\t\t\t\t});\n\t\t\t\t\tdt.items.add(dmsFile);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit('update:modelValue', dt.files);\n\t\t}\n\t},\n\ttemplate: `\n\t
`\n}\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\t//! API calls for profil update requests\n\tgetStatus() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/getStatus'\n\t\t};\n\t},\n\tgetTopic() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/getTopic'\n\t\t};\n\t},\n\tacceptProfilRequest({profil_update_id, uid, status_message, topic, requested_change}) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/acceptProfilRequest',\n\t\t\tparams: {\n\t\t\t\tprofil_update_id,\n\t\t\t\tuid,\n\t\t\t\tstatus_message,\n\t\t\t\ttopic,\n\t\t\t\trequested_change\n\t\t\t}\n\t\t};\n\t},\n\tdenyProfilRequest({profil_update_id, uid, topic, status_message}) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/denyProfilRequest',\n\t\t\tparams: {\n\t\t\t\tprofil_update_id,\n\t\t\t\tuid,\n\t\t\t\ttopic,\n\t\t\t\tstatus_message\n\t\t\t}\n\t\t};\n\t},\n\tinsertFile(dms, replace = null) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: `/api/frontend/v1/ProfilUpdate/insertFile/${replace}`,\n\t\t\tparams: dms\n\t\t};\n\t},\n\tupdateProfilbild(dms) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: `/api/frontend/v1/ProfilUpdate/updateProfilbild`,\n\t\t\tparams: dms\n\t\t};\n\t},\n\tgetProfilUpdateWithPermission(filter) {\n\t\tconst url_filter = (filter !== '') ? '/' + encodeURIComponent(filter) : '';\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/getProfilUpdateWithPermission' + url_filter\n\t\t};\n\t},\n\tgetProfilRequestFiles(requestID) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: `/api/frontend/v1/ProfilUpdate/getProfilRequestFiles/${requestID}`\n\t\t};\n\t},\n\tselectProfilRequest(uid = null, id = null) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/selectProfilRequest',\n\t\t\tparams: {\n\t\t\t\t...(uid ? { uid } : {}),\n\t\t\t\t...(id ? { id } : {})\n\t\t\t}\n\t\t};\n\t},\n\tinsertProfilRequest(topic, payload, fileID = null) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/insertProfilRequest',\n\t\t\tparams: {\n\t\t\t\ttopic,\n\t\t\t\tpayload,\n\t\t\t\t...(fileID ? { fileID } : {})\n\t\t\t}\n\t\t};\n\t},\n\tupdateProfilRequest(topic, payload, ID, fileID = null) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/updateProfilRequest',\n\t\t\tparams: {\n\t\t\t\ttopic,\n\t\t\t\tpayload,\n\t\t\t\tID,\n\t\t\t\t...(fileID ? { fileID } : {})\n\t\t\t}\n\t\t};\n\t},\n\tdeleteProfilRequest(requestID) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/ProfilUpdate/deleteProfilRequest',\n\t\t\tparams: { requestID }\n\t\t};\n\t}\n};","import Dms from \"../../../../Form/Upload/Dms.js\";\nimport BsModal from \"../../../../Bootstrap/Modal.js\";\n\nimport ApiProfilUpdate from '../../../../../api/factory/profilUpdate.js';\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tdmsData: [],\n\t\t};\n\t},\n\tcomponents: {\n\t\tDms,\n\t\tBsModal,\n\t},\n\tmixins: [BsModal],\n\tprops: {\n\t\ttitel: {\n\t\t\ttype: String,\n\t\t},\n\t\tfiles: {\n\t\t\ttype: Array,\n\t\t},\n\t\tupdateID: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\tonHideBsModal: Function,\n\t\tonHiddenBsModal: Function,\n\t\tonHidePreventedBsModal: Function,\n\t\tonShowBsModal: Function,\n\t\tonShownBsModal: Function,\n\t},\n\tmethods:{\n\t\tasync uploadImage(){\n\t\t\tif(this.dmsData){\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"files[]\", this.dmsData[0]);\n\t\t\t\tawait this.$api\n\t\t\t\t\t.call(ApiProfilUpdate.updateProfilbild(formData))\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.$fhcAlert.alertSuccess(this.$p.t('global','hochgeladen'));\n\t\t\t\t\t\tthis.modal.hide();\n\t\t\t\t\t});\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.modal = this.$refs.modalContainer.modal;\n\t\tif (this.files) {\n\t\t\tthis.dmsData = this.files;\n\t\t}\n\t},\n\tpopup(options) {\n\t\t\tBsModal.popup.bind(this);\n\t\t\treturn BsModal.popup(null, options);\n\t},\n\ttemplate: /*html*/`\n\n\t\n\t\t\n\t\t\t
\n`,\n};\n","import Kontakt from \"../ProfilComponents/Kontakt.js\";\nimport EditKontakt from \"./EditProfilComponents/EditKontakt.js\";\nimport Adresse from \"../ProfilComponents/Adresse.js\";\nimport EditAdresse from \"./EditProfilComponents/EditAdresse.js\";\nimport Status from \"./EditProfilComponents/Status.js\";\nimport TextInputDokument from \"./EditProfilComponents/TextInputDokument.js\";\n\nexport default {\n\tname: 'EditProfilSelect',\n\tcomponents: {\n\t\tKontakt,\n\t\tEditKontakt,\n\t\tAdresse,\n\t\tEditAdresse,\n\t\tStatus,\n\t\tTextInputDokument,\n\t},\n\tinject: [\"profilUpdateTopic\", \"isMitarbeiter\"],\n\tprops: {\n\t\tlist: Object,\n\n\t\t//? Prop used to determine how many options the select should initially show\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\t//? Content for the aria label of the select\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprofilUpdate: String,\n\t\ttopic: String,\n\t\tbreadcrumb: String,\n\t},\n\temits: {\n\t\t//? update:modelValue event is needed to notify the v-model when the value has changed\n\t\t[\"update:profilUpdate\"]: null,\n\t\t[\"update:topic\"]: null,\n\t\t[\"update:breadcrumb\"]: null,\n\t\tsubmit: null,\n\t\tselect: null,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tview: null,\n\t\t\tdata: null,\n\t\t\tbreadcrumbItems: [],\n\t\t\tmodal_topic: this.topic,\n\t\t\tproperties: null,\n\t\t};\n\t},\n\n\tmethods: {\n\t\taddItem: function () {\n\t\t\tthis.view =\n\t\t\t\tthis.modal_topic == this.profilUpdateTopic[\"Private Kontakte\"]\n\t\t\t\t\t? \"EditKontakt\"\n\t\t\t\t\t: \"EditAdresse\";\n\n\t\t\t//? updates the topic when a Kontakt or an Address should be added\n\t\t\tthis.modal_topic =\n\t\t\t\tthis.modal_topic == this.profilUpdateTopic[\"Private Kontakte\"]\n\t\t\t\t\t? this.profilUpdateTopic[\"Add Kontakt\"]\n\t\t\t\t\t: this.profilUpdateTopic[\"Add Adresse\"];\n\t\t\tthis.$emit(\"update:topic\", this.modal_topic);\n\t\t\tthis.breadcrumbItems.push(this.modal_topic);\n\t\t\tthis.$emit(\"update:breadcrumb\", this.breadcrumbItems);\n\n\t\t\tthis.data =\n\t\t\t\tthis.view == \"EditAdresse\"\n\t\t\t\t\t? {\n\t\t\t\t\t\t//? add flag\n\t\t\t\t\t\tadd: true,\n\t\t\t\t\t\tadresse_id: null,\n\t\t\t\t\t\tstrasse: null,\n\t\t\t\t\t\ttyp: null,\n\t\t\t\t\t\tplz: null,\n\t\t\t\t\t\tort: null,\n\t\t\t\t\t\tzustelladresse: false,\n\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t//? add flag\n\t\t\t\t\t\tadd: true,\n\t\t\t\t\t\tkontakt_id: null,\n\t\t\t\t\t\tkontakttyp: null,\n\t\t\t\t\t\tkontakt: null,\n\t\t\t\t\t\tanmerkung: null,\n\t\t\t\t\t\tzustellung: false,\n\t\t\t\t\t};\n\t\t},\n\n\t\tdeleteItem: function (item) {\n\t\t\t//? delete flag\n\t\t\titem.data.delete = true;\n\t\t\tthis.$emit(\"update:profilUpdate\", item.data);\n\t\t\t//? updates the topic when a Kontakt or an Address should be deleted\n\n\t\t\tthis.modal_topic = this.modal_topic == this.profilUpdateTopic[\"Private Adressen\"]\n\t\t\t\t? this.profilUpdateTopic[\"Delete Adresse\"]\n\t\t\t\t: this.profilUpdateTopic[\"Delete Kontakt\"];\n\t\t\tthis.$emit(\"update:topic\", this.modal_topic);\n\t\t\tthis.$emit(\"submit\");\n\t\t},\n\n\t\tprofilUpdateEmit: function (event) {\n\t\t\t//? passes the updated profil information to the parent component\n\t\t\tthis.$emit(\"update:profilUpdate\", event);\n\t\t},\n\n\t\tupdateOptions: function (event, item) {\n\t\t\tthis.properties = item;\n\t\t\tthis.data = item.data;\n\t\t\tthis.view = item.view;\n\t\t\tif (item.title) {\n\t\t\t\t//? emits the selected topic to the parent component\n\t\t\t\tthis.modal_topic = item.topic;\n\t\t\t\tthis.$emit(\"update:topic\", this.modal_topic);\n\n\t\t\t\t//? emits the new item for the breadcrumb in the parent component\n\t\t\t\tthis.breadcrumbItems.push(item.title);\n\t\t\t} else {\n\t\t\t\tif (item.data.kontakttyp) {\n\t\t\t\t\tthis.breadcrumbItems.push(item.data.kontakttyp);\n\t\t\t\t\tthis.breadcrumbItems.push(item.data.kontakt);\n\t\t\t\t} else if (item.data.strasse) {\n\t\t\t\t\tthis.breadcrumbItems.push(item.data.strasse);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"update:breadcrumb\", this.breadcrumbItems);\n\t\t},\n\t},\n\tcomputed: {},\n\tcreated() {\n\t\t//? JSON parse and stringify are used to deep clone the objects\n\t\tthis.properties = {...this.list};\n\t\tthis.data = this.list.data\n\t\t\t? JSON.parse(JSON.stringify(this.list.data))\n\t\t\t: null;\n\t\tthis.view = this.list.view\n\t\t\t? JSON.parse(JSON.stringify(this.list.view))\n\t\t\t: null;\n\t},\n\tmounted() {\n\t},\n\n\ttemplate: /*html*/ `\n \n
\n \n
\n \n \n
\n \n
\n
\n \n
\n \n \n \n \n `,\n};\n","export default {\n props: {\n data: Object,\n },\n\n data() {\n return {\n originalValue: null,\n zustellKontakteCount: null,\n };\n },\n\n inject: [\"getZustellkontakteCount\"],\n\n methods: {\n updateValue: function (event, bind) {\n if (bind === \"zustellung\") {\n this.data[bind] = event.target.checked;\n } else {\n //? sets the value of a property to null when an empty string is entered to keep the isChanged function valid\n this.data[bind] = event.target.value === \"\" ? null : event.target.value;\n }\n this.$emit(\"profilUpdate\", this.isChanged ? this.data : null);\n this.zustellKontakteCount = this.getZustellkontakteCount();\n },\n },\n\n computed: {\n showZustellKontakteWarning: function () {\n\t // if the kontakt is already a zustellungskontakt when the user is editing the kontakt, then no warning is shown and the zustellung will be overwritten\n\t if (JSON.parse(this.originalValue).zustellung) {\n\t return false;\n\t }\n\t const kontakteOfSelectedType = this.zustellKontakteCount.filter((element) => {\n\t\t return element.kontakttyp === this.data?.kontakttyp\n\t });\n // if zustellKontakteCount is not 0 and the own kontakt has the flag zustellung set to true\n if (!this.zustellKontakteCount.some((element) => element.kontakt_id === this.data.kontakt_id)) {\n return this.data.zustellung && kontakteOfSelectedType.length;\n }\n return this.kontakteOfSelectedType.length >= 2 && this.data.zustellung;\n },\n isChanged: function () {\n //? returns true if the original passed data object was changed\n if (!this.data.kontakt || !this.data.kontakttyp) {\n return false;\n }\n return JSON.stringify(this.data) !== this.originalValue;\n },\n },\n\n created() {\n this.originalValue = JSON.stringify(this.data);\n this.zustellKontakteCount = this.getZustellkontakteCount();\n },\n \n template:\n /*html*/\n `\n\n
\n `,\n};\n","import BsModal from './Bootstrap/Modal.js';\n\nexport default {\n\tcomponents: {\n\t\tBsModal\n\t},\n\tprops: {\n\t\ttimeout: {\n\t\t\ttype: Number,\n\t\t\tdefault: 300\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tt: null,\n\t\t\tstate: 0\n\t\t}\n\t},\n\tmethods: {\n\t\tshow() {\n\t\t\tswitch (this.state) {\n\t\t\t\tcase 0:\n\t\t\t\t\tif (this.timeout) {\n\t\t\t\t\t\tthis.state = 1;\n\t\t\t\t\t\tthis.t = window.setTimeout(() => this.$refs.modal.show(), this.timeout);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else\n\t\t\t\t\t\treturn this.$refs.modal.show();\n\t\t\t\tcase 4:\n\t\t\t\t\treturn window.setTimeout(() => this.show(), 1);\n\t\t\t}\n\t\t},\n\t\thide() {\n\t\t\tswitch (this.state) {\n\t\t\t\tcase 1:\n\t\t\t\t\treturn window.clearTimeout(this.t);\n\t\t\t\tcase 2:\n\t\t\t\t\treturn window.setTimeout(() => this.hide(), 1);\n\t\t\t\tcase 3:\n\t\t\t\t\tthis.$refs.modal.hide();\n\t\t\t}\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.$refs.modal.$refs.modal.addEventListener('show.bs.modal', () => {\n\t\t\tthis.state = 2;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('shown.bs.modal', () => {\n\t\t\tthis.state = 3;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('hide.bs.modal', () => {\n\t\t\tthis.state = 4;\n\t\t});\n\t\tthis.$refs.modal.$refs.modal.addEventListener('hidden.bs.modal', () => {\n\t\t\tthis.state = 0;\n\t\t});\n\t},\n\ttemplate: `\n\t\n\t\tLoading...\n\t`\n}","import BsModal from \"../../../Bootstrap/Modal.js\";\nimport Alert from \"../../../Bootstrap/Alert.js\";\nimport EditProfilSelect from \"./EditProfilSelect.js\";\nimport Loader from \"../../../Loader.js\";\n\nimport ApiProfilUpdate from '../../../../api/factory/profilUpdate.js';\n\nexport default {\n\tcomponents: {\n\t\tBsModal,\n\t\tAlert,\n\t\tEditProfilSelect,\n\t\tLoader,\n\t},\n\tmixins: [BsModal],\n\tprops: {\n\t\tisMitarbeiter: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tvalue: Object,\n\t\ttitel: String,\n\t\tzustelladressenCount: Function,\n\t\tzustellkontakteCount: Function,\n\t\t/*\n\t\t * NOTE(chris):\n\t\t * Hack to expose in \"emits\" declared events to $props which we use\n\t\t * in the v-bind directive to forward all events.\n\t\t * @see: https://github.com/vuejs/core/issues/3432\n\t\t */\n\t\tonHideBsModal: Function,\n\t\tonHiddenBsModal: Function,\n\t\tonHidePreventedBsModal: Function,\n\t\tonShowBsModal: Function,\n\t\tonShownBsModal: Function,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\ttopic: null,\n\t\t\tprofilUpdate: null,\n\t\t\teditData: this.value,\n\t\t\tfileID: null,\n\t\t\tbreadcrumb: null,\n\t\t\tloading: false,\n\t\t\tresult: false,\n\t\t\tinfo: null,\n\t\t};\n\t},\n\tinject: [\"setLoading\"],\n\tprovide() {\n\t\treturn {\n\t\t\tupdateFileID: this.updateFileIDFunction,\n\t\t\tisMitarbeiter: this.isMitarbeiter\n\t\t};\n\t},\n\n\tmethods: {\n\t\tupdateFileIDFunction: function (newFileID) {\n\t\t\tthis.fileID = newFileID;\n\t\t},\n\n\t\thandleFailedError: function (err) {\n\t\t\tconsole.error(err);\n\t\t\tthis.loading = false;\n\t\t\tthis.setLoading(false);\n\t\t\tthis.result = false;\n\t\t\tthis.hide();\n\t\t},\n\n\t\tasync submitProfilChange() {\n\n\t\t\t//? check if data is valid before making a request\n\t\t\tif (this.topic && this.profilUpdate) {\n\t\t\t\t//? if profil update contains any attachment\n\t\t\t\tif (this.fileID) {\n\t\t\t\t\tconst fileData = await this.uploadFiles(this.fileID);\n\n\t\t\t\t\tthis.fileID = fileData ? fileData : null;\n\t\t\t\t}\n\n\t\t\t\t//? inserts new row in public.tbl_cis_profil_update\n\t\t\t\t//* calls the update api call if an update field is present in the data that was passed to the modal\n\t\t\t\tconst handleApiResponse = (res) => {\n\t\t\t\t\t//? toggles the loading to false and closes the loading modal\n\t\t\t\t\tif (res.data.error) {\n\t\t\t\t\t\tthis.result = false;\n\t\t\t\t\t\tAlert.popup(\n\t\t\t\t\t\t\t\"Ein Fehler ist aufgetreten: \" + JSON.stringify(res.data.retval)\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.result = true;\n\t\t\t\t\t\tAlert.popup(\n\t\t\t\t\t\t\t\"Ihre Anfrage wurde erfolgreich gesendet. Bitte warten Sie, während sich das Team um Ihre Anfrage kümmert.\"\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\t//* v-show on EditProfil modal binded to this.loading\n\t\t\t\t//? hides the EditProfil modal and shows the loading modal by calling a callback that was passed as prop from the parent component\n\t\t\t\tthis.loading = true;\n\t\t\t\tthis.setLoading(true);\n\n\t\t\t\t//? if an updateID is present, updateProfilRequest is called, else insertProfilRequest is called\n\t\t\t\tthis.editData.updateID ?\n\t\t\t\t\tthis.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.updateProfilRequest(\n\t\t\t\t\t\t\tthis.topic,\n\t\t\t\t\t\t\tthis.profilUpdate,\n\t\t\t\t\t\t\tthis.editData.updateID,\n\t\t\t\t\t\t\tthis.fileID ? this.fileID[0] : null\n\t\t\t\t\t\t))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\thandleApiResponse(res);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => this.$fhcAlert.handleSystemError)\n\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\tthis.loading = false;\n\t\t\t\t\t\t\tthis.setLoading(false);\n\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t\t})\n\t\t\t\t\t:\n\t\t\t\t\tthis.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.insertProfilRequest(\n\t\t\t\t\t\t\tthis.topic,\n\t\t\t\t\t\t\tthis.profilUpdate,\n\t\t\t\t\t\t\tthis.fileID ? this.fileID[0] : null\n\t\t\t\t\t\t))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\thandleApiResponse(res);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => this.$fhcAlert.handleSystemError)\n\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\tthis.loading = false;\n\t\t\t\t\t\t\tthis.setLoading(false);\n\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\tuploadFiles: async function (files) {\n\t\t\tif (files[0].type !== \"application/x.fhc-dms+json\") {\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append(\"files[]\", files[0]);\n\t\t\t\tconst result = this.editData.updateID\n\t\t\t\t\t? //? updating old attachment by replacing\n\t\t\t\t\t //* second parameter of api request insertFile checks if the file has to be replaced or not\n\t\t\t\t\tawait this.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.insertFile(\n\t\t\t\t\t\t\tformData,\n\t\t\t\t\t\t\tthis.editData.updateID\n\t\t\t\t\t\t))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\treturn res.data?.map((file) => file.dms_id);\n\t\t\t\t\t\t})\n\t\t\t\t\t: //? fresh insert of new attachment\n\t\t\t\t\tawait this.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.insertFile(formData))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\treturn res.data?.map((file) => file.dms_id);\n\t\t\t\t\t\t});\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\t//? attachment hasn't been replaced\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\tshowFooter: function () {\n\t\t\tswitch (this.value.view) {\n\t\t\t\tcase 'Status':\n\t\t\t\t\treturn false;\n\t\t\t\tcase 'Kontakt':\n\t\t\t\t\treturn false;\n\t\t\t\tcase 'Adresse':\n\t\t\t\t\treturn false;\n\t\t\t\tdefault:\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t},\n\tcreated() {\n\t\tif (this.editData.topic) {\n\t\t\t//? if the topic was passed through the prop add it to the component\n\t\t\tthis.topic = this.editData.topic;\n\t\t}\n\t},\n\tmounted() {\n\t\tthis.modal = this.$refs.modalContainer.modal;\n\t},\n\tpopup(options) {\n\t\tBsModal.popup.bind(this);\n\t\treturn BsModal.popup(null, options);\n\t},\n\ttemplate: /*html*/ `\n\n\t{{titel}}\n\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\n\t\n\t\n\t\t\n\t\t \n\t\t\n\t\n \n`,\n};\n","import EditProfil from \"../ProfilModal/EditProfil.js\";\n\nimport ApiProfil from '../../../../api/factory/profil.js';\nimport ApiProfilUpdate from '../../../../api/factory/profilUpdate.js';\n\n//? EditProfil is the modal used to edit the profil updates\nexport default {\n\tcomponents: {EditProfil},\n\tprops: {\n\t\tdata: {\n\t\t\ttype: Object,\n\t\t},\n\t},\n\n\tinject: [\n\t\t\"getZustellkontakteCount\",\n\t\t\"getZustelladressenCount\",\n\t\t\"profilUpdateStates\",\n\t\t\"profilUpdateTopic\",\n\t],\n\n\temits: [\"fetchUpdates\"],\n\n\tdata() {\n\t\treturn {\n\t\t\tshowUpdateModal: false,\n\t\t\tcontent: null,\n\t\t\teditProfilTitle: this.$p.t(\"profil\", \"profilBearbeiten\"),\n\t\t};\n\t},\n\n\tmethods: {\n\t\thideEditProfilModal: function () {\n\t\t\t//? checks the editModal component property result, if the user made a successful request or not\n\t\t\tif (this.$refs.updateEditModal.result) {\n\t\t\t\tthis.$emit(\"fetchUpdates\");\n\t\t\t} else {\n\t\t\t\t// when modal was closed without submitting request\n\t\t\t}\n\t\t\tthis.showUpdateModal = false;\n\t\t},\n\n\t\tasync showEditProfilModal(updateRequest) {\n\n\t\t\tlet view = this.getView(updateRequest.topic, updateRequest.status);\n\n\t\t\tlet data = null;\n\t\t\tlet content = null;\n\t\t\tlet files = null;\n\t\t\tlet withFiles = false;\n\n\t\t\tif (view === \"TextInputDokument\") {\n\t\t\t\tdata = {\n\t\t\t\t\ttitel: updateRequest.topic,\n\t\t\t\t\tvalue: updateRequest.requested_change.value,\n\t\t\t\t};\n\n\t\t\t\tconst filesFromDatabase =\n\t\t\t\t\tawait this.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.getProfilRequestFiles(\n\t\t\t\t\t\t\tupdateRequest.profil_update_id\n\t\t\t\t\t\t))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\treturn res.data;\n\t\t\t\t\t\t});\n\n\t\t\t\tfiles = filesFromDatabase;\n\t\t\t\tif (files) {\n\t\t\t\t\twithFiles = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdata = updateRequest.requested_change;\n\t\t\t}\n\n\t\t\tcontent = {\n\t\t\t\tupdateID: updateRequest.profil_update_id,\n\t\t\t\tview: view,\n\t\t\t\tdata: data,\n\t\t\t\twithFiles: withFiles,\n\t\t\t\ttopic: updateRequest.topic,\n\t\t\t\tfiles: files,\n\t\t\t};\n\n\t\t\tif (view === \"EditAdresse\") {\n\n\t\t\t\tconst isMitarbeiter = await this.$api.call(ApiProfil.isMitarbeiter(updateRequest.uid)).then((res) => res.data);\n\n\t\t\t\tif (isMitarbeiter) {\n\t\t\t\t\tcontent[\"isMitarbeiter\"] = isMitarbeiter;\n\t\t\t\t}\n\n\t\t\t\tconst filesFromDatabase =\n\t\t\t\t\tawait this.$api\n\t\t\t\t\t\t.call(ApiProfilUpdate.getProfilRequestFiles(\n\t\t\t\t\t\t\tupdateRequest.profil_update_id\n\t\t\t\t\t\t))\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\treturn res.data;\n\t\t\t\t\t\t});\n\n\t\t\t\tfiles = filesFromDatabase;\n\t\t\t\tcontent[\"files\"] = files;\n\t\t\t}\n\n\t\t\t//? adds the status information if the profil update request was rejected or accepted\n\t\t\tif (updateRequest.status !== this.profilUpdateStates[\"Pending\"]) {\n\t\t\t\tcontent[\"status\"] = updateRequest.status;\n\t\t\t\tcontent[\"status_message\"] = updateRequest.status_message;\n\t\t\t\tcontent[\"status_timestamp\"] = updateRequest.status_timestamp;\n\t\t\t}\n\n\t\t\t//? update data of the reactive content\n\t\t\tthis.content = content;\n\t\t\tthis.editProfilTitle = updateRequest.topic;\n\n\t\t\t//? only show the popup if also the right content is available\n\t\t\tif (content) {\n\t\t\t\tthis.showUpdateModal = true;\n\t\t\t\t// after a state change, wait for the DOM updates to complete\n\t\t\t\tVue.nextTick(() => {\n\t\t\t\t\tthis.$refs.updateEditModal.show();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\tdeleteRequest: function (item) {\n\t\t\tthis.$api\n\t\t\t\t.call(ApiProfilUpdate.deleteProfilRequest(item.profil_update_id))\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (res.data.error) {\n\t\t\t\t\t\t//? open alert\n\t\t\t\t\t\tconsole.error(\"error happened\", res.data);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$emit(\"fetchUpdates\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\n\t\tgetView: function (topic, status) {\n\t\t\tif (!(status === this.profilUpdateStates[\"Pending\"])) {\n\t\t\t\treturn \"Status\";\n\t\t\t}\n\n\t\t\tswitch (topic) {\n\t\t\t\tcase this.profilUpdateTopic[\"Private Kontakte\"]:\n\t\t\t\t\treturn \"EditKontakt\";\n\t\t\t\tcase this.profilUpdateTopic[\"Add Kontakt\"]:\n\t\t\t\t\treturn \"EditKontakt\";\n\t\t\t\tcase this.profilUpdateTopic[\"Delete Kontakt\"]:\n\t\t\t\t\treturn \"Kontakt\";\n\t\t\t\tcase this.profilUpdateTopic[\"Private Adressen\"]:\n\t\t\t\t\treturn \"EditAdresse\";\n\t\t\t\tcase this.profilUpdateTopic[\"Add Adresse\"]:\n\t\t\t\t\treturn \"EditAdresse\";\n\t\t\t\tcase this.profilUpdateTopic[\"Delete Adresse\"]:\n\t\t\t\t\treturn \"Adresse\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"TextInputDokument\";\n\t\t\t}\n\t\t},\n\n\t},\n\tcreated() {\n\t},\n\n\tcomputed: {},\n\n\ttemplate: /*html*/ `\n
\n`,\n};\n","import StudentProfil from \"./StudentProfil.js\";\nimport MitarbeiterProfil from \"./MitarbeiterProfil.js\";\nimport ViewStudentProfil from \"./StudentViewProfil.js\";\nimport ViewMitarbeiterProfil from \"./MitarbeiterViewProfil.js\";\nimport Loading from \"../../Loader.js\";\n\nimport ApiProfil from '../../../api/factory/profil.js';\nimport ApiProfilUpdate from '../../../api/factory/profilUpdate.js';\n\nVue.$collapseFormatter = function (data) {\n\t//data - an array of objects containing the column title and value for each cell\n\tvar container = document.createElement(\"div\");\n\tcontainer.classList.add(\"tabulator-collapsed-row\");\n\tcontainer.classList.add(\"text-break\");\n\n\tvar list = document.createElement(\"div\");\n\tlist.classList.add(\"row\");\n\n\tcontainer.appendChild(list);\n\n\tdata.forEach(function (col) {\n\t\tlet item = document.createElement(\"div\");\n\t\titem.classList.add(\"col-6\");\n\t\tlet item2 = document.createElement(\"div\");\n\t\titem2.classList.add(\"col-6\");\n\n\t\titem.innerHTML = \"\" + col.title + \"\";\n\t\titem2.innerHTML = col.value ? col.value : \"-\";\n\n\t\tlist.appendChild(item);\n\t\tlist.appendChild(item2);\n\t});\n\n\treturn Object.keys(data).length ? container : \"\";\n};\n\nexport const Profil = {\n\tname: 'Profil',\n\tcomponents: {\n\t\tStudentProfil,\n\t\tMitarbeiterProfil,\n\t\tViewStudentProfil,\n\t\tViewMitarbeiterProfil,\n\t\tLoading,\n\t},\n\tprops: {\n\t\tuid: {\n\t\t\ttype: String,\n\t\t\trequired:false,\n\t\t},\n\t\tviewData: {\n\t\t\ttype: Object,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\t//? loading property is used for showing/hiding the loading modal\n\t\t\tloading: false,\n\t\t\tprofilUpdateStates: null,\n\t\t\tprofilUpdateTopic: null,\n\t\t\tview: null,\n\t\t\tdata: null,\n\t\t\t// notfound is null by default, but contains an UID if no user exists with that UID\n\t\t\tnotFoundUID: null,\n\t\t\tisEditable: this.viewData.editable ?? false,\n\t\t};\n\t},\n\tprovide() {\n\t\treturn {\n\t\t\tisEditable: Vue.computed(()=>this.isEditable),\n\t\t\tprofilUpdateStates: Vue.computed(() =>\n\t\t\t\tthis.profilUpdateStates ? this.profilUpdateStates : false\n\t\t\t),\n\t\t\tprofilUpdateTopic: Vue.computed(() =>\n\t\t\t\tthis.profilUpdateTopic ? this.profilUpdateTopic : false\n\t\t\t),\n\t\t\tsetLoading: (newValue) => {\n\t\t\t\tthis.loading = newValue;\n\t\t\t},\n\t\t\tgetZustellkontakteCount: this.zustellKontakteCount,\n\t\t\tgetZustelladressenCount: this.zustellAdressenCount,\n\t\t\tcollapseFunction: (e, column) => {\n\t\t\t\t//* check if property doesn't exist already and add it to the reactive this properties\n\t\t\t\tif (this[e.target.id] === undefined) {\n\t\t\t\t\tthis[e.target.id] = true;\n\t\t\t\t}\n\t\t\t\tthis[e.target.id] = !this[e.target.id];\n\n\t\t\t\t//* gets all event icons of the different rows to use the onClick event later\n\t\t\t\tlet allClickableIcons = column._column.cells.map((row) => {\n\t\t\t\t\treturn row.element.children[0];\n\t\t\t\t});\n\n\t\t\t\t//* changes the icon that shows or hides all the collapsed columns\n\t\t\t\t//* if the replace function does not find the class to replace, it just simply returns false\n\t\t\t\tif (this[e.target.id]) {\n\t\t\t\t\te.target.classList.replace(\"fa-angle-up\", \"fa-angle-down\");\n\t\t\t\t} else {\n\t\t\t\t\te.target.classList.replace(\"fa-angle-down\", \"fa-angle-up\");\n\t\t\t\t}\n\n\t\t\t\t//* changes the icon for every collapsed column to open or closed\n\t\t\t\tif (this[e.target.id]) {\n\t\t\t\t\tallClickableIcons\n\t\t\t\t\t\t.filter((column) => {\n\t\t\t\t\t\t\treturn !column.classList.contains(\"open\");\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.forEach((col) => {\n\t\t\t\t\t\t\tcol.click();\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tallClickableIcons\n\t\t\t\t\t\t.filter((column) => {\n\t\t\t\t\t\t\treturn column.classList.contains(\"open\");\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.forEach((col) => {\n\t\t\t\t\t\t\tcol.click();\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tsortProfilUpdates: (ele1, ele2) => {\n\t\t\t\tlet result = 0;\n\t\t\t\tif (ele1.status.toLowerCase() === \"pending\") {\n\t\t\t\t\tresult = -1;\n\t\t\t\t} else if (ele1.status.toLowerCase() === \"accepted\") {\n\t\t\t\t\tresult = ele2.status.toLowerCase() === \"rejected\" ? -1 : 1;\n\t\t\t\t} else {\n\t\t\t\t\tresult = 1;\n\t\t\t\t}\n\t\t\t\t//? if they have the same status the insert date is used for ordering\n\t\t\t\tif (ele1.status === ele2.status) {\n\t\t\t\t\tresult =\n\t\t\t\t\t\tnew Date(ele2.insertamum.split(\".\").reverse().join(\"-\")) -\n\t\t\t\t\t\tnew Date(ele1.insertamum.split(\".\").reverse().join(\"-\"));\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\t\t};\n\t},\n\tmethods: {\n\t\tasync load() {\n\t\t\t// fetch profilUpdateStates to provide them to children components\n\t\t\tawait this.$api\n\t\t\t\t.call(ApiProfilUpdate.getStatus())\n\t\t\t\t.then((response) => {\n\t\t\t\t\tthis.profilUpdateStates = response.data;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t});\n\n\t\t\tthis.$api\n\t\t\t\t.call(ApiProfilUpdate.getTopic())\n\t\t\t\t.then((response) => {\n\t\t\t\t\tthis.profilUpdateTopic = response.data;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t});\n\t\t\t\n\t\t\t\n\t\t\tthis.$api\n\t\t\t\t.call(ApiProfil.profilViewData(this.$route.params.uid??null))\n\t\t\t\t.then((response) => response.data).then(data=>{\n\t\t\t\t\tthis.view = data?.profil_data.view;\n\t\t\t\t\tthis.data = data?.profil_data.data;\n\t\t\t\t\tthis.isEditable = data?.editable ?? false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error(error);\n\t\t\t\t});\n\t\t\t\n\t\t\t\n\t\t},\n\t\tzustellAdressenCount() {\n\t\t\tif (!this.data || !this.data.adressen) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet adressenArray = [];\n\t\t\tif (this.data.profilUpdates?.length) {\n\t\t\t\tadressenArray = adressenArray.concat(\n\t\t\t\t\tthis.data.profilUpdates\n\t\t\t\t\t\t.filter((update) => {\n\t\t\t\t\t\t\treturn update.requested_change.zustelladresse;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.map((adresse) => {\n\t\t\t\t\t\t\treturn adresse.requested_change.adresse_id;\n\t\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!this.data.profilUpdates?.length ||\n\t\t\t\t!this.data.adressen\n\t\t\t\t\t.filter((adresse) => adresse.zustelladresse)\n\t\t\t\t\t.every((adresse) =>\n\t\t\t\t\t\tthis.data.profilUpdates.some(\n\t\t\t\t\t\t\t(update) =>\n\t\t\t\t\t\t\t\tupdate.requested_change.adresse_id == adresse.adresse_id\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t) {\n\t\t\t\tadressenArray = adressenArray.concat(\n\t\t\t\t\tthis.data.adressen\n\t\t\t\t\t\t.filter((adresse) => {\n\t\t\t\t\t\t\treturn adresse.zustelladresse;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.map((adr) => {\n\t\t\t\t\t\t\treturn adr.adresse_id;\n\t\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn [...new Set(adressenArray)];\n\t\t\t\n\t\t},\n\t\tzustellKontakteCount() {\n\t\t\tif (!this.data || !this.data.kontakte) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet kontakteArray = [];\n\n\t\t\tif (this.data.profilUpdates?.length) {\n\t\t\t\tkontakteArray = kontakteArray.concat(\n\t\t\t\t\tthis.data.profilUpdates\n\t\t\t\t\t\t.filter((update) => {\n\t\t\t\t\t\t\treturn update.status === 'Pending' && update.requested_change.zustellung;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.map((kontant) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\tkontakt_id: kontant.requested_change.kontakt_id,\n\t\t\t\t\t\t\t\t\t\tkontakttyp: kontant.requested_change.kontakttyp\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!this.data.profilUpdates?.length ||\n\t\t\t\t!this.data.kontakte\n\t\t\t\t\t.filter((kontakt) => kontakt.zustellung)\n\t\t\t\t\t.every((kontakt) =>\n\t\t\t\t\t\tthis.data.profilUpdates.some(\n\t\t\t\t\t\t\t(update) =>\n\t\t\t\t\t\t\t\tupdate.status === 'Pending' && update.requested_change.kontakt_id == kontakt.kontakt_id\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t) {\n\t\t\t\tkontakteArray = kontakteArray.concat(\n\t\t\t\t\tthis.data.kontakte\n\t\t\t\t\t\t.filter((kontakt) => {\n\t\t\t\t\t\t\treturn kontakt.zustellung;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.map((kon) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\tkontakt_id: kon.kontakt_id,\n\t\t\t\t\t\t\t\t\t\tkontakttyp: kon.kontakttyp\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn [...new Set(kontakteArray)];\n\t\t},\n\t},\n\tcomputed: {\n\t\t\n\t\tfilteredEditData() {\n\t\t\tif (!this.data) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tview: null,\n\t\t\t\tdata: {\n\t\t\t\t\tPersonen_Informationen: {\n\t\t\t\t\t\ttitle: this.$p.t(\"profil\", \"personenInformationen\"),\n\t\t\t\t\t\ttopic: \"Personen_informationen\",\n\t\t\t\t\t\tview: null,\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tvorname: {\n\t\t\t\t\t\t\t\ttitle: this.$p.t(\"person\", \"vorname\"),\n\t\t\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Vorname\"],\n\t\t\t\t\t\t\t\tview: \"TextInputDokument\",\n\t\t\t\t\t\t\t\twithFiles: true,\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\ttitel: \"vorname\",\n\t\t\t\t\t\t\t\t\tvalue: this.data.vorname,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnachname: {\n\t\t\t\t\t\t\t\ttitle: this.$p.t(\"person\", \"nachname\"),\n\t\t\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Nachname\"],\n\t\t\t\t\t\t\t\tview: \"TextInputDokument\",\n\t\t\t\t\t\t\t\twithFiles: true,\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\ttitel: \"nachname\",\n\t\t\t\t\t\t\t\t\tvalue: this.data.nachname,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttitel: {\n\t\t\t\t\t\t\t\ttitle: this.$p.t(\"global\", \"titel\"),\n\t\t\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Titel\"],\n\t\t\t\t\t\t\t\tview: \"TextInputDokument\",\n\t\t\t\t\t\t\t\twithFiles: true,\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\ttitel: \"titel\",\n\t\t\t\t\t\t\t\t\tvalue: this.data.titel,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpostnomen: {\n\t\t\t\t\t\t\t\ttitle: this.$p.t(\"profil\", \"postnomen\"),\n\t\t\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Postnomen\"],\n\t\t\t\t\t\t\t\tview: \"TextInputDokument\",\n\t\t\t\t\t\t\t\twithFiles: true,\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\ttitel: \"postnomen\",\n\t\t\t\t\t\t\t\t\tvalue: this.data.postnomen,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPrivate_Kontakte: {\n\t\t\t\t\t\ttitle: this.$p.t(\"profil\", \"privateKontakte\"),\n\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Private Kontakte\"],\n\t\t\t\t\t\tdata: this.data.kontakte\n\t\t\t\t\t\t\t?.filter((item) => {\n\t\t\t\t\t\t\t\t// excludes all contacts that are already used in pending profil update requests\n\t\t\t\t\t\t\t\treturn !this.data.profilUpdates?.some(\n\t\t\t\t\t\t\t\t\t(update) =>\n\t\t\t\t\t\t\t\t\t\tupdate.status === this.profilUpdateStates[\"Pending\"] &&\n\t\t\t\t\t\t\t\t\t\tupdate.requested_change?.kontakt_id === item.kontakt_id\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.map((kontakt) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tlistview: \"Kontakt\",\n\t\t\t\t\t\t\t\t\tview: \"EditKontakt\",\n\t\t\t\t\t\t\t\t\tdata: kontakt,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t\tPrivate_Adressen: {\n\t\t\t\t\t\ttitle: this.$p.t(\"profil\", \"privateAdressen\"),\n\t\t\t\t\t\ttopic: this.profilUpdateTopic?.[\"Private Adressen\"],\n\t\t\t\t\t\tdata: this.data.adressen\n\t\t\t\t\t\t\t?.filter((item) => {\n\t\t\t\t\t\t\t\treturn !this.data.profilUpdates?.some((update) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\tupdate.status === this.profilUpdateStates[\"Pending\"] &&\n\t\t\t\t\t\t\t\t\t\tupdate.requested_change?.adresse_id == item.adresse_id\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.map((adresse) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tlistview: \"Adresse\",\n\t\t\t\t\t\t\t\t\tview: \"EditAdresse\",\n\t\t\t\t\t\t\t\t\tdata: adresse,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t},\n\twatch: {\n\t\tloading: function (newValue) {\n\t\t\tif (newValue) {\n\t\t\t\tthis.$refs.loadingModalRef.show();\n\t\t\t} else {\n\t\t\t\tthis.$refs.loadingModalRef.hide();\n\t\t\t}\n\t\t},\n\t\tuid (newVal, oldVal) {\n\t\t\tthis.load()\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.load()\n\t},\n\ttemplate: `\n\t
\n\t\t
\n\t\t\t
Es wurde keine Person mit der UID {{this.notFoundUID}} gefunden
\n\t\t
\n\t\t
\n \n \n\t\t
\n\t
`,\n}\n\nexport default Profil","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tgetContentID(ort_kurbz) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Ort/ContentID',\n\t\t\tparams: { ort_kurzbz: ort_kurbz }\n\t\t};\n\t},\n\tgetRooms(datum, von, bis, typ, personenanzahl = 0) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Ort/getRooms',\n\t\t\tparams: { datum, von, bis, typ, personenanzahl }\n\t\t};\n\t},\n\tgetRoomTypes() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Ort/getTypes',\n\t\t\tparams: { }\n\t\t};\n\t}\n};","import {CoreFilterCmpt} from \"../../../components/filter/Filter.js\";\nimport VueDatePicker from '../../vueDatepicker.js.php';\nimport ApiOrt from '../../../api/factory/ort.js'\nexport const Raumsuche = {\n\tname: \"Raumsuche\",\n\tprops: {\n\t\t\n\t},\n\tcomponents: {\n\t\tVueDatePicker,\n\t\tCoreFilterCmpt,\n\t\tInputNumber: primevue.inputnumber,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tphrasenPromise: null,\n\t\t\tphrasenResolved: false,\n\t\t\ttabulatorUuid: Vue.ref(0),\n\t\t\ttableBuiltResolve: null,\n\t\t\ttableBuiltPromise: null,\n\t\t\troomtypes: null,\n\t\t\tdefaultType: {\n\t\t\t\traumtyp_kurzbz: '',\n\t\t\t\tbeschreibung: Vue.computed(() => this.$p.t('global/alle'))\n\t\t\t},\n\t\t\tanzahl: 1,\n\t\t\tselectedType: null,\n\t\t\tdatum: new Date(),\n\t\t\tvon: Vue.ref({\n\t\t\t\thours: new Date().getHours(),\n\t\t\t\tminutes: new Date().getMinutes()\n\t\t\t}),\n\t\t\tbis: Vue.ref({\n\t\t\t\thours: new Date().getHours() + 1,\n\t\t\t\tminutes: new Date().getMinutes()\n\t\t\t}),\n\t\t\tdatepickerTextInputOptions: {\n\t\t\t\tenterSubmit: true,\n\t\t\t\ttabSubmit: true,\n\t\t\t\tselectOnFocus: true,\n\t\t\t\tformat: 'dd.MM.yyyy',\n\t\t\t\tescClose: true\n\t\t\t},\n\t\t\ttimepickerTextInputOptions: {\n\t\t\t\tenterSubmit: true,\n\t\t\t\ttabSubmit: true,\n\t\t\t\tselectOnFocus: true,\n\t\t\t\tformat: 'HH:mm',\n\t\t\t\tescClose: true\n\t\t\t},\n\t\t\traumsucheTableOptions: {\n\t\t\t\theight: Vue.ref(400),\n\t\t\t\tindex: 'ort_kurzbz',\n\t\t\t\tlayout: 'fitColumns',\n\t\t\t\tplaceholder: this.$p.t('global/noDataAvailable'),\n\t\t\t\tcolumns: [\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('rauminfo/raum_kurzbz')), field: 'ort_kurzbz', widthGrow: 1},\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('global/bezeichnung')), field: 'bezeichnung', widthGrow: 2},\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('rauminfo/raumnummer')), field: 'nummer', widthGrow: 1},\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('rauminfo/personcap')), field: 'personen', widthGrow: 1},\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('rauminfo/rauminfo')),\n\t\t\t\t\t\tfield: 'linkInfo', formatter: this.linkFormatter, widthGrow: 1},\n\t\t\t\t\t{title: Vue.computed(() => this.$p.t('rauminfo/roomReservations')), \n\t\t\t\t\t\tfield: 'linkRes', formatter: this.linkFormatter, widthGrow: 1}\n\t\t\t\t],\n\t\t\t\tpersistence: false,\n\t\t\t},\n\t\t\traumsucheTableEventHandlers: [{\n\t\t\t\tevent: \"tableBuilt\",\n\t\t\t\thandler: async () => {\n\t\t\t\t\tthis.tableBuiltResolve()\n\t\t\t\t}\n\t\t\t}\n\t\t\t]};\n\t},\n\tmethods: {\n\t\ttableResolve(resolve) {\n\t\t\tthis.tableBuiltResolve = resolve\n\t\t},\n\t\tlinkFormatter(cell) {\n\t\t\tconst val = cell.getValue();\n\t\t\tconst field = cell.getField();\n\t\t\tconst arialabel = (field === 'linkInfo') \n\t\t\t\t\t\t\t? this.$p.t('rauminfo/rauminfo') \n\t\t\t\t\t\t\t: this.$p.t('rauminfo/roomReservations');\n\t\t\tif(val) {\n\t\t\t\treturn '
\n\t`,\n\tcomputed:{\n\t\tformattedEmail: function(){\n\t\t\tif(!this.email ) return null;\n\t\t\tlet emailString= this.email.replace(\"mailto:\", \"\");\n\t\t\t// when splitting a string, the letter that is used to split the string will be removed from the result\n\t\t\tlet emailArray = emailString.split('@');\n\t\t\t// returns both parts of the splitted string in combination with the removed letter and a word break\n\t\t\treturn emailArray[0] + '@' + emailArray[1];\n\t\t},\n\t\tfullname: function () {\n\t\t\tif (this.titelpre && this.vorname && this.nachname) {\n\t\t\t\treturn `${this.titelpre} ${this.vorname} ${this.nachname}`;\n\t\t\t}\n\t\t\telse if (this.vorname && this.nachname) {\n\t\t\t\treturn `${this.vorname} ${this.nachname}`;\n\t\t\t}\n\t\t\telse if (this.nachname) {\n\t\t\t\treturn this.vorname;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tphone: function () {\n\t\t\tif (this.kontakt && this.telefoneklappe) {\n\t\t\t\treturn {\n\t\t\t\t\tlink: \"tel:\".concat(this.kontakt).concat(\" \" + this.telefoneklappe),\n\t\t\t\t\tnumber: this.kontakt.concat(\" \" + this.telefoneklappe),\n\t\t\t\t} \n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn this.kontakt ? {\n\t\t\t\t\tlink: \"tel:\".concat(this.kontakt),\n\t\t\t\t\tnumber: this.kontakt,\n\t\t\t\t} : null;\n\t\t\t}\n\t\t},\n\t\temail_link: function () {\n\t\t\treturn this.email ? \"mailto:\".concat(this.email) : null;\n\t\t},\n\t\tbase64Image:function(){\n\t\t\treturn this.foto ? 'data:image/png;base64,'.concat(this.foto) : null;\n\t\t},\n\t\tort:function(){\n\t\t\treturn this.planbezeichnung ?? null;\n\t\t},\n\t\tprofilViewLink: function(){\n\t\t\treturn this.uid ? FHC_JS_DATA_STORAGE_OBJECT.app_root.concat(FHC_JS_DATA_STORAGE_OBJECT.ci_router).concat(\"/Cis/Profil/View/\").concat(this.uid): null; \n\t\t},\n\t},\n\t\n}","export default {\n\tprops: {\n\t\ttitle:String,\n\t\tvertretungsList:Array,\n\t\tshowBezeichnung:Boolean,\n\t},\n\ttemplate:/*html*/`\n\t
\n\t`,\n\tmethods: {\n\t\tprofilViewLink: function (uid) {\n\t\t\treturn uid ? FHC_JS_DATA_STORAGE_OBJECT.app_root.concat(FHC_JS_DATA_STORAGE_OBJECT.ci_router).concat(\"/Cis/Profil/View/\").concat(uid) : null;\n\t\t},\n\t\tvertretungFormatedName: function (vertretung) {\n\t\t\tif (!vertretung) return null;\n\t\t\treturn `${vertretung.vorname ?? ''} ${vertretung.nachname ?? ''} ${vertretung.bezeichnung && this.showBezeichnung ? '('.concat(vertretung.bezeichnung.replace(\"(\", \"\").replace(\")\", \"\")).concat(\")\") : ''}`\n\t\t},\n\t},\n\n}","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tstudiengangInformation() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Studgang/getStudiengangInfo'\n\t\t};\n\t},\n\tgetStudiengangByKz(studiengang_kz) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/organisation/StudiengangEP/getStudiengangByKz',\n\t\t\tparams: { studiengang_kz }\n\t\t};\n\t}\n};","import StudiengangPerson from \"./StudiengangPerson.js\";\nimport StudiengangVertretung from \"./StudiengangVertretung.js\";\n\nimport ApiStudiengang from '../../../../api/factory/studiengang.js';\n\nexport default {\ndata(){\n\treturn{\n\t\tstudiengang:null,\n\t\tsemester: null,\n\t\tstg_ltg: null,\n\t\tgf_ltg: null,\n\t\tstv_ltg: null,\n\t\tass: null,\n\t\thochschulvertr: null,\n\t\tstdv: null,\n\t\tjahrgangsvertr: null,\n\t}\n},\nprops:{\n\tdisplayWidget:{\n\t\ttype:Boolean,\n\t\tdefault:false,\n\t}\n},\ncomponents:{\n\tStudiengangPerson,\n\tStudiengangVertretung,\n},\ntemplate:/*html*/`\n\t\t
\n\t\n`,\ncomputed:{\n\t// this function concatenates the studiengangsleitung and the assistenz or the \n\t// geschaeftsfuehrende-Stellvertretende Leitung if both collections only contain one person\n\tcollection_array: function(){\n\t\tlet returnData = [];\n\n\t\tif (Array.isArray(this.stg_ltg) && this.stg_ltg.length == 1 && Array.isArray(this.ass) && this.ass.length == 1)\n\t\t{\n\t\t\treturnData.push({ title: `${this.$p.t('global', 'studiengangsleitung')}/${this.$p.t('studiengangInformation', 'assistenz')}` , collection: [...this.stg_ltg, ...this.ass] });\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturnData.push({ title: this.$p.t('global', 'studiengangsleitung'), collection: this.stg_ltg });\n\t\t\treturnData.push({ title: this.$p.t('studiengangInformation', 'assistenz'), collection: this.ass });\n\t\t}\n\t\tif (Array.isArray(this.gf_ltg) && this.gf_ltg.length == 1 && Array.isArray(this.stv_ltg) && this.stv_ltg.length == 1)\n\t\t{\n\t\t\treturnData.push({ title: this.$p.t('studiengangInformation', 'geschaeftsfuehrende_stellvertretende_leitung'), collection: [...this.gf_ltg, ...this.stv_ltg] });\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturnData.push({ title: this.$p.t('studiengangInformation', 'geschaeftsfuehrende_leitung'), collection: this.gf_ltg });\n\t\t\treturnData.push({ title: this.$p.t('studiengangInformation', 'stellvertretende_leitung'), collection: this.stv_ltg });\n\t\t}\n\n\t\treturn returnData;\n\t},\n\tmoodleLink: function(){\n\t\t// early return if the studiengang information is not available\n\t\tif(!this.studiengang || !this.studiengang.studiengang_kz) return;\n\n\t\treturn `https://moodle.technikum-wien.at/course/view.php?idnumber=dl` + this.studiengang.studiengang_kz;\n\t},\n},\n\tmounted() {\n\t\tthis.$api\n\t\t\t.call(ApiStudiengang.studiengangInformation())\n\t\t\t.then(res => res.data)\n\t\t\t.then(studiengangInformationen => {\n\t\t\t\tObject.assign(this, studiengangInformationen);\n\t\t\t});\n\t}\n};\n","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tcontent(content_id, version=null, sprache=null, sichtbar=null) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Cms/content',\n\t\t\tparams: {\n\t\t\t\tcontent_id,\n\t\t\t\t...(version ? { version } : {}),\n\t\t\t\t...(sprache ? { sprache } : {}),\n\t\t\t\t...(sichtbar ? { sichtbar } : {})\n\t\t\t}\n\t\t};\n\t},\n\t//api function used for the news View that renders the html\n\tgetNews(page = 1, page_size = 10, sprache) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Cms/getNews',\n\t\t\tparams: {\n\t\t\t\tpage,\n\t\t\t\tpage_size,\n\t\t\t\tsprache\n\t\t\t},\n\t\t};\n\t},\n\t//api function used for the widget component\n\tnews(limit) {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Cms/news',\n\t\t\tparams: { limit }\n\t\t};\n\t},\n\tgetNewsRowCount() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Cms/getNewsRowCount'\n\t\t};\n\t},\n\tgetNewsExtra() {\n\t\t// TODO(chris): seems to be called from nowhere?\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/Cms/getStudiengangInfoForNews'\n\t\t};\n\t}\n};","import Pagination from \"../../Pagination/Pagination.js\";\nimport StudiengangInformation from \"./StudiengangInformation/StudiengangInformation.js\";\nimport BsConfirm from \"../../Bootstrap/Confirm.js\";\n\nimport ApiCms from '../../../api/factory/cms.js';\n\nexport default {\n\tname: \"NewsComponent\",\n components: {\n Pagination,\n\tStudiengangInformation,\n },\n data() {\n return {\n content: null,\n maxPageCount: 0,\n page_size: 10,\n\t page:1,\n };\n },\n watch:{\n\t'$p.user_language.value':function(sprache){\n\t\tthis.fetchNews();\n\t}\n },\n computed:{\n\tsprache: function(){\n\t\treturn this.$p.user_language.value;\n\t},\n },\n methods: {\n\t\tfetchNews() {\n\t\t\treturn this.$api\n\t\t\t\t.call(ApiCms.getNews(this.page, this.page_size, this.sprache))\n\t\t\t\t.then(res => res.data)\n\t\t\t\t.then(result => {\n\t\t\t\t\tthis.content = result;\n\n\t\t\t\t\tdocument.querySelectorAll(\"#cms [data-confirm]\").forEach((el) => {\n\t\t\t\t\t\tel.addEventListener(\"click\", (evt) => {\n\t\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\t\tBsConfirm.popup(el.dataset.confirm)\n\t\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\t\tAxios.get(el.href)\n\t\t\t\t\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t\t\t\t\t// TODO(chris): check for success then show message and/or reload\n\t\t\t\t\t\t\t\t\t\t\tlocation = location;\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t.catch((err) => console.error(\"ERROR:\", err));\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\tdocument.querySelectorAll(\"#cms [data-href]\").forEach((el) => {\n\t\t\t\t\t\tel.href = el.dataset.href.replace(\n\t\t\t\t\t\t\t/^ROOT\\//,\n\t\t\t\t\t\t\tFHC_JS_DATA_STORAGE_OBJECT.app_root\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tVue.nextTick(()=>{\n\t\t\t\t\t\tdocument.querySelectorAll(\".card-header\").forEach((el) => {\n\t\t\t\t\t\t\tel.classList.add(\"fhc-primary\");\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdocument.querySelectorAll(\".row\").forEach((el) => {\n\t\t\t\t\t\t\tel.classList.add(\"w-100\");\n\t\t\t\t\t\t\tel.classList.add(\"align-items-center\");\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdocument.querySelectorAll(\".row h2\").forEach((el) => {\n\t\t\t\t\t\t\tel.classList.add(\"mb-0\");\n\t\t\t\t\t\t});\n\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t},\n\t\tloadNewPageContent(data) {\n\t\t\tthis.$api\n\t\t\t\t.call(ApiCms.getNews(data.page, data.rows))\n\t\t\t\t.then(res => res.data)\n\t\t\t\t.then(result => {\n\t\t\t\t\tthis.content = result;\n\t\t\t\t\t\n\t\t\t\t});\n\t\t}\n },\n created() {\n this.fetchNews();\n\n\t\tthis.$api\n\t\t\t.call(ApiCms.getNewsRowCount())\n\t\t\t.then(res => res.data)\n\t\t\t.then(result => {\n\t\t\t\tthis.maxPageCount = result;\n\t\t\t});\n },\n template: /*html*/ `\n \t
News
\n\t\n\t\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\t\n\t\n `,\n};\n","\nexport default {\n\tname: \"RaumComponent\",\n\tdata() {\n\t\treturn {\n\t\t\timgContent: null\n\t\t}\n\t},\n props:{\n content:{\n type:String,\n required:true,\n },\n\t content_id:{\n\t\ttype: [Number, String],\n\t }\n },\n\tmethods: {\n\t\tsanitizeLegacyTables(table) {\n\n\t\t\t// find nested tables and replace with p element\n\t\t\tconst tt = table.querySelectorAll('table')\n\t\t\ttt.forEach(t => {\n\t\t\t\tconst textContent = t.textContent.trim();\n\t\t\t\tconst pElement = document.createElement('p');\n\t\t\t\tpElement.textContent = textContent;\n\t\t\t\tt.parentNode.replaceChild(pElement, t);\n\t\t\t})\n\n\t\t\t// find unordered lists, traverse li childs and replace with p element -> more readable than 1 p tag for ul\n\t\t\tconst ul = table.querySelectorAll('ul')\n\t\t\tul.forEach(u => {\n\t\t\t\tArray.from(u.children).forEach(li => {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.textContent = li.textContent\n\t\t\t\t\tu.parentNode.appendChild(p)\n\t\t\t\t})\n\t\t\t\tu.parentNode.removeChild(u)\n\n\t\t\t})\n\n\t\t\t// find bare text nodes and put into p element\n\t\t\tconst td = Array.from(table.querySelectorAll('td')).filter(el => el.scrollWidth > 100)\n\t\t\ttd.forEach(element => {\n\t\t\t\tif (element.firstChild?.nodeType === Node.TEXT_NODE && element.firstChild.length > 10) {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.appendChild(element.firstChild)\n\t\t\t\t\telement.appendChild(p);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// flatten nested th elements\n\t\t\tconst ths = Array.from(table.querySelectorAll('th'))\n\t\t\tths.forEach(th => {\n\n\t\t\t\tif(th.children.length > 1) {\n\t\t\t\t\tth.innerHTML = Array.from(th.childNodes).find(cn => cn.textContent).textContent\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// let p elements wrap on overflow\n\t\t\tconst p = table.querySelectorAll('p')\n\t\t\tp.forEach(p => {\n\t\t\t\tp.style.setProperty('word-wrap', 'break-word');\n\t\t\t\tp.style.setProperty('white-space', 'normal');\n\t\t\t\tp.style.setProperty('max-width', '400px');\n\t\t\t})\n\t\t}\n\t},\n mounted(){\n\t\t// replaces the tablesorter with the tabulator\n\t\tlet tables = document.getElementsByClassName(\"tablesorter\");\n\t\t\n\t\tfor (let table of tables) {\n\t\t\tthis.sanitizeLegacyTables(table)\n\t\t\tnew Tabulator(table, {\n\t\t\t\tlayout: \"fitDataStretch\",\n\n\t\t\t\tcolumnDefaults: {\n\t\t\t\t\tformatter: \"html\",\n\t\t\t\t\tresizable: false,\n\t\t\t\t\tminWidth: \"100px\",\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\t\n\t\tlet title = document.getElementsByTagName(\"h1\");\n\t\ttitle = title.length ? title[0] : null;\n\t\t// tries to wrap the Raum titel with a link tag that redirects to the Reservierungen of that Raum\n\t\tif (title && title.innerText) \n\t\t{\n\t\t\tlet room_name = title.innerText;\n\t\t\tlet room_name_reg_exp = new RegExp(\"\\\\w*\\\\s([a-zA-Z][0-9\\\\.]+)$\");\n\t\t\tlet room_name_reg_exp_result = room_name.match(room_name_reg_exp);\n\t\t\tif(room_name_reg_exp_result)\n\t\t\t{\n\t\t\t\troom_name = room_name_reg_exp_result[0];\n\t\t\t\troom_name = room_name.replace(\" \",\"_\");\n\t\t\t\tlet link_element = document.createElement(\"a\");\n\t\t\t\tlink_element.href = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + \"/CisVue/Cms/getRoomInformation/\" + room_name;\n\t\t\t\tlink_element.appendChild(title.cloneNode(true));\n\t\t\t\ttitle.replaceWith(link_element);\n\n\t\t\t\tlet lvplanlinks = document.querySelectorAll('.menubox a[href*=\"stpl_week.php\"]');\n\t\t\t\tfor(let lvplanlink of lvplanlinks) {\n\t\t\t\t\tlvplanlink.href = link_element.href;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconsole.error(`the regular expression did not match the room name: ${room_name}`);\n\t\t\t}\n\t\t\t\n\t\t\treturn\n\t\t}\n\t\t\n\t\tconst parser = new DOMParser()\n\t\tconst doc = parser.parseFromString(`
${this.content}
`, \"text/html\");\n\n\t\tconst img = doc.querySelector(\"img\")\n\t\tif(img && img.title)\n\t\t{\n\t\t\tconst imgAttributes = {}\n\t\t\tfor (let attr of img.attributes) {\n\t\t\t\timgAttributes[attr.name] = attr.value\n\t\t\t}\n\n\t\t\tthis.imgContent = imgAttributes\n\t\t}\n\t\t\n\t\tconsole.error(`was not able to get the title of the raum_contentmittitel`);\n\t\t\n },\n template: /*html*/ `\n \n\n
\n \n
Content was not found
\n `,\n };\n ","// collection of relative and absolute regex to replace legacy links\nconst GROUP_REPLACEMENT_STRATEGIES = {\n\tQUERY_PARAMETERS:'QUERY_PARAMETERS',\n\tPATH_SEGMENTS:'PATH_SEGMENTS',\n}\n\nconst regexList = {\n\trelative:[\n\t\t{ \n\t\t\tpriority: 1, \n\t\t\tregex: new RegExp(/^\\.\\.\\/cms\\/content\\.php\\?content_id=([0-9]+)/),\n\t\t\treplacement: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + '/CisVue/Cms/content',\n\t\t\tgroup_replacement_strategy:GROUP_REPLACEMENT_STRATEGIES.PATH_SEGMENTS,\n\t\t},\n\t\t{ \n\t\t\tpriority: 2,\n\t\t\tregex: new RegExp(/^\\.\\.\\/cms\\/news\\.php/),\n\t\t\treplacement: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + '/CisVue/Cms/news',\n\t\t},\n\t\t{ \n\t\t\tpriority: 3,\n\t\t\tregex: new RegExp(/^\\.\\.\\/index\\.ci\\.php/),\n\t\t\treplacement: FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router,\n\t\t},\n\t\t{ \n\t\t\tpriority: 10, \n\t\t\tregex: new RegExp(/^\\.\\.\\//),\n\t\t\treplacement: FHC_JS_DATA_STORAGE_OBJECT.app_root,\n\t\t},\n\t],\n\tabsolute:[\n\t\t{}\n\t]\n};\n\n// sorts the relative regex array by priority ascending\nconst relative_regex = regexList.relative\n\t.sort((a, b) => {\n\t\treturn a.priority - b.priority;\n\t})\n\t.map(regex => {\n\t\treturn {\n\t\t\tregex: regex.regex, \n\t\t\treplacement: regex.replacement,\n\t\t\tgroup_replacement_strategy: regex.group_replacement_strategy,\n\t\t}\n\t});\n\n// sorts the absolute regex array by priority ascending\nconst absolute_regex = regexList.absolute\n\t.sort((a, b) => {\n\t\treturn a.priority - b.priority;\n\t})\n\t.map(regex => {\n\t\treturn {\n\t\t\tregex: regex.regex,\n\t\t\treplacement: regex.replacement,\n\t\t\tgroup_replacement_strategy: regex.group_replacement_strategy,\n\t\t}\n\t})\n\n\nexport function replaceRelativeLegacyLink(relativeLegacyLink){\n\tfor (let {regex,replacement,group_replacement_strategy} of relative_regex){\t\n\t\t// if any of the regex matches the relativeLegacyLink, replace the matched part with the new app_root path\n\t\tlet match = relativeLegacyLink.match(regex);\n\t\tif (match) {\n\t\t\tlet new_link = relativeLegacyLink.replace(regex, replacement);\n\t\t\t\n\t\t\t\tswitch (group_replacement_strategy){\n\t\t\t\t\tcase 'QUERY_PARAMETERS':\n\t\t\t\t\t\t//TODO: this doesn't really work yet because the query parameter are key/value pairs\n\t\t\t\t\t\tnew_link = new_link.concat(`?${match[1]}`);\n\t\t\t\t\t\tfor (let query_parameter of match.slice(2)) {\n\t\t\t\t\t\t\tnew_link = new_link.concat(`&${query_parameter}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'PATH_SEGMENTS':\n\t\t\t\t\t\tfor (let query_parameter of match.slice(1)) { \n\t\t\t\t\t\t\tnew_link = new_link.concat(`/${query_parameter}`);\n\t\t\t\t\t\t} \n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\n\t\t\treturn new_link; \n\t\t}\n\t}\n\t// if none of the regex matched with the string return the original path\n\treturn relativeLegacyLink;\n}\n\n","import { replaceRelativeLegacyLink } from \"../../../../helpers/LegacyLinkReplaceHelper.js\"\nexport default {\n\tname: \"GeneralComponent\",\n props:{\n content:{\n type:String,\n required:true,\n },\n },\n\tmethods: {\n\t\tsanitizeLegacyTables(table) {\n\t\t\t\n\t\t\t// find nested tables and replace with p element\n\t\t\tconst tt = table.querySelectorAll('table')\n\t\t\ttt.forEach(t => {\n\t\t\t\tconst textContent = t.textContent.trim();\n\t\t\t\tconst pElement = document.createElement('p');\n\t\t\t\tpElement.textContent = textContent;\n\t\t\t\tt.parentNode.replaceChild(pElement, t);\n\t\t\t})\n\n\t\t\t// find unordered lists, traverse li childs and replace with p element -> more readable than 1 p tag for ul\n\t\t\tconst ul = table.querySelectorAll('ul')\n\t\t\tul.forEach(u => {\n\t\t\t\tArray.from(u.children).forEach(li => {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.textContent = li.textContent\n\t\t\t\t\tu.parentNode.appendChild(p)\n\t\t\t\t})\n\t\t\t\tu.parentNode.removeChild(u)\n\t\t\t\t\n\t\t\t})\n\n\t\t\t// find bare text nodes and put into p element\n\t\t\tconst td = Array.from(table.querySelectorAll('td')).filter(el => el.scrollWidth > 100)\n\t\t\ttd.forEach(element => {\n\t\t\t\tif (element.firstChild?.nodeType === Node.TEXT_NODE && element.firstChild.length > 10) {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.appendChild(element.firstChild)\n\t\t\t\t\telement.appendChild(p);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// flatten nested th elements\n\t\t\tconst ths = Array.from(table.querySelectorAll('th'))\n\t\t\tths.forEach(th => {\n\n\t\t\t\tif(th.children.length > 1) {\n\t\t\t\t\tth.innerHTML = Array.from(th.childNodes).find(cn => cn.textContent).textContent\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// let p elements wrap on overflow\n\t\t\tconst p = table.querySelectorAll('p')\n\t\t\tp.forEach(p => {\n\t\t\t\tp.style.setProperty('word-wrap', 'break-word');\n\t\t\t\tp.style.setProperty('white-space', 'normal');\n\t\t\t\tp.style.setProperty('max-width', '400px');\n\t\t\t})\n\t\t},\n\t\tprepareContent() {\n\t\t\t// replaces the tablesorter with the tabulator\n\t\t\tlet tables = Array.from(document.getElementsByClassName(\"tablesorter\"));\n\n\t\t\ttables.forEach((table, index) => {\n\t\t\t\tthis.sanitizeLegacyTables(table)\n\n\t\t\t\tnew Tabulator(table, {\n\t\t\t\t\tindex: index,\n\t\t\t\t\tlayout: \"fitDataFill\",\n\n\t\t\t\t\tcolumnDefaults: {\n\t\t\t\t\t\tformatter: \"html\",\n\t\t\t\t\t\tresizable: true,\n\t\t\t\t\t\tminWidth: \"100px\"\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\n\t\t\tdocument.querySelectorAll(\"#cms [data-confirm]\").forEach((el) => {\n\t\t\t\tel.addEventListener(\"click\", (evt) => {\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\tBsConfirm.popup(el.dataset.confirm)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tAxios.get(el.href)\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t// TODO(chris): check for success then show message and/or reload\n\t\t\t\t\t\t\tlocation = location;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => console.error(\"ERROR:\", err));\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {});\n\t\t\t\t});\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\"#cms [data-href]\").forEach((el) => {\n\t\t\t\tel.href = el.dataset.href.replace(\n\t\t\t\t\t/^ROOT\\//,\n\t\t\t\t\tFHC_JS_DATA_STORAGE_OBJECT.app_root\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tdocument.querySelectorAll(\"[href]\").forEach((element) => {\n\t\t\t\tlet orignal_href = element.getAttribute(\"href\");\n\t\t\t\tlet new_href = replaceRelativeLegacyLink(orignal_href);\n\t\t\t\telement.href = new_href;\n\t\t\t});\n\n\t\t\tdocument.querySelectorAll(\"[style*=background-color]\").forEach((element) => {\n\t\t\t\tif (element.style.backgroundColor == \"rgb(255, 255, 255)\"){\n\t\t\t\t\telement.style.backgroundColor = \"var(--fhc-background)\";\n\t\t\t\t}\n\t\t\t\tif(element.querySelector(\"*[style*=background-color]\")){\n\t\t\t\t\telement.style.backgroundColor = \"var(--fhc-tertiary)\";\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tupdated() {\n\t\tthis.prepareContent();\n\t},\n\tmounted(){\n\t\tthis.prepareContent();\n\t},\n template: /*html*/ `\n \n
\n \t\n
\n
Content was not found
\n `,\n };\n ","import raum_contentmittitel from './Content_types/Raum_contentmittitel.js'\nimport general from './Content_types/General.js'\nimport BsConfirm from \"../../Bootstrap/Confirm.js\";\nimport news_content from './Content_types/News_content.js';\nimport iframe_content from './Content_types/Iframe_content.js';\n\nimport ApiCms from '../../../api/factory/cms.js';\n\nexport default {\n\tname: \"ContentComponent\",\n\tprops: {\n\t\tcontent_id: {\n\t\t\ttype: [Number, String],\n\t\t\trequired: true\n\t\t},\n\t\tversion: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t},\n\t\tsichtbar: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t}\n\t},\n\tcomponents: {\n\t\traum_contentmittitel,\n\t\tnews_content,\n\t\tgeneral,\n\t\tiframe_content\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tcontent_type: null,\n\t\t\tcontent: null,\n\t\t\tcontent_id_internal: this.content_id\n\t\t};\n\t},\n\tmethods: {\n\t\tfetchContent(){\n\t\t\tthis.$api\n\t\t\t\t.call(ApiCms.content(this.content_id_internal, this.version, this.sprache, this.sichtbar))\n\t\t\t\t.then(res => {\n\t\t\t\t\tthis.$nextTick(function() {\n\t\t\t\t\t\tthis.content = res.data.content;\n\t\t\t\t\t\tthis.content_type = res.data.type;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t}\n\t},\n\twatch:{\n\t\tsprache: function(sprache){\n\t\t\tthis.fetchContent();\n\t\t},\n\t\t'$route.params.content_id'(newVal) {\n\t\t\tthis.content_id_internal = newVal\n\t\t\tthis.fetchContent();\n\t\t}\n\t},\n\tcomputed: {\n\t\tsprache(){\n\t\t\treturn this.$p.user_language.value;\n\t\t},\n\t\tcomputeContentType: function () {\n\t\t\tswitch (this.content_type) {\n\t\t\t\tcase \"raum_contentmittitel\":\n\t\t\t\t\treturn \"raum_contentmittitel\";\n\t\t\t\tcase \"news\":\n\t\t\t\t\treturn \"news_content\";\n\t\t\t\tcase \"iframe\":\n\t\t\t\t\treturn \"iframe_content\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"general\";\n\t\t\t};\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.fetchContent();\n\t},\n\ttemplate: /*html*/ `\n \n\t
\n \t\n\t
\n
No content is available to display
\n `,\n};\n","import { replaceRelativeLegacyLink } from \"../../../../helpers/LegacyLinkReplaceHelper.js\"\nexport default {\n\tname: \"NewsContentType\",\n\tprops:{\n\t content:{\n\t\t type:String,\n\t\t required:true,\n\t },\n\t},\n\tmethods: {\n\t\tsanitizeLegacyTables(table) {\n\t\t\t\n\t\t\t// find nested tables and replace with p element\n\t\t\tconst tt = table.querySelectorAll('table')\n\t\t\ttt.forEach(t => {\n\t\t\t\tconst textContent = t.textContent.trim();\n\t\t\t\tconst pElement = document.createElement('p');\n\t\t\t\tpElement.textContent = textContent;\n\t\t\t\tt.parentNode.replaceChild(pElement, t);\n\t\t\t})\n\n\t\t\t// find unordered lists, traverse li childs and replace with p element -> more readable than 1 p tag for ul\n\t\t\tconst ul = table.querySelectorAll('ul')\n\t\t\tul.forEach(u => {\n\t\t\t\tArray.from(u.children).forEach(li => {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.textContent = li.textContent\n\t\t\t\t\tu.parentNode.appendChild(p)\n\t\t\t\t})\n\t\t\t\tu.parentNode.removeChild(u)\n\t\t\t\t\n\t\t\t})\n\n\t\t\t// find bare text nodes and put into p element\n\t\t\tconst td = Array.from(table.querySelectorAll('td')).filter(el => el.scrollWidth > 100)\n\t\t\ttd.forEach(element => {\n\t\t\t\tif (element.firstChild?.nodeType === Node.TEXT_NODE && element.firstChild.length > 10) {\n\t\t\t\t\tconst p = document.createElement('p');\n\t\t\t\t\tp.appendChild(element.firstChild)\n\t\t\t\t\telement.appendChild(p);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// flatten nested th elements\n\t\t\tconst ths = Array.from(table.querySelectorAll('th'))\n\t\t\tths.forEach(th => {\n\n\t\t\t\tif(th.children.length > 1) {\n\t\t\t\t\tth.innerHTML = Array.from(th.childNodes).find(cn => cn.textContent).textContent\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// let p elements wrap on overflow\n\t\t\tconst p = table.querySelectorAll('p')\n\t\t\tp.forEach(p => {\n\t\t\t\tp.style.setProperty('word-wrap', 'break-word');\n\t\t\t\tp.style.setProperty('white-space', 'normal');\n\t\t\t\tp.style.setProperty('max-width', '400px');\n\t\t\t})\n\t\t}\n\t},\n\tmounted(){\n\t\t// replaces the tablesorter with the tabulator\n\t\tlet tables = Array.from(document.getElementsByClassName(\"tablesorter\"));\n\n\t\ttables.forEach((table, index) => {\n\t\t\tthis.sanitizeLegacyTables(table)\n\t\t\t\n\t\t\tnew Tabulator(table, {\n\t\t\t\tindex: index,\n\t\t\t\tlayout: \"fitDataFill\",\n\n\t\t\t\tcolumnDefaults: {\n\t\t\t\t\tformatter: \"html\",\n\t\t\t\t\tresizable: true,\n\t\t\t\t\tminWidth: \"100px\"\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\n\t\tdocument.querySelectorAll(\"#cms [data-confirm]\").forEach((el) => {\n\t\t\tel.addEventListener(\"click\", (evt) => {\n\t\t\t evt.preventDefault();\n\t\t\t BsConfirm.popup(el.dataset.confirm)\n\t\t\t\t.then(() => {\n\t\t\t\t Axios.get(el.href)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t// TODO(chris): check for success then show message and/or reload\n\t\t\t\t\t\tlocation = location;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => console.error(\"ERROR:\", err));\n\t\t\t\t})\n\t\t\t\t.catch(() => {});\n\t\t\t});\n\t\t });\n\t\tdocument.querySelectorAll(\"#cms [data-href]\").forEach((el) => {\n\t\t\tel.href = el.dataset.href.replace(\n\t\t\t\t/^ROOT\\//,\n\t\t\t\tFHC_JS_DATA_STORAGE_OBJECT.app_root\n\t\t\t);\n\t\t});\n\t\t\t\n\t\tdocument.querySelectorAll(\"[href]\").forEach((element) => {\n\t\t\tlet orignal_href = element.getAttribute(\"href\");\n\t\t\tlet new_href = replaceRelativeLegacyLink(orignal_href);\n\t\t\telement.href = new_href;\n\t\t});\n\n\t\tdocument.querySelectorAll(\"[style*=background-color]\").forEach((element) => {\n\t\t\tif (element.style.backgroundColor == \"rgb(255, 255, 255)\"){\n\t\t\t\telement.style.backgroundColor = \"var(--fhc-background)\";\n\t\t\t}\n\t\t\tif(element.querySelector(\"*[style*=background-color]\")){\n\t\t\t\telement.style.backgroundColor = \"var(--fhc-tertiary)\";\n\t\t\t}\n\t\t});\n\n\t\tVue.nextTick(() => {\n\t\t\tdocument.querySelectorAll(\".card-header\").forEach((el) => {\n\t\t\t\tel.classList.add(\"fhc-primary\");\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\".row\").forEach((el) => {\n\t\t\t\tel.classList.add(\"w-100\");\n\t\t\t\tel.classList.add(\"align-items-center\");\n\n\t\t\t});\n\t\t\tdocument.querySelectorAll(\".row h2\").forEach((el) => {\n\t\t\t\tel.classList.add(\"mb-0\");\n\t\t\t});\n\n\t\t})\n\n\t},\n\ttemplate: /*html*/ `\n\t \n\t
\n\t\n\t`\n};","\nexport default {\n\t\t\n\tloadRenderers() {\n\t\treturn {\n\t\t\tmethod: 'get',\n\t\t\turl: '/api/frontend/v1/RendererLoader/GetRenderers',\n\t\t\tparams: {\n\t\t\t}\n\t\t};\n\t},\n}","/**\n * Copyright (C) 2025 fhcomplete.org\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n\tinfo(app, path) {\n\t\treturn {\n\t\t\tmethod: 'post',\n\t\t\turl: '/api/frontend/v1/RouteInfo/info',\n\t\t\tparams: {\n\t\t\t\tapp: app,\n\t\t\t\tpath: path\n\t\t\t}\n\t\t};\n\t}\n};","import FhcDashboard from '../../components/Dashboard/Dashboard.js';\nimport PluginsPhrasen from '../../plugins/Phrasen.js';\nimport Theme from '../../plugins/Theme.js';\nimport contrast from '../../directives/contrast.js';\nimport {setScrollbarWidth} from \"../../helpers/CssVarCalcHelpers.js\";\nimport LvPlan from \"../../components/Cis/LvPlan/Lehrveranstaltung.js\";\nimport MyLvPlan from \"../../components/Cis/LvPlan/Personal.js\";\nimport MylvStudent from \"../../components/Cis/Mylv/Student.js\";\nimport Profil from \"../../components/Cis/Profil/Profil.js\";\nimport Raumsuche from \"../../components/Cis/Raumsuche/Raumsuche.js\";\nimport CmsNews from \"../../components/Cis/Cms/News.js\";\nimport CmsContent from \"../../components/Cis/Cms/Content.js\";\nimport Info from \"../../components/Cis/Mylv/Semester/Studiengang/Lv/Info.js\";\nimport RoomInformation, {DEFAULT_MODE_RAUMINFO} from \"../../components/Cis/Mylv/RoomInformation.js\";\nimport AbgabetoolStudent from \"../../components/Cis/Abgabetool/AbgabetoolStudent.js\";\nimport AbgabetoolMitarbeiter from \"../../components/Cis/Abgabetool/AbgabetoolMitarbeiter.js\";\nimport DeadlineOverview from \"../../components/Cis/Abgabetool/DeadlineOverview.js\";\nimport Studium from \"../../components/Cis/Studium/Studium.js\";\n\nimport ApiRenderers from '../../api/factory/renderers.js';\nimport ApiRouteInfo from '../../api/factory/routeinfo.js';\nimport {capitalize} from \"../../helpers/StringHelpers.js\";\n\nconst ciPath = FHC_JS_DATA_STORAGE_OBJECT.app_root.replace(/(https:|)(^|\\/\\/)(.*?\\/)/g, '') + FHC_JS_DATA_STORAGE_OBJECT.ci_router;\n\nconst router = VueRouter.createRouter({\n\thistory: VueRouter.createWebHistory(`/${ciPath}`),\n\troutes: [\n\t\t{\n\t\t\tpath: `/Cis/Studium`,\n\t\t\tname: 'Studium',\n\t\t\tcomponent: Studium,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Profil/View/:uid`,\n\t\t\tname: 'ProfilView',\n\t\t\tcomponent: Profil,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Profil`,\n\t\t\tname: 'Profil',\n\t\t\tcomponent: Profil,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Abgabetool/Student/:student_uid_prop?`,\n\t\t\tname: 'AbgabetoolStudent',\n\t\t\tcomponent: AbgabetoolStudent,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Abgabetool/Mitarbeiter`,\n\t\t\tname: 'AbgabetoolMitarbeiter',\n\t\t\tcomponent: AbgabetoolMitarbeiter,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Abgabetool/Deadlines/:person_uid_prop?`,\n\t\t\tname: 'DeadlineOverview',\n\t\t\tcomponent: DeadlineOverview,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/Raumsuche`,\n\t\t\tname: 'Raumsuche',\n\t\t\tcomponent: Raumsuche,\n\t\t\tprops: true\n\t\t},\n\t\t// Redirect old links to new format\n\t\t{\n\t\t\tpath: \"/CisVue/Cms/getRoomInformation/:ort_kurzbz\",\n\t\t\tname: \"RoomInformationOld\",\n\t\t\tcomponent: RoomInformation,\n\t\t\tredirect: (to) => {\n\t\t\t\treturn { // redirect to longer Rauminfo url and map params\n\t\t\t\t\tname: \"RoomInformation\",\n\t\t\t\t\tparams: { // in this case always populate other params since they are not optional\n\t\t\t\t\t\tort_kurzbz: to.params.ort_kurzbz,\n\t\t\t\t\t\tmode: DEFAULT_MODE_RAUMINFO,\n\t\t\t\t\t\tfocus_date: new Date().toISOString().split(\"T\")[0]\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tpath: `/CisVue/Cms/getRoomInformation/:mode/:focus_date/:ort_kurzbz`,\n\t\t\tname: 'RoomInformation',\n\t\t\tcomponent: RoomInformation,\n\t\t\tprops: (route) => { // validate and set mode/focus date if for some reason missing\n\t\t\t\tconst validModes = [\"Month\", \"Week\", \"Day\"];\n\n\t\t\t\t// check mode string\n\t\t\t\tconst mode = route.params.mode &&\n\t\t\t\tvalidModes.includes(route.params.mode.charAt(0).toUpperCase() + route.params.mode.slice(1).toLowerCase())\n\t\t\t\t\t? route.params.mode.charAt(0).toUpperCase() + route.params.mode.slice(1).toLowerCase()\n\t\t\t\t\t: DEFAULT_MODE_RAUMINFO;\n\n\t\t\t\t// default to today date if not provided\n\t\t\t\tconst d = new Date(route.params.focus_date)\n\t\t\t\tconst focus_date = !isNaN(d) ? route.params.focus_date : new Date().toISOString().split(\"T\")[0];\n\n\t\t\t\t// for consistency reasons format the props into one object but actually use a new name to we dont collide with\n\t\t\t\t// existing viewData declaration written from codeigniter 3 into routerview tag\n\t\t\t\treturn {\n\t\t\t\t\tpropsViewData: {\n\t\t\t\t\t\tmode,\n\t\t\t\t\t\tfocus_date,\n\t\t\t\t\t\tort_kurzbz: route.params.ort_kurzbz\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t\tbeforeEnter: (to, from, next) => {\n\t\t\t\t// missing mode or focus_date -> set defaults\n\t\t\t\tif (!to.params.mode || !to.params.focus_date) {\n\t\t\t\t\tnext({\n\t\t\t\t\t\tname: \"RoomInformation\",\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\tmode: to.params.mode || DEFAULT_MODE_RAUMINFO,\n\t\t\t\t\t\t\tfocus_date: to.params.focus_date || new Date().toISOString().split(\"T\")[0],\n\t\t\t\t\t\t\tort_kurzbz: route.params.ort_kurzbz\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpath: `/CisVue/Cms/Content/:content_id`,\n\t\t\tname: 'Content',\n\t\t\tcomponent: CmsContent,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/CisVue/Cms/News`,\n\t\t\tname: 'News',\n\t\t\tcomponent: CmsNews,\n\t\t\tprops: true\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/MyLv/:studiensemester?`,\n\t\t\tname: 'MyLv',\n\t\t\tcomponent: MylvStudent,\n\t\t\tprops: true,\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/MyLv/Info/:studien_semester/:lehrveranstaltung_id`,\n\t\t\tname: 'LvInfo',\n\t\t\tcomponent: Info,\n\t\t\tprops: true\n\t\t},\n\t\t// Redirect old links to new format\n\t\t{\n\t\t\t// only trigger on first param being numeric to avoid paths like \"LvPlan/Month\" entering here\n\t\t\tpath: \"/Cis/LvPlan/:lv_id(\\\\d+)\", \n\t\t\tname: \"LvPlanOld\",\n\t\t\tcomponent: LvPlan,\n\t\t\tredirect(to) {\n\t\t\t\tconst route = Vue.unref(router.currentRoute);\n\t\t\t\tconst { mode, focus_date } = route.params; // keep mode and focus_date if available\n\t\t\t\treturn { // redirect to longer LvPlan url and map params\n\t\t\t\t\tname: \"LvPlan\",\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tmode,\n\t\t\t\t\t\tfocus_date,\n\t\t\t\t\t\tlv_id: to.params.lv_id\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/LvPlan/:mode?/:focus_date?/:lv_id?`,\n\t\t\tname: 'LvPlan',\n\t\t\tcomponent: LvPlan,\n\t\t\tprops(route) {\n\t\t\t\treturn {\n\t\t\t\t\tpropsViewData: route.params\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis/MyLvPlan/:mode?/:focus_date?`,\n\t\t\tname: 'MyLvPlan',\n\t\t\tcomponent: MyLvPlan,\n\t\t\tprops(route) {\n\t\t\t\treturn {\n\t\t\t\t\tpropsViewData: route.params\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpath: `/Cis4`,\n\t\t\tname: 'Cis4',\n\t\t\tcomponent: FhcDashboard,\n\t\t\tprops: {dashboard: 'CIS'},\n\t\t},\n\t\t{\n\t\t\tpath: `/`,\n\t\t\tname: 'FhcDashboard',\n\t\t\tcomponent: FhcDashboard,\n\t\t\tprops: {dashboard: 'CIS'},\n\t\t},\n\t\t{\n\t\t\tpath: '/:pathMatch(.*)*',\n\t\t\tname: 'Fallback',\n\t\t\tcomponent: FhcDashboard,\n\t\t\tprops: {dashboard: 'CIS'},\n\t\t\tredirect: () => {\n\t\t\t\treturn {\n\t\t\t\t\tname: \"Cis4\",\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tdashboard: 'CIS'\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t]\n})\n\nconst app = Vue.createApp({\n\tname: 'FhcApp',\n\tdata: () => ({\n\t\tappSideMenuEntries: {},\n\t\trenderers: null,\n\t}),\n\tcomponents: {},\n\tcomputed: {\n\t\tisMobile() {\n\t\t\treturn /Mobi|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n\t\t}\t\n\t},\n\tprovide() {\n\t\treturn { // provide injectable & watchable language property\n\t\t\tlanguage: Vue.computed(() => this.$p.user_language),\n\t\t\trenderers: Vue.computed(() => this.renderers),\n\t\t}\t\n\t},\n\tmethods: {\n\t\tisInternalRoute(href) {\n\t\t\tconst internalBase = window.location.origin\n\t\t\treturn href.startsWith(internalBase);\n\t\t},\n\t\thandleClick(event) {\n\t\t\tconst target = event.target.closest('a');\n\n\t\t\tif(target?.id == 'skiplink') return\n\t\t\tif (target && this.isInternalRoute(target.href)) {\n\t\t\t\tconst url = new URL(target.href)\n\t\t\t\t\n\t\t\t\tconst path = url.pathname\n\t\t\t\tconst base = this.$router.options.history.base\n\t\t\t\tconst route = path.replace(base, '') || '/'\n\n\t\t\t\t// let click event propagate normally if we dont route internally\n\t\t\t\tconst res = this.$router.resolve(route)\n\t\t\t\tif(!res?.matched?.length || res.name === 'Fallback') return\n\t\t\t\t\n\t\t\t\tevent.preventDefault(); // Prevent browser navigation\n\t\t\t\t\n\t\t\t\tif(this.isMobile) { // toggle the menu\n\t\t\t\t\tconst navMain = document.getElementById('nav-main');\n\t\t\t\t\t// fix unwanted toggle from off to on for some links on mobile\n\t\t\t\t\tif(navMain.classList.contains('show')){\n\t\t\t\t\t\tdocument.getElementById('nav-main-btn').click();\n\t\t\t\t\t} \n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.$router.push(route);\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t},\n\tasync created(){\n\t\tawait this.$api\n\t\t\t.call(ApiRenderers.loadRenderers())\n\t\t\t.then(res => res.data)\n\t\t\t.then(data => {\n\t\t\t\tfor (let rendertype of Object.keys(data)) {\n\t\t\t\t\tlet modalTitle = null;\n\t\t\t\t\tlet modalContent = null;\n\t\t\t\t\tlet calendarEvent = null;\n\t\t\t\t\tif (data[rendertype].modalTitle)\n\t\t\t\t\t\tmodalTitle = Vue.markRaw(Vue.defineAsyncComponent(() => import(data[rendertype].modalTitle)));\n\t\t\t\t\tif (data[rendertype].modalContent) \t\n\t\t\t\t\t\tmodalContent = Vue.markRaw(Vue.defineAsyncComponent(() => import(data[rendertype].modalContent)));\n\t\t\t\t\tif (data[rendertype].calendarEvent) \t\n\t\t\t\t\t\tcalendarEvent = Vue.markRaw(Vue.defineAsyncComponent(() => import(data[rendertype].calendarEvent)));\n\n\t\t\t\t\tif (data[rendertype].calendarEventStyles){\n\t\t\t\t\t\tvar head = document.head;\n\t\t\t\t\t\tif(!head.querySelector(`link[href=\"${data[rendertype].calendarEventStyles}\"]`)){\n\t\t\t\t\t\t\tvar link = document.createElement(\"link\");\n\t\t\t\t\t\t\tlink.type = \"text/css\";\n\t\t\t\t\t\t\tlink.rel = \"stylesheet\";\n\t\t\t\t\t\t\tlink.href = data[rendertype].calendarEventStyles;\n\t\t\t\t\t\t\thead.appendChild(link);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif(this.renderers === null) {\n\t\t\t\t\t\tthis.renderers = {};\n\t\t\t\t\t}\n\t\t\t\t\tif (!this.renderers[rendertype]) {\n\t\t\t\t\t\tthis.renderers[rendertype] = {}\n\t\t\t\t\t}\n\t\t\t\t\tthis.renderers[rendertype].modalTitle = modalTitle;\n\t\t\t\t\tthis.renderers[rendertype].modalContent = modalContent;\n\t\t\t\t\tthis.renderers[rendertype].calendarEvent = calendarEvent;\n\t\t\t\t}\n\t\t\t});\n\t},\n\tmounted() {\n\t\tdocument.addEventListener('click', this.handleClick);\n\t},\n\tbeforeUnmount() {\n\t\tdocument.removeEventListener('click', this.handleClick);\n\t},\n});\n\n// kind of a bandaid for bad css on some pages to avoid horizontal scroll\nsetScrollbarWidth();\napp.config.globalProperties.$capitalize = capitalize;\napp.use(router);\napp.use(primevue.config.default, {\n\tzIndex: {\n\t\toverlay: 9000,\n\t\ttooltip: 8000\n\t}\n})\napp.directive('tooltip', primevue.tooltip);\napp.use(PluginsPhrasen);\napp.use(Theme);\napp.directive('contrast', contrast);\napp.mount('#fhccontent');\n\nrouter.afterEach((to, from, failure) => {\n\tapp.config.globalProperties.$api.call(ApiRouteInfo.info('cis4', to.fullPath));\n});","// Create a temporary div element, set styles to ensure it's scrollable and off-screen, get scrollbar width from that\nfunction getScrollbarWidth() {\n\tconst div = document.createElement('div');\n\n\tdiv.style.position = 'absolute';\n\tdiv.style.top = '-9999px';\n\tdiv.style.width = '100px';\n\tdiv.style.height = '100px';\n\tdiv.style.overflow = 'scroll';\n\n\tdocument.body.appendChild(div);\n\tconst scrollbarWidth = div.offsetWidth - div.clientWidth;\n\tdocument.body.removeChild(div);\n\n\treturn scrollbarWidth;\n}\n\n// Detect the browser and set a CSS variable for the scrollbar width since chrome scrollbars mess with 100vw/vh css\nexport function setScrollbarWidth() {\n\tconst isChromium = /Chrome/.test(navigator.userAgent);\n\tconst isFirefox = /Firefox/.test(navigator.userAgent);\n\n\tif (isChromium) {\n\t\tconst width = getScrollbarWidth() + 'px';\n\t\tdocument.body.style.setProperty('--scrollbar-width', width); // Set the value for Chrome\n\t} else if (isFirefox) {\n\t\tdocument.body.style.setProperty('--scrollbar-width', '0px'); // Set the value for Firefox or adjust as needed\n\t}\n}","export function capitalize(string) {\n\tif (!string) return '';\n\treturn string[0].toUpperCase() + string.slice(1);\n}"],"names":["BsModal","name","data","modal","fullscreen","props","backdrop","type","Boolean","String","default","validator","value","includes","focus","keyboard","noCloseBtn","dialogClass","Array","Object","headerClass","bodyClass","footerClass","allowFullscreenExpand","emits","methods","dispose","this","handleUpdate","hide","show","relatedTarget","toggle","toggleFullscreen","mounted","$refs","bootstrap","Modal","popup","body","options","title","footer","slots","undefined","includedPrimevue","primevue","Promise","resolve","reject","instance","Vue","createApp","setup","h","class","ref","unmount","beforeUnmount","result","unmounted","wrapper","parentElement","removeChild","document","createElement","use","config","zIndex","overlay","then","Phrasen$1","Phrasen","mount","appendChild","template","Alert","components","mixins","onHideBsModal","Function","onHiddenBsModal","onHidePreventedBsModal","onShowBsModal","onShownBsModal","modalContainer","msg","bind","BsConfirm$1","BsAlert","GridItem","inject","item","active","dragAction","dragging","computed","registerDragAction","evt","$emit","target","hasAttribute","getAttribute","parent","closest","tryDragStart","touchDragEnd","touchStart","event","touchMove","preventDefault","GridLogic","constructor","w","grid","isFreeSlot","x","y","i","getMaxY","reduce","acc","getFreeSlots","freeSlots","biggestY","totalSpaces","length","Math","floor","push","add","prefer","occupiers","getItemsInFrame","frame","forEach","f","index","max","intermGrid","possiblities","tryMoving","bestOption","sort","a","b","cost","moves","v","move","currItem","getItemFrame","remove","console","error","place","pinned","originalFrame","isArray","some","occupiersData","map","occupier","occupiersFrame","flat","replaceUpdate","newOccupierFrames","occ","shift","getSingleFramePosition","updates","resize","newPoss","possiblity","p","directions","weight","dir","res","tryMovingInDirection","filter","amount","targetframe","unshift","clearWeights","indexOf","j","debug","DropGrid","cols","Number","items","itemsSetup","resizeLimit","marginForExtraRow","additionalRow","clientX","clientY","mode","dragGrid","permUpdates","positionUpdates","fixedPositionUpdates","draggedOffset","draggedItem","draggedNode","reorderedItems","clonedWidget","sectionName","additionalRowComputed","get","set","items_hashmap","needsReordering","rearrangedPosition","widget","widgetid","pop","items_placeholders","placeholders","col_max","rows_max","rows","occupied","keys","current_item","max_x","max_y","occupied_y","occupied_x","placeholder","id","padStart","placedItems_withPlaceholders","placedItems","gridStyle","addH","indexedItems","prePlacedItems","mappedPlacedItems","height_diff","width_diff","temporaryResizeItems","newItem","resizeOverlay","blank","showEmptyTileHover","widgetSetup","widgetsSetup","ele","widget_id","watch","dragCancel","handler","immediate","updated","createNewGrid","deep","toggleDraggedItemOverlay","condition","firstElementChild","classList","containerRect","container","getBoundingClientRect","clonedWidgetRect","desiredTop","desiredLeft","minTop","maxTop","height","minLeft","maxLeft","width","constrainedTop","min","constrainedLeft","style","top","left","sortedItems","firstFreeSlot","targetX","targetW","convertGridResultToUpdate","input","output","baseArray","mouseLeave","updateCursor","rect","touches","gridX","clientWidth","gridY","clientHeight","_dragStart","dataTransfer","setDragImage","dropEffect","effectAllowed","startMove","setTimeout","clone","cloneNode","querySelector","removeProperty","startResize","dragOver","checkPinnedWidgetAnimation","checkWidgetSizeLimitAnimation","removeWidgetClones","dragEnd","getElementById","from","getElementsByClassName","_updateFixedPositions","additionalUpdates","emptyTileClicked","updateCursorOnMouseMove","itemAtPosition","pinNode","contains","draggedItemSetup","draggedItemMaxWidth","draggedItemMinWidth","draggedItemMaxHeight","draggedItemMinHeight","draggedItemNode","width_after_resize","height_after_resize","widgetClones","mouseDown","mouseUp","__widgets","__widgetsStarted","__path","FHC_JS_DATA_STORAGE_OBJECT","app_root","ci_router","CachedWidgetLoader","getWidget","loadWidget","axios","params","retval","arguments","JSON","parse","catch","response","setPath","path","DashboardItem","HeightTransition","onEnter","el","done","scrollHeight","onLeave","component","tmpConfig","isLoading","hasConfig","sharedData","maxHeight","maxWidth","prototype","toString","call","minHeight","minWidth","isResizeable","isPinned","ready","unpin","editMode","item_data","pinItem","getWidgetC4Link","cis4link","handleShowBsModal","handleHideBsModal","e","startDrag","dragHandle","resizeHandle","openConfig","setConfig","changeConfig","sendChangeConfig","changeConfigManually","k","created","import","relativeurl","file","fhcomplete_build_version","$options","WidgetIcon","required","src","DashboardSection","adminMode","configOpened","gridWidth","gridHeight","provide","editModeIsActive","computedWidgetsSetup","getSectionStyle","widgets","reorder","sectionNameTranslation","$p","t","showSectionInformation","handleConfigOpened","handleConfigClosed","checkResizeLimit","minmaxW","minmaxH","removeWidget","revert","custom","BsConfirm","update","hidden","updatePreset","saveConfig","payload","updatePositions","self","cont","parseInt","window","getComputedStyle","getPropertyValue","addEventListener","DashboardWidgetPicker","callbacks","close","pick","ObjectUtils","mergeDeep","objects","isObject","obj","prev","key","pVal","oVal","concat","ApiDashboard","getViewData","method","url","FhcDashboard","dashboard","viewData","uid","timezone","sections","viewDataInternal","apiurl","widgetAdd","section_name","db","err","widgetpicker","Date","valueOf","loading","section","post","funktion_kurzbz","newId","splice","alert","widgetUpdate","wid","prop","_x","_y","_w","_h","preset","widgetRemove","loadCategory","section1","section2","beforeMount","$api","search","searchsettings","$fhcApi","searchAdvanced","searchdummy","phrasen$2","category","setLanguage","categories","language","getLanguage","getActiveDbLanguages","navigation","getHeader","navigation_page","getMenu","filter$1","saveCustomFilter","wsParams","filterUniqueId","filterType","customFilterName","removeCustomFilter","filterId","applyFilterFields","filterFields","addFilterField","filterField","removeFilterField","getFilterById","getFilter","studstatus","abmeldung","getDetails","antrag_id","prestudent_id","create","stdsem","grund","studiensemester","errorHandling","cancel","allSettled","antrag","studierendenantrag_id","errorHeader","unterbrechung","datum_wiedereinstieg","attachment","wiederholung","getLvs","saveLvs","forbiddenLvs","mandatoryLvs","leitung","getStgs","getAntraege","getHistory","getPrestudents","query","signal","timeout","approve","reopen","pause","unpause","object","approveObjection","denyObjection","profil","getView","fotoSperre","isStudent","isMitarbeiter","getZustellAdresse","getZustellKontakt","getGemeinden","nation","zip","getAllNationen","profilUpdate","getStatus","getTopic","acceptProfilRequest","profil_update_id","status_message","topic","requested_change","denyProfilRequest","insertFile","dms","replace","getProfilRequestFiles","requestID","selectProfilRequest","insertProfilRequest","fileID","updateProfilRequest","ID","deleteProfilRequest","lvPlan","getRoomInfo","ort_kurzbz","start_date","end_date","getStunden","getOrtReservierungen","getLvPlanReservierungen","getLehreinheitStudiensemester","lehreinheit_id","studiensemesterDateInterval","date","LvPlanEvents","lv_id","stv","verband","favorites","students","studiensemester_kurzbz","encodeURIComponent","getUri","prestudent","person","person_id","relative_path","getStg","setStg","studiengang_kz","konto","tabulatorConfig","ajaxURL","ajaxParams","modelValue","only_open","studiengang_kz_intern","stg_kz","ajaxRequestFunc","ajaxResponse","checkDoubles","form","confirmErrorHandler","insert","counter","edit","delete","buchungsnr","getBuchungstypen","group","getGruppen","deleteGroup","kontakt","getAdressen","addNewAddress","loadAddress","address_id","updateAddress","deleteAddress","getPlaces","plz","getFirmen","searchString","getNations","getAdressentypen","getBankverbindung","addNewBankverbindung","loadBankverbindung","bankverbindung_id","updateBankverbindung","deleteBankverbindung","getKontakte","addNewContact","loadContact","kontakt_id","updateContact","deleteContact","getStandorteByFirma","getKontakttypen","updatePrestudent","getBezeichnungZGV","getBezeichnungMZgv","getBezeichnungDZgv","getAusbildung","getAufmerksamdurch","getBerufstaetigkeit","getTypenStg","getBisstandort","getHistoryPrestudent","getMaxSem","studiengang_kzs","advanceStatus","status_kurzbz","ausbildungssemester","confirmStatus","isLastStatus","deleteStatus","getLastBismeldestichtag","getHistoryPrestudents","status","insertStatus","loadStatus","updateStatus","getStudienplaene","getStudiengang","getStatusgruende","getStati","addStudent","changeStatus","getStatusarray","details","save","exam","getPruefungen","loadPruefung","pruefung_id","getTypenPruefungen","getAllLehreinheiten","getLvsByStudent","getLvsandLesByStudent","semester","getLvsAndMas","getMitarbeiterLv","getNoten","checkZeugnisnoteLv","addPruefung","updatePruefung","deletePruefung","abschlusspruefung","getAbschlusspruefung","addNewAbschlusspruefung","loadAbschlusspruefung","updateAbschlusspruefung","deleteAbschlusspruefung","getTypenAbschlusspruefung","getTypenAntritte","getBeurteilungen","getAkadGrade","getTypStudiengang","getMitarbeiter","getPruefer","checkForExistingExams","uids","grades","list","getCertificate","getTeacherProposal","getRepeaterGrades","updateCertificate","lehrveranstaltung_id","student_uid","note","lehrveranstaltung_bezeichnung","deleteCertificate","copyTeacherProposalToCertificate","copyRepeaterGradeToCertificate","studierendenantrag_lehrveranstaltung_id","lv_bezeichnung","getGradeFromPoints","points","manualErrorHandling","mobility","getMobilitaeten","getProgramsMobility","addNewMobility","loadMobility","bisio_id","updateMobility","deleteMobility","getLVList","getPurposes","getSupports","getListPurposes","getListSupports","deleteMobilityPurpose","addMobilityPurpose","deleteMobilitySupport","addMobilitySupport","archiv","getArchivVorlagen","archive","archiveSigned","akte_id","documents","getDocumentsUnaccepted","getDocumentsAccepted","deleteZuordnung","dokument_kurzbz","createZuordnung","loadAkte","getDoktypen","updateFile","deleteFile","uploadFile","exemptions","getAnrechnungen","getLehrveranstaltungen","getBegruendungen","getLvsKompatibel","getLektoren","addNewAnrechnung","loadAnrechnung","anrechnung_id","editAnrechnung","deleteAnrechnung","jointstudies","getStudies","getTypenMobility","getStudiensemester","getStudyprograms","getListPartner","getStatiPrestudent","loadStudy","insertStudy","updateStudy","deleteStudy","courselist","getCourselist","group_consecutiveHours","dbStundenplanTable","configStudent","configStudents","notiz","getNotizen","getUid","addNewNotiz","formData","loadNotiz","notiz_id","loadDokumente","deleteNotiz","type_id","updateNotiz","isBerechtigt","betriebsmittel","getAllBetriebsmittel","addNewBetriebsmittel","loadBetriebsmittel","betriebsmittelperson_id","updateBetriebsmittel","deleteBetriebsmittel","getTypenBetriebsmittel","loadInventarliste","checkperson","updatePersonUnrulyStatus","unrulyParam","unruly","filterPerson","base","ort","getContentID","ort_kurbz","getRooms","datum","von","bis","typ","personenanzahl","getRoomTypes","cms","content","content_id","version","sprache","sichtbar","getNews","page","page_size","news","limit","getNewsRowCount","getNewsExtra","lehre","getStudentenMail","getLvInfo","getStudentPruefungen","getStudentProjektarbeiten","getStudentProjektabgaben","detail","projektarbeit_id","postStudentProjektarbeitEndupload","Headers","postStudentProjektarbeitZwischenabgabe","getStudentProjektarbeitAbgabeFile","paabgabe_id","location","getMitarbeiterProjektarbeiten","all","postProjektarbeitAbgabe","termin","paabgabetyp_kurzbz","bezeichnung","fixtermin","insertvon","kurzbz","deleteProjektarbeitAbgabe","postSerientermin","projektarbeit_ids","fetchDeadlines","addons","getLvMenu","lvid","messages","getMessages","size","getVorlagen","getMsgVarsLoggedInUser","getMessageVarsPerson","getMsgVarsPrestudent","getPersonId","getDataVorlage","vorlage_kurzbz","getNameOfDefaultRecipient","getPreviewText","getReplyData","messageId","sendMessageFromModalContext","sendMessage","deleteMessage","vorlagen","getVorlagenByLoggedInUser","studium","getAllStudienSemester","studiengang","studienplan","getStudiengaengeForStudienSemester","getStudienplaeneBySemester","getLvPlanForStudiensemester","getLvEvaluierungInfo","FhcApiFactory","phrasen","bookmark","getBookmarks","bookmark_id","tag","ampeln","open","confirm","ampel_id","studiengangInformation","getStudiengangByKz","menu","authinfo","getAuthUID","getAuthInfo","getAll","OldFhcApi","install","app","globalProperties","factory","warn","addEndpoints","_get_config","uri","TypeError","clearValidation","setFeedback","_clean_return_value","meta","fhcApiAxios","baseURL","interceptors","request","FormData","values","every","FileList","File","newData","entries","nd","append","jsondata","stringify","errors","_defaultErrorHandlers","code","handled","$fhcAlert","alertDefault","message","responseURL","alertError","validation","apply","general","php","filename","line","backtrace","function","severity","alertSystemError","exception","heading","sql","join","auth","controller","required_permissions","FhcApiFactoryWrapper","factorypart","root","defineProperty","noWarn","CORE_REST_CLIENT_ERROR","CORE_REST_CLIENT_RETVAL","CoreRESTClient","wsURL","wsParameters","axiosParameters","_axiosCall","isSuccess","hasOwnProperty","isError","hasData","trim","getData","getError","getErrorCode","_generateRouterURI","_printDebug","parameters","errorThrown","axiosCallObj","helperAppContainer","helperApp","PvToast","PvConfirm","mailToUrl","slotProps","systemerror_mailto","called_path","called_method","openMessagecard","Collapse","getOrCreateInstance","showmaillink","PvConfig","PvConfirmationService","helperAppInstance","FhcAlert","FhcPhrasen","alertSuccess","toast","summary","life","alertInfo","alertWarning","confirmDelete","$confirm","require","header","acceptLabel","acceptClass","rejectLabel","rejectClass","accept","sticky","html","alertMultiple","messageArray","handleSystemError","toLowerCase","errMsg","toUpperCase","stack","handleSystemMessage","resetFormValidation","Event","querySelectorAll","dispatchEvent","handleFormValidation","nodeType","Node","ELEMENT_NODE","notFound","CustomEvent","arr","PluginsApi","_send_array_or_object","func","errs","DEFAULT_ERROR_CONFIG","success","fail","combine","async","_format_toast","_default","field","msgs","n_errors","n","get_config","clean_return_value","_merge_error_config","get_error_handler","formHandler","get_error_list","popHandleableErrors","copy","newType","newTypeCombinesType","newTypeHasHandler","errorConfig","remaining","configoverwrite","typedErrors","allowed","reason","errType","getErrorHandler","ApiPhrasen","reactive","loadingModules","user_language","user_locale","server_languages","find","LC_Time","catArray","row","phrase","text","elem","extractCategory","t_ref","split","val","match","p1","getValueForLoadedPhrase","PluginsPhrasen","cat","lang","theme_name","theme","theme_modes","modes","toggleTheme","documentElement","setAttribute","stylesheet","attributes","href","localStorage","setItem","Theme","initializeTheme","getItem","$theme","switchTheme","rgbToHex","hex","getContrastYIQ","hexcolor","substring","contrast","element","binding","bgColor","backgroundColor","rgbRegEx","RegExp","isRgb","r","g","hexColor","color","TYPE_DEFINITION","lehreinheit","dragIcon","extras","vevent","student","VALID_TYPES","isValidDragObject","substr","extra","getValidTransferData","allowedTypes","strict","getTransferData","_error","types","base_type","collection","DragAndDrop","isValidTransferData","convertToValidDragObject","converted","sorted","found","typedef","setTransferData","validDragObject","dragElements","icon","label","iconContainer","className","textContent","boxShadow","itemContainer","requestAnimationFrame","setData","eventHasTypes","bindDragEnterLeave","skipLeave","skipLeaveParent","init","globalDragenter","globalDragleave","globalDrop","removeEventListener","cleanup","wasDropped","CalDnd","vnode","arg","cancelable","bubbles","offsetX","offsetWidth","offsetY","offsetHeight","originalEvent","hitbox","pos","pageX","scrollLeft","pageY","scrollTop","modifiers","once","timestamp","prevVnode","BaseDraganddrop","directives","events","correctedEvents","backgrounds","dropAllowed","dropableEvents","draggedInternalEvent","draggedExternalEvent","targetTimestamp","targetGridEnds","shadowPreview","findIndex","previewEvent","toSpliced","correctedBackgrounds","start","end","orig","onDragstart","convertToTransferData","onDragend","onDragenter","isostart","luxon","DateTime","fromISO","setZone","local","isoend","onDragleave","onDragchange","ends","onDrop","BaseHeader","DatePicker","VueDatePicker","listLength","convertedDate","keepLocalTime","current","month","year","startOf","ts","plus","days","useLocaleWeeks","endOf","toLocaleString","localWeekYear","week","toFormat","DATE_FULL","weekStart","Info","getStartOfWeek","fromObject","setLocale","locale","fromJSDate","weekNumbers","localWeekNumber","modeOptions","btnMonth","btnWeek","btnDay","btnList","clickMode","defaultPrevented","BaseSlider","time","extrasAfter","extrasBefore","running","promiseResolve","itemsAfter","itemsBefore","styleSlider","position","transition","styleBefore","display","right","styleAfter","prevPage","slidePages","nextPage","newTarget","endSlide","clickListeners","saveAddClickListener","source","listener","stopPropagation","customEvent","CalClick","finalEvent","FhcCalendar$1","timeGrid","draggableEvents","hasDragoverFunc","onDragover","now","showBtns","internalView","internalDate","modalEvent","convertedEvents","convertedBackgrounds","bg","isInteger","fromMillis","zone","sDate","cDate","cMode","sMode","o","isValid","hasSame","clickPrev","clickNext","handleClickDefaults","number","zoneName","onDropItem","showEventModal","eventObj","hideEventModal","closeFn","onModalHidden","ApiLvPlan","getLvPlan","eventsPersonal","eventsLv","getLv","GridLineEvent","isHeaderOrFooter","draggable","classes","startsHere","endsHere","CalendarGrid","GridLine","LineEvent","LineBackground","flipAxis","background","styles","perc","border","diff","axisRow","eventsWithRowInfo","toMillis","originalEvents","originalBackgrounds","axisMain","axisParts","Duration","allDayEvents","axisMainCollapsible","snapToGrid","resizeObserver","mutationObserver","userScroll","axisCol","axisPartsWithBreaks","tu","lastTuEnd","slice","axisPartsSave","partsEnds","part","axisMainBorders","curr","eventsAllDay","mapIntoMainAxis","allDayEvent","eventsNormal","hasValidEvents","styleGridCols","styleGridRows","gridlines","mainIndex","day","laneStart","laneEnd","getPageTop","pageTop","offsetTop","offsetParent","getPageLeft","pageLeft","offsetLeft","getTimestampFromMouse","dayTimestamp","mouse","mouseFrac","main","enableAutoScroll","ResizeObserver","scrollToEarliestEvent","observe","MutationObserver","mutations","m","addedNodes","matches","subtree","childList","disableAutoScroll","disconnect","eventElements","scroller","earliestEventOffset","scrollIntoView","behavior","scrollTo","LabelDay","titleFull","titleLong","titleShort","titleNarrow","LabelDow","weekday","LabelTime","start_ok","end_ok","sanitizedTimestamps","formatTime","toISOTime","suppressSeconds","ModeDay","DayView","emptyMessage","emptyMessageDetails","chosenEvent","gridMainRef","fromISOTime","hours","currentEvent","first","isToday","compact","threshold","elementRef","isRef","$el","compareArray","updateResultVars","compare","observer","addObserver","removeObserver","onMounted","onUnmounted","watchEffect","useResizeObserver","currentDate","focusDate","rangeOffset","range","last","Interval","fromDateTimes","view","slider","updatePage","newFocusDate","viewAttrs","$attrs","ModeWeek","WeekView","collapseEmptyDays","weeks","ModeMonth","MonthView","LabelWeek","firstDay","lastDay","d","startdate","nextRangeStart","months","dayInWeek","FhcCalendar","getPromiseFunc","markRaw","teachingunits","includeOffset","eventStyle","farbe","updateRange","rangeInterval","context","lv","loading_id","loadingEvents","allEvents","eventsLoaded","mergePromiseArr","markEventsLoaded","indexIsLast","nStart","rStart","nEnd","toISODate","toValue","promises","results","useEventLoader","newValue","emit","stunde","beginn","ende","ApiAuthinfo","LvPlan","propsViewData","currentDay","focus_date","isNaN","currentMode","currentLv","lvTitle","bezeichnung_english","handleChangeDate","newMode","handleChangeMode","$router","MyLvPlan","studiensemester_start","studiensemester_ende","downloadLinks","opts","toUnixInteger","download_link","link","LvPruefungen","pruefungenData","ApiLehre","infos","studien_semester","studiengang_kuerzel","orgform_kurzbz","ects","incoming","info","lektorNamesLinks","lektorenLinks","lektoren","titelpre","vorname","nachname","titelpost","lektorNames","lvLeitung","oe","organisationseinheittyp","oeLeitung","koordinator","currentLang","lastLang","lvinfo","lvinfoDefaultLang","assign","reloadRefs","triggerRef","initialval","FHC_JS_PHRASES_STORAGE_OBJECT","tmp_category","loadLazy","unref","LvMenu","containerStyles","rowStyles","hasLvPlanEintraege","c4_disabled","menuItem","c4_link","c4_moodle_links","c4_target","getMenuName","ApiAddons","LvUebersicht","titel","preselectedMenu","isMenuSelected","lvEvaluierungMessage","hiddenModal","showModal","studium_studiensemester","MylvSemester","MylvSemesterStudiengang","MylvSemesterStudiengangLv","bezeichnung_eng","module","benotung","lvnote","lvnotebez","znote","znotebez","positiv","note_index","preselectedMenuItem","gradeColor","is_organisatorische_einheit","emptyMenu","bodyStyle","grade","languageIndex","LvHasPruefungenInformation","fetchMenu","openLvOption","nextTick","lvUebersicht","openPruefungen","openInfos","LvInfo","pruefungen","kuerzel","lvs","sg_bezeichnung_eng","lehrveranstaltungen","Map","studiengaenge","sg_bezeichnung","lvsForStudiengang","MylvStudent","firstLoad","currentSemester","nearestSem","nearestSemDiff","sem","abs","currentIsFirst","currentIsLast","prevSem","selectedIndex","nextSem","updateRouter","routerStudiensemester","$route","s","beforeRouteUpdate","to","next","CoreFetchCmpt","refresh","apiFunction","apiFunctionParameters","oldValue","fetchData","errorMessage","apiFunctionResult","successHandler","errorHandler","finally","finallyHandler","setError","FILTER_COMPONENT_NEW_FILTER","FilterConfig","filters","columns","fields","switchFilter","applyFilterConfig","currentFields","c","currentTarget","filteredFields","addField","removeField","FilterColumns","selected","names","selectedFields","DEFAULT_ICONS","jsonLines","xlsx","pdf","json","csv","DEFAULT_LABELS","TableDownload","tabulator","iconClass","currentConfig","newConfig","stringToFileFormatter","formatter","validateFileFormatter","lcInput","XLSX","jspdf","jsPDF","autoTable","download","elementDataMap","WeakMap","collapseAutoClose","collapse","getInstance","collapsibleAutoHideFunc","Tabulator","extendModule","fitDataStretchFrozen","forced","colsWidth","tableWidth","table","rowManager","gap","lastCol","column","widthFixed","reinitializeWidth","responsiveLayout","modules","responsive","visible","definition","frozen","getWidth","modExists","setWidth","ApiFilter","_uuid","CoreFilterCmpt","onNwNewEntry","description","sideMenu","tabulatorOptions","tabulatorEvents","tableOnly","noColumnFilter","reload","reloadBtnInfotext","newBtnShow","newBtnClass","newBtnDisabled","newBtnLabel","uniqueId","idField","parentIdField","countOnly","useSelectionSpan","uuid","filterName","filterActive","dataset","datasetMetadata","availableFilters","selectedFilter","fetchCmptRefresh","fetchCmptApiFunction","fetchCmptApiFunctionParams","fetchCmptDataFetched","fetchResult","tableBuilt","tabulatorHasSelector","selectedData","persistence","headerFilter","notSelectedFields","filteredData","filteredColumns","col","resizable","fieldIdsForVisibilty","getColumns","def","getDefinition","getField","fieldNames","idExtra","columnsForFilter","filterTitles","reloadTable","initTabulator","hash","resolvePromiseFunc","setRenderData","startFetchCmpt","layout","movableColumns","columnDefaults","tooltip","selectable","dataTree","on","toDelete","childIdx","child","isVisible","_setHeaderFilter","updateTabulator","_updateTabulator","setColumns","clearFilters","getHeaderFilters","setHeaderFilterValue","clearFilter","render","setSideMenu","setDropDownMenu","personalFilters","filtersArray","filtersCount","filter_id","desc","onClickCall","handlerGetFilterById","subscriptDescription","subscriptLinkClass","subscriptLinkValue","onClickSubscriptCall","handlerRemoveCustomFilter","children","option","dataFetchedCallback","handlerSaveCustomFilter","attr","parentId","parentIdx","_children","beforeCreate","$props","Mailverteiler","AusweisStatus","QuickLinks","mobile","hideCollapse","collapseOpen","showCollapse","Adresse","withZustelladresse","Kontakt","ProfilEmails","RoleInformation","getLinkGruppeListe","gruppe","getLinkVerbandListe","getLinkSemesterListe","ApiProfil","profilViewData","Upload","DmsItem","preview","multiple","inputClass","noList","disabled","stringifyFile","lastModified","lastModifiedDate","addFiles","files","dt","DataTransfer","doubles","removeFile","fileToRemove","upload","dmsFile","ApiProfilUpdate","updateProfilbild","getProfilUpdateWithPermission","ImageUpload","dmsData","Dms","updateID","uploadImage","ProfilInformation","fotoStatus","FotoSperre","foto_sperre","imageUpload","sperre_foto_function","get_image_base64_src","foto","Vorname","Nachname","profilInfo","notIncludedProperties","EditProfilSelect","EditKontakt","originalValue","zustellKontakteCount","updateValue","checked","isChanged","getZustellkontakteCount","showZustellKontakteWarning","zustellung","kontakteOfSelectedType","kontakttyp","EditAdresse","AutoComplete","autocomplete","gemeinden","ortschaftnamen","selectedNation","nationenList","zustellAdressenCount","fileschanged","autocompleteSearchGemeinden","gemeinde","autocompleteSearchOrtschaftsnamen","ortschaft","getGemeinde","Set","ortschaftsname","updateFileID","getZustelladressenCount","deleteDmsData","showZustellAdressenWarning","zustelladresse","adresse_id","strasse","Status","getDocumentLink","dms_id","getComponentView","profilUpdateTopic","cardHeader","status_timestamp","TextInputDokument","withFiles","didFilesChange","didDataChange","emitChanges","toRaw","ariaLabel","breadcrumb","submit","select","breadcrumbItems","modal_topic","properties","addItem","anmerkung","deleteItem","profilUpdateEmit","updateOptions","Loading","state","clearTimeout","EditProfil","Loader","zustelladressenCount","zustellkontakteCount","editData","updateFileIDFunction","newFileID","handleFailedError","setLoading","submitProfilChange","fileData","uploadFiles","handleApiResponse","showFooter","FetchProfilUpdates","showUpdateModal","editProfilTitle","hideEditProfilModal","updateEditModal","showEditProfilModal","updateRequest","profilUpdateStates","deleteRequest","dateFilter","cell","onRendered","div","initialValue","getValue","PrimevueCalendar","calendar","dates","headerValue","rowValue","rowDate","startDate","endDate","setHours","toDateString","singleDate","StudentProfil","collapseIconBetriebsmittel","editDataFilter","preloadedPhrasen","zutrittsgruppen_table_options","persistenceID","zutrittsGruppenPhrase","betriebsmittel_table_options","responsiveLayoutCollapseUseFormatters","responsiveLayoutCollapseFormatter","$collapseFormatter","headerSort","headerClick","collapseFunction","entlehnteBetriebsmittelPhrase","inventarnummerPhrase","ausgabedatum","headerFilterFunc","formatterParams","datetimeFormatterParams","betriebsmittelTableBuilt","betriebsmittelTable","mittel","zutrittsgruppenTableBuilt","zutrittsgruppenTable","zuttritsgruppen","fetchProfilUpdates","profilUpdates","sortProfilUpdates","editModal","inputFormat","outputFormat","invalidPlaceholder","filteredEditData","profilInformation","Username","username","Anrede","anrede","Titel","Postnomen","postnomen","roleInformation","geburtsdatum","gebdatum","geburtsort","gebort","personenkennzeichen","loaded","newVal","MitarbeiterProfil","funktionen_table_options","bezeichnungPhrase","organisationseinheitPhrase","gueltigVonPhrase","gueltigBisPhrase","wochenstundenPhrase","Nummer","Ausgegeben_am","ausgabedatumPhrase","funktionenTableBuilt","funktionenTable","funktionen","setTableColumnTitles","getTelefonValue","standort_telefon","telefonklappe","telefon","office","ViewStudentProfil","personEmails","emails","ViewMitarbeiterProfil","collapseIconFunktionen","item2","innerHTML","Profil","notFoundUID","isEditable","editable","allClickableIcons","_column","cells","click","ele1","ele2","insertamum","reverse","load","profil_data","adressen","adressenArray","adresse","adr","kontakte","kontakteArray","kontant","kon","Personen_Informationen","Private_Kontakte","listview","Private_Adressen","loadingModalRef","oldVal","ApiOrt","Raumsuche","InputNumber","inputnumber","phrasenPromise","phrasenResolved","tabulatorUuid","tableBuiltResolve","tableBuiltPromise","roomtypes","defaultType","raumtyp_kurzbz","beschreibung","anzahl","selectedType","getHours","minutes","getMinutes","datepickerTextInputOptions","enterSubmit","tabSubmit","selectOnFocus","format","escClose","timepickerTextInputOptions","raumsucheTableOptions","widthGrow","linkFormatter","raumsucheTableEventHandlers","tableResolve","arialabel","roomPlanLink","room","roomInfoLink","getTimeString","setupData","nummer","planbezeichnung","personen","max_person","linkInfo","linkRes","raumsucheTable","loadRoomTypes","loadRooms","toISOString","handleUuidDefined","setRoute","dateFormat","getDate","getMonth","getFullYear","timeFormat","setupMounted","tableID","tableDataSet","visualViewport","setProperty","isDarkMode","Pagination","paginator","maxPageCount","newPageEvent","StudiengangPerson","telefoneklappe","email","displayWidget","formattedEmail","emailArray","fullname","phone","email_link","base64Image","profilViewLink","StudiengangVertretung","vertretungsList","showBezeichnung","vertretungFormatedName","vertretung","ApiStudiengang","StudiengangInformation","stg_ltg","gf_ltg","stv_ltg","ass","hochschulvertr","stdv","jahrgangsvertr","collection_array","returnData","moodleLink","studiengangInformationen","ApiCms","CmsNews","fetchNews","Axios","loadNewPageContent","raum_contentmittitel","imgContent","sanitizeLegacyTables","pElement","parentNode","replaceChild","u","li","scrollWidth","firstChild","TEXT_NODE","th","childNodes","cn","tables","getElementsByTagName","innerText","room_name","room_name_reg_exp","room_name_reg_exp_result","link_element","replaceWith","lvplanlinks","lvplanlink","img","DOMParser","parseFromString","imgAttributes","regexList","relative","priority","regex","replacement","group_replacement_strategy","absolute","relative_regex","replaceRelativeLegacyLink","relativeLegacyLink","new_link","query_parameter","prepareContent","new_href","CmsContent","news_content","iframe_content","srcUrl","iframe","content_type","content_id_internal","fetchContent","$nextTick","computeContentType","DEFAULT_MODE_RAUMINFO","RoomInformation","today","AbgabeStudentDetail","Checkbox","checkbox","Dropdown","dropdown","Textarea","textarea","projektarbeit","viewMode","eidAkzeptiert","enduploadTermin","allActiveLanguages","abstract","abstract_en","schlagwoerter","schlagwoerter_en","kontrollschlagwoerter","seitenanzahl","validate","triggerEndupload","bperson_id","handleUploadRes","modalContainerEnduploadZusatzdaten","downloadAbgabe","formatDate","dateParam","padZero","num","signaturInfo","dateDiffInDays","round","getDateStyle","abgabedatum","openBeurteilungLink","getOptionLabel","getEid","getEnduploadErlaubt","VerticalSplit","availHeight","topheight","bottomheight","mousePosY","vsplitter","vsplitterOffset","selfOffsetTop","calcHeights","trackVerticalSplitterOffsetTop","windowheight","innerHeight","oldavailHeight","verticalsplit","collapseTop","collapseBottom","showBoth","isCollapsed","dragStart","drag","topOrBottomClass","topheightcss","bottomheightcss","AbgabetoolStudent","AbgabeDetail","student_uid_prop","domain","projektarbeiten","selectedProjektarbeit","abgabeTableOptions","detailFormatter","beurteilungFormatter","centeredTextFormatter","mailFormatter","abgabeTableEventHandlers","getColumn","setDetailComponent","pdfExportLink","betreuerart_kurzbz","betreuer_person_id","isPastDate","loadAbgaben","pa","projekarbeit","abgabetermine","allowedToUpload","betreuer","buildBetreuer","buildMailToLink","abgabe","mitarbeiter_uid","betreuerart_beschreibung","btitelpre","bvorname","bnachname","btitelpost","projekt","babgeschickt","zweitbetreuer_abgeschickt","beurteilungLink","beurteilung","stg","kurzbzlang","mail","projekttypbezeichnung","abgabeTable","loadProjektarbeiten","calcMaxTableHeight","setHeight","isViewMode","AbgabeMitarbeiterDetail","oldPaBeurteilungLink","allAbgabeTypes","openZusatzdatenModal","saveTermin","allowedToSave","allowedToDelete","deleteTermin","deletedTerminIndex","fontColor","getOptionLabelSprache","getOptionLabelAbgabetyp","openStudentPage","openPlagiatcheck","openBenotung","getSemesterBenotbar","isCurrent","endUploadVorhanden","AbgabetoolMitarbeiter","saving","serienTermin","showAll","detailOffset","selectableCheck","selectionCheck","titleFormatter","titleFormatterParams","rowRange","hozAlign","pkzTextFormatter","undoSelection","getRow","isSelected","deselect","showDeadlines","toggleShowAll","showall","redraw","setSort","openAddSeriesModal","modalContainerAddSeries","addSeries","createInfoString","str","buildPKZ","matrikelnr","buildStg","pkz","projekttyp_kurzbz","callback","DeadlineOverview","person_uid_prop","fullName","deadlines","deadlineTableOptions","deadlineTableEventHandlers","loadDeadlines","dl","stud_titelpre","stud_vorname","stud_nachname","stud_titelpost","fixterminstring","deadlineTable","Studium","studienSemester","selectedStudiensemester","selectedStudiengang","studienOrdnung","selectedStudienordnung","selectedSemester","selectedLehrveranstaltung","studium_studiengang","studium_semester","studium_studienordnung","getDataFromLocalStorage","storeDataToLocalStorage","studienordnung","changeStudiensemester","changeSelectedStudienSemester","changeStudiengang","changeSelectedStudienGang","changeSemester","changeSelectedSemester","changeStudienordnung","newSelectIndex","changeSelectedStudienPlan","extractPropertyValues","studienplan_id","openLvUebersicht","lehrveranstaltung","sortStudienSemester","sem1","sem2","sem1Match","sem1Semester","sem1Year","sem2Match","sem2Semester","sem2Year","setHash","preselected","lv1","lv2","studienordnungTitel","orgform_bezeichnung","studiengangTitel","studiensemesterTitel","studiensemester_regex","selectedLehrveranstaltungTitel","lehrform_kurzbz","computedStudienOrdnung","carry","computedStudienOrdnungSelectValues","diabled","ApiRenderers","loadRenderers","ApiRouteInfo","ciPath","router","VueRouter","createRouter","history","createWebHistory","routes","redirect","route","charAt","beforeEnter","currentRoute","appSideMenuEntries","renderers","isMobile","test","navigator","userAgent","isInternalRoute","internalBase","origin","startsWith","handleClick","URL","pathname","matched","rendertype","modalTitle","modalContent","calendarEvent","defineAsyncComponent","calendarEventStyles","head","rel","isChromium","isFirefox","overflow","scrollbarWidth","getScrollbarWidth","setScrollbarWidth","$capitalize","string","directive","afterEach","failure","fullPath"],"mappings":"miBAEA,IAAAA,EAAe,CACdC,KAAM,iBACNC,KAAMA,KAAAA,CACLC,MAAO,KACPC,YAAY,IAEbC,MAAO,CACNC,SAAU,CACTC,KAAM,CAACC,QAAQC,QACfC,SAAS,EACTC,UAAUC,GACF,CAAC,UAAU,GAAM,GAAOC,SAASD,IAG1CE,MAAO,CACNP,KAAMC,QACNE,SAAS,GAEVK,SAAU,CACTR,KAAMC,QACNE,SAAS,GAEVM,WAAYR,QACZS,YAAa,CAACR,OAAOS,MAAMC,QAC3BC,YAAa,CACZb,KAAM,CAACE,OAAOS,MAAMC,QACpBT,QAAS,IAEVW,UAAW,CACVd,KAAM,CAACE,OAAOS,MAAMC,QACpBT,QAAS,aAEVY,YAAa,CACZf,KAAM,CAACE,OAAOS,MAAMC,QACpBT,QAAS,IAEVa,sBAAuB,CACtBhB,KAAMC,QACNE,SAAS,IAGXc,MAAO,CACN,cACA,gBACA,uBACA,cACA,gBAEDC,QAAS,CACRC,OAAAA,GACC,OAAOC,KAAKxB,MAAMuB,SACnB,EACAE,YAAAA,GACC,OAAOD,KAAKxB,MAAMyB,cACnB,EACAC,IAAAA,GACC,OAAOF,KAAKxB,MAAM0B,MACnB,EACAC,IAAAA,CAAKC,GACJ,OAAOJ,KAAKxB,MAAM2B,KAAKC,EACxB,EACAC,MAAAA,GACC,OAAOL,KAAKxB,MAAM6B,QACnB,EACAC,gBAAAA,GACCN,KAAKvB,YAAcuB,KAAKvB,UACzB,GAED8B,OAAAA,GACKP,KAAKQ,MAAMhC,QACdwB,KAAKxB,MAAQ,IAAIiC,UAAUC,MAAMV,KAAKQ,MAAMhC,MAAO,CAClDG,SAAUqB,KAAKrB,SACfQ,MAAOa,KAAKb,MACZC,SAAUY,KAAKZ,WAElB,EACAuB,KAAAA,CAAMC,EAAMC,EAASC,EAAOC,GAC3B,MAAM1C,EAAU2B,KACfgB,EAAQ,CAAA,OACIC,IAATL,IACHI,EAAMjC,QAAU,IAAM6B,QACTK,IAAVH,IACHE,EAAMF,MAAQ,IAAMA,QACNG,IAAXF,IACHC,EAAMD,OAAS,IAAMA,GAGtB,IAAIG,GAAmB,EAKvB,MAJuB,oBAAbC,WACTD,GAAmB,GAGb,IAAIE,QAAQ,CAACC,EAAQC,KAC3B,MAAMC,EAAWC,IAAIC,UAAU,CAC9BnD,KAAM,cACNoD,MAAKA,IACG,IAAMF,IAAIG,EAAEtD,EAAS,CAC3BuD,MAAO,UACHf,EACJgB,IAAK,QACL,oBAAqBN,EAASO,SAC3Bd,GAELT,OAAAA,GACCP,KAAKQ,MAAMhC,MAAM2B,MAElB,EACA4B,aAAAA,GACK/B,KAAKQ,MAAMhC,SACc,IAA5BwB,KAAKQ,MAAMhC,MAAMwD,OAAmBX,EAAQrB,KAAKQ,MAAMhC,MAAMwD,QAAUV,IACzE,EACAW,SAAAA,GACCC,EAAQC,cAAcC,YAAYF,EACnC,IAEKA,EAAUG,SAASC,cAAc,OAGnCpB,GACHK,EAASgB,IAAIpB,SAASqB,OAAOzD,QAAS,CAAC0D,OAAQ,CAACC,QAAS,QAI1DtB,QAAAC,UAAAsB,KAAA,WAAA,OAAAC,EAAA,GAAmCD,KAAME,IACxCtB,EAASgB,IAAIM,EAAQ9D,SACrBwC,EAASuB,MAAMZ,GACfG,SAASzB,KAAKmC,YAAYb,MAG7B,EACAc,SAAU,22CClIXC,EAAe,CACd3E,KAAM,iBACN4E,WAAY,CACX7E,WAED8E,OAAQ,CACP9E,GAEDK,MAAO,CACNY,YAAa,CACZV,KAAM,CAACE,OAAOS,MAAMC,QACpBT,QAAS,yBAQVqE,cAAeC,SACfC,gBAAiBD,SACjBE,uBAAwBF,SACxBG,cAAeH,SACfI,eAAgBJ,UAEjB9E,KAAMA,KAAAA,CACLyD,QAAQ,IAETzB,OAAAA,GACCP,KAAKxB,MAAQwB,KAAKQ,MAAMkD,eAAelF,KACxC,EACAmC,KAAAA,CAAMgD,EAAK9C,GACV,OAAOxC,EAAQsC,MAAMiD,KAAK5D,KAAnB3B,CAAyBsF,EAAK9C,EACtC,EACAmC,SAAU,uSClCXa,EAAe,CACdvF,KAAM,mBACN6E,OAAQ,CACPW,GAEDvF,KAAMA,KAAAA,CACLyD,QAAQ,IAETrB,KAAAA,CAAMgD,EAAK9C,GACV,OAAOiD,EAAQnD,MAAMiD,KAAK5D,KAAnB8D,CAAyBH,EAAK9C,EACtC,EACAmC,SAAU,iZCbXe,EAAe,CACdzF,KAAK,WACL4E,WAAY,CAAA,EAEZc,OAAQ,CAAA,EAERtF,MAAO,CACNuF,KAAMzE,OACN0E,OAAQrF,SAETgB,MAAO,CACN,YACA,UACA,YACA,cACA,WACA,UACA,WACA,OACA,aACA,YAEDtB,KAAIA,KACI,CACN4F,WAAY,GACZC,UAAU,IAGZC,SAAU,CAAA,EAEVvE,QAAS,CACRwE,kBAAAA,CAAmBC,GAElB,GADAvE,KAAKwE,MAAM,YAAaD,GACpBA,EAAIE,OAAOC,aAAa,eAC3B1E,KAAKmE,WAAaI,EAAIE,OAAOE,aAAa,mBACpC,CACN,IAAIC,EAASL,EAAIE,OAAOI,QAAQ,iBAE/B7E,KAAKmE,WADFS,EACeA,EAAOD,aAAa,eAEpB,EAEpB,CACD,EACAG,YAAAA,CAAaP,EAAKN,GACjB,IAAIE,EAAanE,KAAKmE,YAAcI,EAAIE,OAAOE,aAAa,eAC5D,GAAIR,EAAY,CAEf,GADAnE,KAAKoE,UAAW,EACE,QAAdD,EACH,OAAOnE,KAAKwE,MAAM,YAAaD,EAAKN,GAChC,GAAkB,UAAdE,EACR,OAAOnE,KAAKwE,MAAM,cAAeD,EAAKN,EACxC,CAED,EACAc,YAAAA,CAAaR,GACPvE,KAAKoE,WAEVpE,KAAKoE,UAAW,EAChBpE,KAAKwE,MAAM,WAAYD,GACxB,EACAS,UAAAA,CAAWC,GACVjF,KAAKwE,MAAM,aAAcS,GACzBjF,KAAKsE,mBAAmBW,GACxBjF,KAAK8E,aAAaG,EAAOjF,KAAKiE,KAC/B,EACAiB,SAAAA,CAAUD,GACNjF,KAAKoE,WACPa,EAAME,iBACNnF,KAAKwE,MAAM,WAAYS,GAEzB,GAGDjC,SAAU,ubCnEX,MAAMoC,EACLC,WAAAA,CAAYC,GACPA,EAAEA,GACLtF,KAAKsF,EAAIA,EAAEA,EACXtF,KAAK2B,EAAI2D,EAAE3D,EACX3B,KAAKzB,KAAO,IAAI+G,EAAE/G,MAClByB,KAAKuF,KAAO,IAAID,EAAEC,QAElBvF,KAAKsF,EAAIA,EACTtF,KAAK2B,EAAI,EACT3B,KAAKzB,KAAO,GACZyB,KAAKuF,KAAO,GAEd,CACAC,UAAAA,CAAWC,EAAGC,GACb,MAAMC,EAAID,EAAE1F,KAAKsF,EAAIG,EACrB,OAAQzF,KAAKuF,KAAKI,IAAuB,IAAjB3F,KAAKuF,KAAKI,EACnC,CACAC,OAAAA,GACC,OAAO5F,KAAKzB,KAAKsH,OAAO,CAACC,EAAK7B,KACzBA,GAAMyB,EAAII,IACZA,EAAM7B,EAAKyB,GAENI,GACL,EACJ,CACAC,YAAAA,GACC,MAAMC,EAAY,GAClB,IAAIC,EAAWjG,KAAK4F,UAChBM,EAAclG,KAAKsF,GAAKW,EAAS,GACrC,IAAI,IAAIN,EAAE,EAAGA,EAAIO,EAAaP,IACxB3F,KAAKuF,KAAKI,IAAuB,IAAjB3F,KAAKuF,KAAKI,KAC9B3F,KAAKuF,KAAKI,QAAK1E,GAGjB,IAAI,IAAI0E,EAAG,EAAGA,EAAI3F,KAAKuF,KAAKY,OAAQR,IACnC,IAAK3F,KAAKuF,KAAKI,IAAuB,IAAjB3F,KAAKuF,KAAKI,GAAS,CACvC,IAAIF,EAAIE,EAAI3F,KAAKsF,EACbI,EAAIU,KAAKC,MAAMV,EAAI3F,KAAKsF,GAC5BU,EAAUM,KAAK,CAACb,IAAGC,KACpB,CAED,OAAOM,CACR,CACAO,GAAAA,CAAItC,EAAMuC,GACT,IAAIC,EAAYzG,KAAK0G,gBAAgBzC,EAAK0C,OAC1C,IAAKF,EAAUN,OAId,OAHAlC,EAAK0C,MAAMC,QAAQC,GAAK7G,KAAKuF,KAAKsB,GAAK5C,EAAK6C,OAC5C9G,KAAKzB,KAAK0F,EAAK6C,OAAS7C,EACxBjE,KAAK2B,EAAIyE,KAAKW,IAAI/G,KAAK2B,EAAGsC,EAAKyB,EAAIzB,EAAKtC,GACjC,GACD,CACN,MAAMqF,EAAa,IAAI5B,EAAUpF,MAEjCiE,EAAK0C,MAAMC,QAAQC,GAAKG,EAAWzB,KAAKsB,OAExC,MAAMI,EAAeD,EAAWE,UAAUT,EAAWD,GACrD,GAAIS,EAAad,OAAQ,CACxB,MAAMgB,EAAaF,EAAaG,KAAK,CAACC,EAAEC,UACxBrG,IAAXoG,EAAEE,OACLF,EAAEE,KAAOF,EAAEG,MAAM3B,OAAO,CAACwB,EAAGI,IAAMJ,EAAII,EAAEF,KAAM,SAChCtG,IAAXqG,EAAEC,OACLD,EAAEC,KAAOD,EAAEE,MAAM3B,OAAO,CAACwB,EAAGI,IAAMJ,EAAII,EAAEF,KAAM,IACxCF,EAAEE,KAAOD,EAAEC,OAEbvF,EAAS,GAmBf,OAlBAmF,EAAW,GAAGK,MAAMZ,QAAQc,IAC3B,MAAMC,EAAW,IAAI3H,KAAKzB,KAAKmJ,EAAKZ,QACpCa,EAASlC,GAAKiC,EAAKjC,EACnBkC,EAASjC,GAAKgC,EAAKhC,EACnBiC,EAAShB,MAAQ3G,KAAK4H,aAAaD,GACnC3H,KAAK2B,EAAIyE,KAAKW,IAAI/G,KAAK2B,EAAGgG,EAASjC,EAAIiC,EAAShG,GAChD3B,KAAK6H,OAAOF,GACZA,EAAShB,MAAMC,QAAQC,GAAK7G,KAAKuF,KAAKsB,GAAKc,EAASb,OACpD9G,KAAKzB,KAAKmJ,EAAKZ,OAASa,EACxB3F,EAAO0F,EAAKZ,OAAS,CACpBA,MAAOa,EAASb,MAChBrB,EAAGkC,EAASlC,EACZC,EAAGiC,EAASjC,KAGdzB,EAAK0C,MAAMC,QAAQC,GAAK7G,KAAKuF,KAAKsB,GAAK5C,EAAK6C,OAC5C9G,KAAKzB,KAAK0F,EAAK6C,OAAS7C,EAEjBjC,CACR,CACC8F,QAAQC,MAAM,QAAS,6BAEzB,CACD,CACAL,IAAAA,CAAKzD,EAAMwB,EAAGC,GACb,GAAIzB,EAAK1F,KAAKyJ,MAAMhI,KAAKsF,IAAI2C,OAC5B,MAAO,GACR,GAAIhE,EAAKwB,GAAKA,GAAKxB,EAAKyB,GAAKA,EAC5B,MAAO,GAIR,IAAIc,EAFJxG,KAAK6H,OAAO5D,GAGRA,EAAKwB,GAAKA,EAEZe,EADGd,EAAEzB,EAAKyB,EAAI,EAzGH,EAGE,EA0GJzB,EAAKyB,GAAKA,IAEnBc,EADGf,EAAExB,EAAKwB,EAAI,EA7GD,EACC,GAkHhB,MAAMyC,EAAgB3I,MAAM4I,QAAQlE,EAAK0C,OAAS,IAAI1C,EAAK0C,OAAS,CAAC1C,EAAK0C,OAEpEgB,EAAW,IAAI1D,GACrB0D,EAASlC,EAAIA,EACbkC,EAASjC,EAAIA,EACbiC,EAAShB,MAAQ3G,KAAK4H,aAAaD,GACnC,IAAIlB,EAAYzG,KAAK0G,gBAAgBiB,EAAShB,OAG9C,GAAIF,EAAU2B,KAAKzB,GAAS3G,KAAKzB,KAAKoI,IAAQpI,KAAKyJ,MAAMhI,KAAKsF,IAAI2C,QACjE,MAAO,GAIR,IAAII,EAAgB5B,EAAU6B,IAAIC,GAAYvI,KAAKzB,KAAKgK,IACpDC,EAAiBH,EAAcC,IAAIC,GAAYA,EAAS5B,OAAO8B,OACnE,IAAKD,EAAeJ,KAAKzB,IAAUgB,EAAShB,MAAMzH,SAASyH,MAAY6B,EAAeJ,KAAKzB,GAASuB,EAAchJ,SAASyH,IAAQ,CAClI,IAAI+B,EAAgB,GAChBC,EAAoB,GACxB,IAAI,IAAI9B,KAAKqB,EAAc,CAC1B,GAAGS,EAAkBzJ,SAAS2H,GAC7B,SAED,IAAI+B,EAAMP,EAAcQ,QACrBD,IACFD,EAAoB,IAAIA,KAAsB3I,KAAK4H,aAAa,IAAKgB,KAAQ5I,KAAK8I,uBAAuBjC,MACzG6B,EAAcE,EAAI9B,OAAS,CAAEA,MAAO8B,EAAI9B,SAAU9G,KAAK8I,uBAAuBjC,IAEhF,CAGA,OAFA6B,EAAczE,EAAK6C,OAAS,CAAEA,MAAO7C,EAAK6C,MAAOrB,IAAGC,KAE7CgD,CACR,CAEA,MAAMK,EAAU/I,KAAKuG,IAAIoB,EAAUnB,GAEnC,OADAuC,EAAQ9E,EAAK6C,OAAS,CAACA,MAAO7C,EAAK6C,MAAOrB,IAAGC,KACtCqD,CACR,CACAC,MAAAA,CAAO/E,EAAMqB,EAAG3D,GACf,GAAIsC,EAAKqB,GAAKA,GAAKrB,EAAKtC,GAAKA,EAC5B,MAAO,GACR3B,KAAK6H,OAAO5D,GAEZ,MAAM0D,EAAW,IAAI1D,GACrB0D,EAASrC,EAAIA,EACbqC,EAAShG,EAAIA,EACbgG,EAAShB,MAAQ3G,KAAK4H,aAAaD,GAEnC,MAAMoB,EAAU/I,KAAKuG,IAAIoB,GAIzB,OAHGoB,IACFA,EAAQ9E,EAAK6C,OAAS,CAACA,MAAO7C,EAAK6C,MAAOxB,IAAG3D,IAAG8D,EAAExB,EAAKwB,EAAGC,EAAEzB,EAAKyB,EAAGsD,QAAO,IAErED,CACR,CACA7B,SAAAA,CAAUJ,EAAON,GAChB,GAAIjH,MAAM4I,QAAQrB,GAAQ,CACzBA,EAAMF,QAAQjB,GAAK3F,KAAK6H,OAAO,CAACf,MAAMnB,KACtC,IAAIsB,EAAe,CAAC,CAAC1B,KAAMvF,KAAMwH,MAAO,KAYxC,OAXAV,EAAMF,QAAQjB,IACb,IAAIsD,EAAU,GACdhC,EAAaL,QAAQsC,IACpBA,EAAW3D,KAAK2B,UAAUvB,EAAGa,GAAQI,QAAQuC,IAC5CD,EAAW1B,MACX2B,EAAE3B,MAAQ,IAAI2B,EAAE3B,SAAU0B,EAAW1B,OACrCyB,EAAQ3C,KAAK6C,OAGflC,EAAegC,IAEThC,CACR,CACA,MAAMmC,EAAa,CA3LN,EAGE,EAFA,EACC,GA2LhBpJ,KAAK6H,OAAO,CAACf,UAEb,MAAMuC,EAAS,EAAI,IAAIrJ,KAAKzB,KAAKuI,GAAOuC,QAAU,GAElD,OAAOD,EAAWvD,OAAO,CAAC7D,EAAQsH,KACjC,IAAIC,EAAMvJ,KAAKwJ,qBAAqBF,EAAKxC,EAAO,GAAIN,IAAW8C,EAAM,GAAK,EAAQ,GAAJA,GAAUD,GACxF,OAAKE,EAEE,IAAIvH,KAAWuH,GADdvH,GAEN,IAAIyH,OAAON,GAAKA,EACpB,CACAK,oBAAAA,CAAqBF,EAAKxC,EAAO4C,EAAQnC,GACxC,MAAMG,EAAO,CAACZ,QAAOrB,EAAE,EAAGC,EAAG,EAAG6B,KAAMA,GACtC,IAAIoC,EACJ,OAAOL,GACN,KA5MY,EA6MX,GAAItJ,KAAKzB,KAAKuI,GAAOvI,MAAMyJ,MAAMhI,KAAKsF,IAAI2C,QAAUjI,KAAKzB,KAAKuI,GAAOpB,EAAIgE,EAAS,EACjF,OAAO,EACRC,EAAc3J,KAAKzB,KAAKuI,GAAOH,MAAM2B,IAAI3C,GAAKA,EAAE3F,KAAKsF,EAAEoE,GACvDhC,EAAKhC,GAAKgE,EACV,MACD,KA/Mc,EAgNb,GAAI1J,KAAKzB,KAAKuI,GAAOvI,MAAMyJ,MAAMhI,KAAKsF,IAAI2C,OACzC,OAAO,EACJjI,KAAKzB,KAAKuI,GAAOpB,EAAI1F,KAAKzB,KAAKuI,GAAOnF,EAAI+H,EAAS1J,KAAK2B,IAC3D4F,GAAQ,IACToC,EAAc3J,KAAKzB,KAAKuI,GAAOH,MAAM2B,IAAI3C,GAAKA,EAAE3F,KAAKsF,EAAEoE,GACvDhC,EAAKhC,EAAIgE,EACT,MACD,KAzNc,EA0Nb,GAAI1J,KAAKzB,KAAKuI,GAAOvI,MAAMyJ,MAAMhI,KAAKsF,IAAI2C,QAAUjI,KAAKzB,KAAKuI,GAAOrB,EAAIiE,EAAS,EACjF,OAAO,EACRC,EAAc3J,KAAKzB,KAAKuI,GAAOH,MAAM2B,IAAI3C,GAAKA,EAAE+D,GAChDhC,EAAKjC,GAAKiE,EACV,MACD,KA9Ne,EA+Nd,GAAI1J,KAAKzB,KAAKuI,GAAOvI,MAAMyJ,MAAMhI,KAAKsF,IAAI2C,QAAUjI,KAAKzB,KAAKuI,GAAOrB,EAAIzF,KAAKzB,KAAKuI,GAAOxB,EAAIoE,EAAS1J,KAAKsF,EAC3G,OAAO,EACRqE,EAAc3J,KAAKzB,KAAKuI,GAAOH,MAAM2B,IAAI3C,GAAKA,EAAE+D,GAChDhC,EAAKjC,EAAIiE,EAIX,MAAMjD,EAAYzG,KAAK0G,gBAAgBiD,GACvC,GAAIlD,EAAUvH,UAAS,GACtB,OAAOc,KAAKwJ,qBAAqBF,EAAKxC,EAAO4C,EAAO,EAAGnC,GAGxD,MAAMP,EAAa,IAAI5B,EAAUpF,MAGjC,GAFA2J,EAAY/C,QAAQC,GAAKG,EAAWzB,KAAKsB,QAEpCJ,EAAUN,OACd,MAAO,CAAC,CAACZ,KAAMyB,EAAYQ,MAAO,CAACE,KAEpC,MAAMT,EAAeD,EAAWE,UAAUT,GAAW6B,IAAIY,GAAcA,EAAW1B,MAAMoC,QAAQlC,IAASwB,GACzG,QAAOjC,EAAad,QAASc,CAC9B,CACA4C,YAAAA,GACC7J,KAAKzB,KAAKqI,QAAQ3C,GAAQA,EAAKoF,YAASpI,EACzC,CACAyF,eAAAA,CAAgBC,GACf,OAAOA,EAAM2B,IAAI3C,GAAK3F,KAAKuF,KAAKI,IAAI8D,OAAO,CAAChC,EAAE9B,EAAE0B,KAAOI,GAAW,IAANA,IAAYJ,EAAEyC,QAAQrC,KAAO9B,EAC1F,CACAkC,MAAAA,CAAO5D,GACNjE,KAAKuF,KAAOvF,KAAKuF,KAAK+C,IAAI3C,GAAKA,GAAK1B,EAAK6C,MAAQnB,OAAI1E,EACtD,CACA2G,YAAAA,CAAa3D,GACZ,MAAM0C,EAAQ,GACd,IAAK,IAAIhB,EAAI,EAAGA,EAAI1B,EAAKqB,EAAGK,IAC3B,IAAK,IAAIoE,EAAI,EAAGA,EAAI9F,EAAKtC,EAAGoI,IAC3BpD,EAAML,KAAKX,EAAI1B,EAAKwB,GAAKsE,EAAI9F,EAAKyB,GAAK1F,KAAKsF,GAC9C,OAAOqB,CACR,CACAmC,sBAAAA,CAAuBnC,GACtB,MAAO,CAAElB,EAAGkB,EAAQ3G,KAAKsF,EAAGI,EAAGU,KAAKC,MAAMM,EAAQ3G,KAAKsF,GACxD,CACA0E,KAAAA,GACC,OAAOhK,KAAKuF,IACb,ECnQD,IAAA0E,EAAe,CACd3L,KAAM,OACN4E,WAAY,CACXa,YAEDrF,MAAO,CACNwL,KAAMC,OACNC,MAAO7K,MACP8K,WAAY7K,OACZ8K,YAAajH,SACba,OAAQ,CACPtF,KAAMC,QACNE,SAAS,GAEVwL,kBAAmB,CAClB3L,KAAMuL,OACNpL,QAAS,GAEVyL,cAAc,CACb5L,KAAMC,QACNE,SAAS,IAGXc,MAAO,CACN,iBACA,UACA,aACA,cACA,wBAEDtB,KAAIA,KACI,CACNkH,GAAG,EACHC,GAAG,EACH+E,QAAQ,EACRC,QAAS,EACTC,KAzCe,EA0CfpF,KAAM,KACNqF,SAAU,KACVC,YAAa,GACbC,gBAAiB,KACjBC,qBAAsB,KACtBC,cAAe,CAAC,EAAE,GAClBC,YAAa,KACbC,YAAa,KACbC,eAAe,GACfC,aAAa,OAGfpH,OAAO,CACNqH,YAAa,CACZzM,KAAME,OACNC,QAAS,KAGXsF,SAAU,CACTiH,sBAAuB,CACtBC,GAAAA,GACC,OAAOvL,KAAKwK,aACb,EACAgB,GAAAA,CAAIvM,GACHe,KAAKwE,MAAM,uBAAwBvF,EACpC,GAEDwM,aAAAA,GACC,IAAIrB,EAAQ,CAAA,EAWZ,OAVApK,KAAKoK,MAAMxD,QAAQ3C,IAClB,GAAIjE,KAAKmL,eAAehF,OAAS,GAAKnG,KAAK0L,gBAAgBzH,GAAM,CAC/D,IAAI0H,EAAqB3L,KAAKmL,eAAe1B,OAAOmC,GAAUA,EAAOrN,KAAKsN,UAAY5H,EAAK4H,WAAWC,MAClGH,IACH1H,EAAKwB,EAAIkG,EAAmBlG,EAC5BxB,EAAKyB,EAAIiG,EAAmBjG,EAE/B,CACA0E,EAAM,IAAInG,EAAKwB,KAAKxB,EAAKyB,KAAOzB,IAE1BmG,CACR,EACA2B,kBAAAA,GACC,IAAIC,EAAe,GACfC,EAAUjM,KAAKkK,KACfgC,EAAWlM,KAAKmM,KAGhBC,EAAW,CAAA,EAEf,IAAK,IAAI1G,EAAI,EAAGA,EAAIwG,EAAUxG,IAC7B,IAAK,IAAID,EAAI,EAAGA,EAAIwG,EAASxG,IAAK,CAEjC,GAAIjG,OAAO6M,KAAKD,GAAUjG,QAAUiG,EAAS,IAAI3G,KAAKC,KACrD,SAED,IAAI4G,EAAetM,KAAKyL,cAAc,IAAIhG,KAAKC,KAC/C,GAAI4G,EAAc,CAEjB,IAEIC,EAAQ9G,EAFA6G,EAAahH,EAED,EACpBkH,EAAQ9G,EAFC4G,EAAa3K,EAED,EACzB,GAAG8D,GAAK8G,GAAS7G,GAAK8G,EACrB,IAAK,IAAIC,EAAa/G,EAAG+G,GAAcD,EAAOC,IAC7C,IAAK,IAAIC,EAAajH,EAAGiH,GAAcH,EAAOG,IACzCA,GAAcjH,GAAKgH,GAAc/G,IACpC0G,EAAS,IAAIM,KAAcD,MAAc,EAK9C,MAECT,EAAa1F,KAAK,CAAEb,EAAGA,EAAGC,EAAGA,EAAGJ,EAAG,EAAG3D,EAAG,EAAGgL,aAAa,EACxDpO,KAAM,CAAEqO,GAAI,eAAiB9N,OAAOkN,EAAa7F,QAAQ0G,SAAS,EAAG,OAExE,CAED,OAAOb,CACR,EACAc,4BAAAA,GACC,MAAO,IAAI9M,KAAK+M,eAAgB/M,KAAK+L,mBACtC,EACAI,IAAAA,GACC,OAAInM,KAAKsL,sBACAtL,KAAKuF,KAAQvF,KAAKuF,KAAK5D,EAAE,EAAK,EAEhC3B,KAAKuF,KAAOvF,KAAKuF,KAAK5D,EAAI,CAElC,EACAqL,SAAAA,GACC,MAAMC,EAAOjN,KAAKkE,OAASlE,KAAKuK,kBAAoB,EACpD,MAAO,CACN,sBAAuB,KAAKvK,KAAKmM,KAAOc,GAAQ,IAChD,qBAAsB,IAAIjN,KAAKkK,KAAO,IACtC,mCAAoC,QACpC,4BAA6B,OAC7B,iBAAkB,KAAOlK,KAAKmM,KAAOc,GAAMjN,KAAKkK,KAAO,IAEzD,EACAgD,YAAAA,GACC,OAAOlN,KAAKoK,MAAM9B,IACjB,CAACrE,EAAM6C,KACC,CACNA,MAAOA,EACPrB,EAAGxB,EAAKwB,EACRC,EAAGzB,EAAKyB,EACRJ,EAAGrB,EAAKqB,EACR3D,EAAGsC,EAAKtC,EACR0H,OAAQpF,EAAKoF,QAAU,EACvB9K,KAAM0F,IAIV,EACAkJ,cAAAA,GACC,OAAKnN,KAAK+K,qBAEH/K,KAAKkN,aAAa5E,IAAIrE,GACvBjE,KAAK+K,qBAAqB9G,EAAK6C,OAE7B,CACNA,MAAO7C,EAAK6C,MACZuC,OAAQpF,EAAKoF,OACb9K,KAAM0F,EAAK1F,KACXkH,OAA+CxE,IAA5CjB,KAAK+K,qBAAqB9G,EAAK6C,OAAOrB,EAAkBxB,EAAKwB,EAAIzF,KAAK+K,qBAAqB9G,EAAK6C,OAAOrB,EAC1GC,OAA+CzE,IAA5CjB,KAAK+K,qBAAqB9G,EAAK6C,OAAOpB,EAAkBzB,EAAKyB,EAAI1F,KAAK+K,qBAAqB9G,EAAK6C,OAAOpB,EAC1GJ,OAA+CrE,IAA5CjB,KAAK+K,qBAAqB9G,EAAK6C,OAAOxB,EAAkBrB,EAAKqB,EAAItF,KAAK+K,qBAAqB9G,EAAK6C,OAAOxB,EAC1G3D,OAA+CV,IAA5CjB,KAAK+K,qBAAqB9G,EAAK6C,OAAOnF,EAAkBsC,EAAKtC,EAAI3B,KAAK+K,qBAAqB9G,EAAK6C,OAAOnF,GARnGsC,GAHDjE,KAAKkN,YAcd,EACAH,WAAAA,GACC,IAAK/M,KAAK8K,gBACT,OAAO9K,KAAKmN,eACb,IAAIC,EAAmBpN,KAAKmN,eAAe7E,IAAIrE,IAC9C,IAAKjE,KAAK8K,gBAAgB7G,EAAK6C,OAC9B,OAAO7C,EACR,IAAIoJ,EAAcrN,KAAK8K,gBAAgB7G,EAAK6C,QAAQnF,EAAIsC,EAAKtC,EACzD2L,EAAatN,KAAK8K,gBAAgB7G,EAAK6C,QAAQxB,EAAIrB,EAAKqB,EAC5D,MAAO,CACN0D,OAAQhJ,KAAK8K,gBAAgB7G,EAAK6C,QAAQkC,OAC1ClC,MAAO7C,EAAK6C,MACZuC,OAAQpF,EAAKoF,OACb9K,KAAM0F,EAAK1F,KACXkH,OAA0CxE,IAAvCjB,KAAK8K,gBAAgB7G,EAAK6C,OAAOrB,EAAkBxB,EAAKwB,EAAIzF,KAAK8K,gBAAgB7G,EAAK6C,OAAOrB,EAChGC,OAA0CzE,IAAvCjB,KAAK8K,gBAAgB7G,EAAK6C,OAAOpB,EAAkBzB,EAAKyB,EAAI1F,KAAK8K,gBAAgB7G,EAAK6C,OAAOpB,EAChGJ,EAAGgI,EAAW,QAAgDrM,IAAvCjB,KAAK8K,gBAAgB7G,EAAK6C,OAAOxB,EAAxCrB,EAAKqB,EAA8DtF,KAAK8K,gBAAgB7G,EAAK6C,OAAOxB,EACpH3D,EAAG0L,EAAc,QAAiDpM,IAAvCjB,KAAK8K,gBAAgB7G,EAAK6C,OAAOnF,EAAxCsC,EAAKtC,EAA8D3B,KAAK8K,gBAAgB7G,EAAK6C,OAAOnF,KAKtH4L,EAAuB,GAa3B,OAZAH,EAAkBxG,QAAQ3C,IACzB,GAAGA,EAAK+E,OAAO,CACd,IAAIwE,EAAU,IACVvJ,EACHqB,OAAyCrE,IAAvCjB,KAAK8K,gBAAgB7G,EAAK6C,OAAOxB,EAAkBrB,EAAKqB,EAAItF,KAAK8K,gBAAgB7G,EAAK6C,OAAOxB,EAC/F3D,OAAyCV,IAAvCjB,KAAK8K,gBAAgB7G,EAAK6C,OAAOnF,EAAkBsC,EAAKtC,EAAI3B,KAAK8K,gBAAgB7G,EAAK6C,OAAOnF,EAC/F8L,eAAc,EACdC,OAAM,GAEPH,EAAqBjH,KAAKkH,EAC3B,IAEM,IAAIJ,KAAsBG,EAClC,EACAI,kBAAAA,GACC,SAAK3N,KAAKkE,SAAWlE,KAAKuF,MAnNX,GAmNmBvF,KAAK2K,MAAqB3K,KAAKyF,EAAI,GAAKzF,KAAK0F,EAAI,GAAK1F,KAAKyF,GAAKzF,KAAKkK,MAAQlK,KAAK0F,GAAK1F,KAAKmM,OAEvHnM,KAAKuF,KAAKC,WAAWxF,KAAKyF,EAAGzF,KAAK0F,EAC1C,EACAkI,WAAAA,GACC,GAAK5N,KAAK6N,aAEV,OAAO7N,KAAK6N,aAAahI,OAAO,CAACC,EAAKgI,KACrChI,EAAIgI,EAAIC,WAAYD,EACbhI,GACL,CAAA,EACJ,GAEDkI,MAAO,CACN9J,MAAAA,CAAOA,GACDA,GACJlE,KAAKiO,YACP,EACA/D,IAAAA,GACClK,KAAKiO,YACN,EACG9B,KAAM,CACR+B,OAAAA,CAAQjP,GACPe,KAAKwE,MAAM,aAAcvF,EAC1B,EACAkP,WAAW,GAEZjB,aAAc,CACbgB,OAAAA,CAAQjP,GACPe,KAAKiO,aAEL,MAAMG,EAAUpO,KAAKqO,cAAcpP,GAEnCe,KAAK+K,qBAAuBqD,EACxBA,EAAQjI,QACXnG,KAAKwE,MAAM,iBAAkB4J,EAAQ3E,OAAOhC,GAAKA,GACnD,EACA0G,WAAW,EACXG,MAAM,IAGRxO,QAAS,CACR4L,eAAAA,CAAgBzH,GACf,OAAKA,GAAM1F,MAAMyJ,MAAMhI,KAAKkK,KAI7B,EACAqE,wBAAAA,CAAyBC,GACpBxO,KAAKkL,cAENsD,EACFxO,KAAKkL,YAAYuD,kBAAkBC,UAAUnI,IAAI,0BAEjDvG,KAAKkL,YAAYuD,kBAAkBC,UAAU7G,OAAO,0BAEtD,EACAzD,QAAAA,CAASa,GACR,GA5Qe,GA4QZjF,KAAK2K,KAAkB,CACzB3K,KAAKuO,0BAAyB,GAE9B,MAAMI,EAAgB3O,KAAKQ,MAAMoO,UAAUC,wBACrCC,EAAmB9O,KAAKoL,aAAayD,wBAE3C,IAAIE,EAAa/O,KAAK0K,QAAU,GAC5BsE,EAAchP,KAAKyK,QAAU,GAEjC,MAAMwE,EAAS,EACTC,EAASP,EAAcQ,OAASL,EAAiBK,OACjDC,EAAU,EACVC,EAAUV,EAAcW,MAAQR,EAAiBQ,MAEjDC,EAAiBnJ,KAAKW,IAAIkI,EAAQ7I,KAAKoJ,IAAIN,EAAQH,IACnDU,EAAkBrJ,KAAKW,IAAIqI,EAAShJ,KAAKoJ,IAAIH,EAASL,IAE5DhP,KAAKoL,aAAasE,MAAMC,IAAM,GAAGJ,MACjCvP,KAAKoL,aAAasE,MAAME,KAAO,GAAGH,KACnC,CACD,EACApB,aAAAA,CAAcjE,GACbpK,KAAKuF,KAAO,IAAIH,EAAUpF,KAAKkK,MAC/B,MAAMlI,EAAS,GACf,IAAI6N,EAAc,IAAIzF,GAAOhD,KAAK,CAACC,EAAGC,IAClCtH,KAAK0L,gBAAgBrE,IAAMrH,KAAK0L,gBAAgBpE,GAC3C,EAEAtH,KAAK0L,gBAAgBrE,GACrB,IAEArH,KAAK0L,gBAAgBpE,IACrB,IAGDD,EAAEgC,OAAS/B,EAAE+B,QAEjB8B,EAAiB,GA0CrB,OAzCA0E,EAAYjJ,QAAQ3C,IACnB,IAAI+B,EAAYhG,KAAKuF,KAAKQ,eAE1B,GAAG/F,KAAK0L,gBAAgBzH,GAAM,CAC7B,IAAI6L,EAAgB9J,EAAU6C,QACzBiH,GAIJ7L,EAAKwB,EAAIqK,EAAcrK,EACvBxB,EAAKyB,EAAIoK,EAAcpK,IAJvBzB,EAAKwB,EAAI,EACTxB,EAAKyB,EAAI1F,KAAKuF,KAAK5D,GAKpBwJ,EAAe7E,KAAKrC,EAErB,CACA,GAAIA,EAAKwB,EAAIxB,EAAKqB,EAAItF,KAAKkK,KAAM,CAChC,IACC6F,EADGC,EAAUhQ,KAAKkK,KAAKjG,EAAKwB,EAEzBzF,KAAKsK,eACP0F,GAAWhQ,KAAKsK,YAAYrG,EAAK1F,KAAMyR,EAAS/L,EAAKtC,IAEnDqO,EAAU,IACbA,EAAU,GACPA,EAAUhQ,KAAKkK,OAClB8F,EAAUhQ,KAAKkK,MACZjG,EAAKwB,EAAIuK,EAAUhQ,KAAKkK,OAC3B6F,EAAU/P,KAAKkK,KAAO8F,GAEnBA,GAAW/L,EAAKqB,IACnB0K,OAAU/O,GACXe,EAAOiC,EAAK6C,OAAS,CACpB7C,KAAMA,EAAK1F,KACXkH,EAAGsK,EACHzK,EAAG0K,EAEL,CACA/L,EAAK0C,MAAQ3G,KAAKuF,KAAKqC,aAAa3D,GACpCjE,KAAKiQ,0BAA0BjQ,KAAKuF,KAAKgB,IAAItC,GAAOjC,EAAQoI,KAE7DpK,KAAKmL,eAAiBA,EACtBnL,KAAKuF,KAAKsE,eACH7H,CACR,EACAiO,yBAAAA,CAA0BC,EAAOC,EAAQC,GAEnCF,IAEAE,IACJA,EAAYpQ,KAAKkN,cAClBgD,EAAMtJ,QAAQ3C,IACb,IAAIjC,EAAS,CACZiC,KAAMmM,EAAUnM,EAAK6C,OAAOvI,WAEd0C,IAAXgD,EAAKwB,IACRzD,EAAOyD,EAAIxB,EAAKwB,QACFxE,IAAXgD,EAAKyB,IACR1D,EAAO0D,EAAIzB,EAAKyB,QACFzE,IAAXgD,EAAKqB,IACRtD,EAAOsD,EAAIrB,EAAKqB,QACFrE,IAAXgD,EAAKtC,IACRK,EAAOL,EAAIsC,EAAKtC,GACjBwO,EAAOlM,EAAK6C,OAAS9E,IAEvB,EACAqO,UAAAA,GACC,EAMDC,YAAAA,CAAa/L,GACZ,IAAKvE,KAAKkE,OAET,OADAlE,KAAKyF,EAAIzF,KAAK0F,GAAI,GACX,EAER,MAAMuH,EAAOjN,KAAKkE,OAASlE,KAAKuK,kBAAoB,EAC9CgG,EAAOvQ,KAAKQ,MAAMoO,UAAUC,wBAE7BtK,EAAIkG,SAAYlG,EAAImG,UAAWnG,EAAIiM,UACvCjM,EAAIkG,QAAUlG,EAAIiM,QAAQ,GAAG/F,QAC7BlG,EAAImG,QAAUnG,EAAIiM,QAAQ,GAAG9F,SAG9B1K,KAAKyK,QAAWlG,EAAIkG,QAAU8F,EAAKX,KACnC5P,KAAK0K,QAAWnG,EAAImG,QAAU6F,EAAKZ,IACnC,MAAMc,EAAQrK,KAAKC,MAAMrG,KAAKkK,MAAQ3F,EAAIkG,QAAU8F,EAAKX,MAAQ5P,KAAKQ,MAAMoO,UAAU8B,aAChFC,EAAQvK,KAAKC,OAAOrG,KAAKmM,KAAOc,IAAS1I,EAAImG,QAAU6F,EAAKZ,KAAO3P,KAAKQ,MAAMoO,UAAUgC,cAE9F,OAAI5Q,KAAKyF,GAAKgL,GAASzQ,KAAK0F,GAAKiL,KAGjC3Q,KAAKyF,EAAIgL,EACTzQ,KAAK0F,EAAIiL,GAEF,EACR,EACAE,UAAAA,CAAWtM,EAAKN,GACXM,EAAIuM,eACPvM,EAAIuM,aAAaC,aAAaxM,EAAIE,QAAQ,cAC1CF,EAAIuM,aAAaE,WAAa,OAC9BzM,EAAIuM,aAAaG,cAAgB,OAEnC,EACAC,SAAAA,CAAU3M,EAAKN,GAETjE,KAAKkE,SAGVlE,KAAK2K,KA/ZU,EAiaf3K,KAAKiL,YAAchH,EAEnBjE,KAAKwE,MAAM,cAAeP,GAE1BkN,WAAW,KACVnR,KAAKkL,YAAc3G,EAAIE,OAAOI,QAAQ,mBAGtC,IAAIuM,EAAQ7M,EAAIE,OAAOI,QAAQ,oBAAoBwM,WAAU,GAE7DD,EAAM1B,MAAMjN,OAAS,EACrB2O,EAAM1C,UAAUnI,IAAI,eACpBvG,KAAKQ,MAAMoO,UAAU7L,YAAYqO,GACZA,EAAME,cAAc,4BAC5B5B,MAAM6B,eAAe,WAClCvR,KAAKoL,aAAegG,GAClB,GAEHpR,KAAKgL,cAAgB,CAAC/G,EAAKwB,EAAIzF,KAAKyF,EAAGxB,EAAKyB,EAAI1F,KAAK0F,GACrD1F,KAAK6Q,WAAWtM,EAAKN,GACtB,EACAuN,WAAAA,CAAYjN,EAAKN,GACXjE,KAAKkE,SAEVlE,KAAK2K,KAxbY,EAybjB3K,KAAKiL,YAAchH,EACnBjE,KAAKwE,MAAM,cAAeP,GAC1BjE,KAAK6Q,WAAWtM,GACjB,EACAkN,QAAAA,CAASlN,GAKR,GAJKvE,KAAK0F,EAAI,EAAK1F,KAAKmM,OA/bT,GA+bkBnM,KAAK2K,MA9brB,GA8b0C3K,KAAK2K,OAC/D3K,KAAKiO,cAGDjO,KAAKkE,OACT,OAAOlE,KAAKiO,aAKb,GAJAjO,KAAK0R,6BApcY,GAqcd1R,KAAK2K,MACP3K,KAAK2R,gCAEF3R,KAAKsQ,aAAa/L,GACrB,OAAOvE,KAAK2K,MACX,KA3ca,EA2cG,CACfpG,EAAIY,iBACJnF,KAAK4K,SAAW,IAAIxF,EAAUpF,KAAKuF,MACnC,IAAIE,EAAIzF,KAAKyF,EAAIzF,KAAKgL,cAAc,GAChCtF,EAAI1F,KAAK0F,EAAI1F,KAAKgL,cAAc,GAChCvF,EAAI,GACPzF,KAAKgL,cAAc,IAAMvF,EACzBA,EAAI,GACMA,EAAIzF,KAAKiL,YAAY3F,EAAItF,KAAKkK,OACxClK,KAAKgL,cAAc,IAAMhL,KAAKkK,KAAOlK,KAAKiL,YAAY3F,EAAIG,EAC1DA,EAAIzF,KAAKkK,KAAOlK,KAAKiL,YAAY3F,GAE9BI,EAAI,IACP1F,KAAKgL,cAAc,IAAMtF,EACzBA,EAAI,GAEL1F,KAAK8K,gBAAiB9K,KAAK4K,SAASlD,KAAK1H,KAAKiL,YAAaxF,EAAGC,GAC9D,KACD,CACA,KA7de,EA6dG,CACjBnB,EAAIY,iBACJnF,KAAK4K,SAAW,IAAIxF,EAAUpF,KAAKuF,MACnC,IAAID,EAAIc,KAAKoJ,IAAIxP,KAAKkK,KAAOlK,KAAKiL,YAAYxF,EAAGW,KAAKW,IAAI,EAAG/G,KAAKyF,EAAIzF,KAAKiL,YAAYxF,EAAI,IACvF9D,EAAIyE,KAAKW,IAAI,EAAG/G,KAAK0F,EAAI1F,KAAKiL,YAAYvF,EAAI,GAC9C1F,KAAKsK,eACPhF,EAAG3D,GAAK3B,KAAKsK,YAAYtK,KAAKiL,YAAY1M,KAAM+G,EAAG3D,IACrD3B,KAAK8K,gBAAkB9K,KAAK4K,SAAS5B,OAAOhJ,KAAKiL,YAAa3F,EAAG3D,GACjE,KACD,EAGH,EACAsM,UAAAA,GACCjO,KAAK4R,qBACL5R,KAAKsL,uBAAwB,EAC7BtL,KAAKuO,0BAAyB,GAC9BvO,KAAK2K,KAhfU,EAiff3K,KAAK8K,gBAAkB,KACvB9K,KAAKgL,cAAgB,CAAC,EAAE,GACxBhL,KAAKiL,YAAc,KACnBjL,KAAKwE,MAAM,cAAc,MACzBxE,KAAKkL,YAAc,IAEpB,EACA2G,OAAAA,GAIC,GAHA7R,KAAK4R,qBACL5R,KAAKuO,0BAAyB,GA1ff,GA4fXvO,KAAK2K,KACR,OAGqBtI,SAASyP,eAAe9R,KAAKiL,YAAY1M,KAAKsN,UACpD6C,UAAU7G,OAAO,iBACjCtI,MAAMwS,KAAK1P,SAAS2P,uBAAuB,+BAA+BpL,QAAQkH,IACjFA,EAAIY,UAAU7G,OAAO,+BAMtB7H,KAAK2K,KAzgBU,EA0gBf,IAAIyD,EAAU,GACdpO,KAAKiQ,0BAA0BjQ,KAAK8K,gBAAiBsD,GACrDA,EAAUpO,KAAKiS,sBAAsB7D,GACjCA,EAAQjI,QACXnG,KAAKwE,MAAM,iBAAkB4J,EAAQ3E,OAAOhC,GAAKA,IAElDzH,KAAKiL,YAAc,KACnBjL,KAAKkL,YAAc,KACnBlL,KAAKwE,MAAM,cAAe,KAC3B,EACAyN,qBAAAA,CAAsB7D,GACrBA,EAAQxH,QAAQ,CAAC3C,EAAM6C,KACjB9G,KAAK+K,qBAAqBjE,GAG9B9G,KAAK+K,qBAAqBjE,GAAS,IAAI9G,KAAK+K,qBAAqBjE,MAAW7C,GAF5EjE,KAAK+K,qBAAqBjE,GAAS7C,IAIrC,IAAIiO,EAAoBlS,KAAKqO,cAAcrO,KAAKmN,gBAChD,OAAI+E,EAAkB/L,QAErB+L,EAAkBtL,QAAQ,CAAC3C,EAAM6C,IAAUsH,EAAQtH,GAAS7C,GACrDjE,KAAKiS,sBAAsB7D,IAE5BA,CACR,EACA+D,gBAAAA,GACCnS,KAAKsL,uBAAwB,EAC7BtL,KAAKwE,MAAM,UAAWxE,KAAKyF,EAAGzF,KAAK0F,EACpC,EACA0M,uBAAAA,CAAwB7N,GAviBR,GAwiBZvE,KAAK2K,MACP3K,KAAKsQ,aAAa/L,EAEpB,EACAmN,0BAAAA,GACC,IAAIW,EAAe,GACnB,OAAOrS,KAAK2K,MACX,KA7iBgB,EA8iBf,IAAK,IAAIlF,EAAIzF,KAAKiL,YAAYxF,EAAGA,GAAKzF,KAAKyF,EAAGA,IAC7C,IAAK,IAAIC,EAAI1F,KAAKiL,YAAYvF,EAAGA,GAAK1F,KAAK0F,EAAGA,IAC7C1F,KAAKoK,MAAMxD,QAAQ3C,IACdA,EAAKwB,GAAKA,GAAKxB,EAAKyB,GAAKA,GAC5B2M,EAAe/L,KAAKrC,KAKxB,MACD,KAzjBc,EA0jBboO,EAAiBrS,KAAKoK,MAAMX,OAAOxF,GAAMA,EAAKwB,GAAKzF,KAAKyF,GAAKxB,EAAKyB,GAAK1F,KAAK0F,GAI9EnG,MAAMwS,KAAK1P,SAAS2P,uBAAuB,+BAA+BpL,QAAQkH,IACjFA,EAAIY,UAAU7G,OAAO,+BAGtBwK,EAAezL,QAAQ3C,IACtB,GAAIA,EAAK+D,MAAMhI,KAAKkK,OAASjG,EAAK+D,MAAMhI,KAAKkK,MAAMjC,OAAQ,CAC1D,IACIqK,EADejQ,SAASyP,eAAe7N,EAAK4H,UACrByF,cAAc,mBACpCgB,EAAQ5D,UAAU6D,SAAS,8BAC/BD,EAAQ5D,UAAUnI,IAAI,4BAExB,GAEF,EACAoL,6BAAAA,GAEC,IAAIa,EAAmBxS,KAAKqK,WAAWrK,KAAKiL,YAAY1M,KAAKqN,QACzD6G,EAAsBD,EAAiBlD,MAAMvI,KAAOyL,EAAiBlD,MACrEoD,EAAsBF,EAAiBlD,MAAME,KAAOgD,EAAiBlD,MACrEqD,EAAuBH,EAAiBrD,OAAOpI,KAAOyL,EAAiBrD,OACvEyD,EAAuBJ,EAAiBrD,OAAOK,KAAOgD,EAAiBrD,OACvE0D,EAAkBxQ,SAASyP,eAAe9R,KAAKiL,YAAY1M,KAAKsN,UAEhEiH,EAAqB9S,KAAKyF,EAAIzF,KAAKiL,YAAYxF,EAAI,EACnDsN,EAAsB/S,KAAK0F,EAAI1F,KAAKiL,YAAYvF,EAAI,EAEtDoN,EAAqB,IAAMA,EAAqBL,GAC9CK,EAAqBJ,IAGvBK,EAAsB,IAAMA,EAAsBJ,GAChDI,EAAsBH,GAGzBC,EAAgBnE,UAAUnI,IAAI,iBAE9BsM,EAAgBnE,UAAU7G,OAAO,gBAEnC,EACA+J,kBAAAA,GACC,IAAIoB,EAAezT,MAAMwS,KAAK1P,SAAS2P,uBAAuB,gBAC9D,IAAK,IAAIrM,EAAI,EAAGA,EAAIqN,EAAa7M,OAAQR,IACxC3F,KAAKQ,MAAMoO,UAAUxM,YAAY4Q,EAAarN,GAEhD,EACAsN,SAAAA,GACCjT,KAAK2K,KA1mBgB,CA2mBtB,EACAuI,OAAAA,GACClT,KAAK2K,KAhnBU,CAinBhB,GAED3H,SAAU,8oDCxnBX,IAAImQ,EAAY,CAAA,EACZC,EAAmB,CAAA,EACnBC,EAASC,2BAA2BC,SAAWD,2BAA2BE,UAAY,oBAE1F,IAAAC,EAAe,CACdC,UAAU9G,GACFuG,EAAUvG,GAElB+G,WAAW/G,GACNuG,EAAUvG,GACNxL,QAAQC,QAAQ8R,EAAUvG,IAC9BwG,EAAiBxG,GACbwG,EAAiBxG,GACpByG,GAGLD,EAAiBxG,GAAM,IAAIxL,QAAQ,CAACC,EAASC,KAC5CsS,MAAMrI,IAAI8H,EAAQ,CAACQ,OAAO,CAACjH,QAAMjK,KAAK4G,IACrCA,EAAIhL,KAAKuV,OAAOC,UAAYC,KAAKC,MAAM1K,EAAIhL,KAAKuV,OAAOC,WACvDxK,EAAIhL,KAAKuV,OAAOpS,MAAQsS,KAAKC,MAAM1K,EAAIhL,KAAKuV,OAAOpS,OACnDyR,EAAUvG,GAAMrD,EAAIhL,KAAKuV,OACzBV,EAAiBxG,QAAM3L,EACvBI,EAAQ8R,EAAUvG,MAChBsH,MAAMnM,GAASzG,EAAOyG,EAAMoM,SAAS5V,KAAKuV,OAAO/L,UAE9CqL,EAAiBxG,IAXhBxL,QAAQE,OAAO,4DAaxB8S,OAAAA,CAAQC,GACPhB,EAASgB,CACV,GCvBD,IAAAC,EAAe,CACdhW,KAAM,OACN4E,WAAY,CACX7E,UACAkW,iBCVa,CACdhW,KAAIA,KACI,CAAA,GAIRuB,QAAQ,CACP0U,OAAAA,CAAQC,EAAGC,GACVD,EAAG/E,MAAMP,OAAS,IAClBsF,EAAG/E,MAAMP,OAASsF,EAAGE,aAAe,IACrC,EACAC,OAAAA,CAAQH,EAAGC,GACVD,EAAG/E,MAAMP,OAASsF,EAAGE,aAAe,KACpCF,EAAG/E,MAAMP,OAAS,GACnB,GAEDnM,SACQ,2HDLRzE,KAAMA,KAAAA,CACLsW,UAAW,GACXd,UAAW,KACXtP,QAAQ,EACRmH,OAAQ,KACRkJ,UAAW,CAAA,EACXC,WAAW,EACXC,WAAW,EACXC,WAAY,OAEbpV,MAAO,CACN,SACA,SACA,YACA,cACA,eACA,eACA,UACA,aAEDnB,MAAO,CACN,KACA,WACA,SACA,QACA,SACA,SACA,SACA,WACA,UACA,YACA,QACA,QACA,YACA,gBACA,iBAED2F,SAAU,CACT6Q,SAAAA,GACC,OAAOlV,KAAK0B,OAAOyN,QAAQpI,GAC5B,EACAoO,QAAAA,GACC,MAAyD,mBAArD3V,OAAO4V,UAAUC,SAASC,KAAKtV,KAAK0B,OAAO4N,OACvCtP,KAAK0B,OAAO4N,MAEbtP,KAAK0B,OAAO4N,OAAOvI,GAC3B,EACAwO,SAAAA,GACC,OAAOvV,KAAK0B,OAAOyN,QAAQK,GAC5B,EACAgG,QAAAA,GACC,OAAOxV,KAAK0B,OAAO4N,OAAOE,GAC3B,EACAiG,YAAAA,GACC,OAAOzV,KAAKmV,SAAU,GAAKnV,KAAKkV,UAAW,CAC5C,EACAQ,QAAAA,GACC,QAAO1V,KAAKgI,OAAOC,MACpB,EACA0N,KAAAA,GACC,OAAO3V,KAAK6U,WAAgC,OAAnB7U,KAAK+T,SAC/B,GAEDjU,QAAS,CACR8V,KAAAA,GAEC,IAAI5V,KAAK6V,SACR,OACD,IAAI7T,EAAS,CAAEiC,KAAMjE,KAAK8V,UAAWrQ,EAAGzF,KAAK8V,UAAUrQ,EAAGC,EAAG1F,KAAK8V,UAAUpQ,GAC5E1F,KAAKwE,MAAM,YAAa,CAACxC,GAC1B,EACA+T,OAAAA,GACC,IAAI/T,EAAS,CAAEiC,KAAMjE,KAAK8V,UAAWrQ,EAAGzF,KAAK8V,UAAUrQ,EAAGC,EAAG1F,KAAK8V,UAAUpQ,GAC5E1F,KAAKwE,MAAM,UAAU,CAACxC,GACvB,EACAgU,gBAAgBpK,GACP0H,2BAA2BC,SAClCD,2BAA2BE,UAAY5H,EAAOlK,MAAMuU,SAEtDC,iBAAAA,GACClW,KAAKwE,MAAM,eACZ,EACA2R,iBAAAA,GACCnW,KAAKwE,MAAM,eACZ,EACAyO,SAAAA,CAAUmD,GACTpW,KAAKyE,OAAS2R,EAAE3R,MACjB,EACA4R,SAAAA,CAAUD,GACLpW,KAAKQ,MAAM8V,WAAW/D,SAASvS,KAAKyE,QACvCzE,KAAKwE,MAAM,YAAa4R,GAExBpW,KAAKyV,cACLzV,KAAKQ,MAAM+V,aAAahE,SAASvS,KAAKyE,SAElCzE,KAAKyV,aAAczV,KAAKwE,MAAM,cAAe4R,GAGjDA,EAAEjR,gBAEJ,EACAqR,UAAAA,GACCxW,KAAK8U,UAAY,IAAK9U,KAAK+T,WAC3B/T,KAAKQ,MAAMgC,OAAOrC,MACnB,EACAsW,SAAAA,CAAUzB,GACThV,KAAKgV,UAAYA,CAClB,EACA0B,YAAAA,GACC1W,KAAK+U,WAAY,EACjB,IAAIvS,EAAS,IAAKxC,KAAK8U,WACvB9U,KAAK2W,iBAAiBnU,EACvB,EACAoU,oBAAAA,GACC,IAAIpU,EAAS,IAAKxC,KAAK+T,WACvB/T,KAAK2W,iBAAiBnU,EACvB,EACAmU,gBAAAA,CAAiBnU,GAChB,IAAK,IAAIqU,KAAKrU,EACTxC,KAAK4L,OAAOmI,UAAU8C,IAAMrU,EAAOqU,WAChCrU,EAAOqU,GAGf7W,KAAKwE,MAAM,SAAUhC,EACtB,GAEDwL,MAAO,CACNxL,MAAAA,GACCxC,KAAK+T,UAAY,IAAK/T,KAAK4L,QAAQmI,aAAc/T,KAAKwC,QACtDxC,KAAK8U,UAAY,IAAK9U,KAAK+T,WAC3B/T,KAAKQ,MAAMgC,QAAUxC,KAAKQ,MAAMgC,OAAOtC,OACvCF,KAAK+U,WAAY,CAClB,GAED,aAAM+B,GACL9W,KAAK4L,aAAe6H,EAAmBE,WAAW3T,KAAK4M,IACvD,IAAIiI,SAAmBkC,QEpJYC,EFoJehX,KAAK4L,OAAOlK,MAAMuV,KElJjD3D,2BAA2BC,SAC5CyD,EACA,IACA1D,2BAA2B4D,4BF+I+CnY,QEpJlD,IAASiY,EFqJnChX,KAAKmX,SAASjU,WAAW,SAAWlD,KAAK4L,OAAOmC,WAAa8G,EAC7D7U,KAAK6U,UAAY,SAAW7U,KAAK4L,OAAOmC,UACxC/N,KAAK+T,UAAY,IAAK/T,KAAK4L,OAAOmI,aAAc/T,KAAKwC,QACrDxC,KAAK8U,UAAY,IAAK9U,KAAK+T,UAC5B,EACA/Q,SAAmB,srKG1JpBoU,EAAe,CACd7Y,KAAIA,KACI,CAAA,GAIRG,MAAM,CACLkN,OAAO,CACNhN,KAAKY,OACL6X,UAAS,IAGXvX,QAAQ,CACPuU,KAAKiD,GACU,KAAVA,EAAI,GACAhE,2BAA2BC,SAAW+D,EACvCA,GAGTzX,MAAM,CAAC,UACPmD,SAAmB,gaCdpBuU,EAAe,CACdjZ,KAAM,UACN4E,WAAY,CACX+G,WACAqK,gBACA8C,cAEDpT,OAAQ,CACP6J,aAAa,CACZjP,KAAMW,MACNR,QAAS,IAEVyY,UAAW,CACV5Y,KAAMC,QACNE,SAAS,GAEV8W,SAAU,CACTjX,KAAMC,QACNE,SAAS,IAGXL,MAAO,CACN,OACA,WAEDmB,MAAO,CACN,YACA,eACA,gBAEDtB,KAAIA,KACI,CACNkZ,cAAc,EACdC,UAAW,EACXC,WAAY,KACZ1M,YAAY,KACZT,eAAc,IAGhBoN,OAAAA,GACC,MAAO,CACNC,iBAAkBrW,IAAI6C,SAAS,IAC9BrE,KAAK6X,kBAENxM,YAAa7J,IAAI6C,SAAS,IAAMrE,KAAK1B,MAEvC,EACA+F,SAAU,CACTyT,oBAAAA,GACC,OAAI9X,KAAK6N,aACF7N,KAAK6N,aAAahI,OAAO,CAACC,EAAKpE,KACrCoE,EAAIpE,EAAMqM,WAAarM,EAAMA,MACtBoE,GACN,CAAA,GAJ4B,CAAA,CAK/B,EACA+R,gBAAAA,GACC,OAAQ7X,KAAK6V,UAAY7V,KAAKwX,aAAexX,KAAKyX,YACnD,EACAM,gBAAeA,IACP,sBAER3N,KAAAA,GAsBC,OANkBpK,KAAKgY,QAAQ1P,IAAIrE,KAC9BA,GAAM4H,UAAY5H,GAAM2I,KAC3B3I,EAAK4H,SAAW5H,EAAK2I,IAEf,IAAK3I,EAAMgU,SAAS,KAAWhU,EAAK+D,MAAMhI,KAAK0X,YAAc,CAAEO,SAAS,EAAWxS,EAAG,EAAGC,EAAG,EAAGJ,EAAG,EAAG3D,EAAG,KAIjH,GAGD7B,QAAS,CACRoY,sBAAAA,GACC,OAAOlY,KAAK1B,MACX,IAAK,UAGL,IAAK,SACJ,OAAO0B,KAAKmY,GAAGC,EAAE,YAAYpY,KAAK1B,MAEnC,QACC,OAAO0B,KAAK1B,KAGf,EACA+Z,sBAAAA,GACC,MAAiB,WAAbrY,KAAK1B,KACD0B,KAAKmY,GAAGC,EAAE,YAAa,sCAEV,UAAbpY,KAAK1B,KACL0B,KAAKmY,GAAGC,EAAE,YAAa,qCAGvBpY,KAAKmY,GAAGC,EAAE,YAAa,8BAA+B,CAACpY,KAAK1B,MAErE,EACAga,kBAAAA,GACCtY,KAAKyX,cAAe,CACrB,EACAc,kBAAAA,GACCvY,KAAKyX,cAAe,CACrB,EACAe,gBAAAA,CAAiBvU,EAAMqB,EAAG3D,GAEzB,IAAIiK,EAAS6H,EAAmBC,UAAUzP,EAAK2H,QAC/C,GAAIA,EAAQ,CACX,IAAI6M,EAAU7M,EAAOlK,MAAM4N,MACvBmJ,EAAQ1R,IACX0R,EAAQjJ,IAAMiJ,EAAQjJ,KAAO,EAE7BiJ,EAAU,CAACjJ,IAAIiJ,EAAQ1R,IAAI0R,GACxBnT,EAAImT,EAAQjJ,MACflK,EAAImT,EAAQjJ,KACTlK,EAAImT,EAAQ1R,MACfzB,EAAImT,EAAQ1R,KAEb,IAAI2R,EAAU9M,EAAOlK,MAAMyN,OACvBuJ,EAAQ3R,IACX2R,EAAQlJ,IAAMkJ,EAAQlJ,KAAO,EAE7BkJ,EAAU,CAAClJ,IAAIkJ,EAAQ3R,IAAI2R,GACxB/W,EAAI+W,EAAQlJ,MACf7N,EAAI+W,EAAQlJ,KACT7N,EAAI+W,EAAQ3R,MACfpF,EAAI+W,EAAQ3R,IACd,CACA,MAAO,CAACzB,EAAG3D,EACZ,EACAgX,YAAAA,CAAa1U,EAAM2U,GAClB,GAAI3U,EAAK4U,OACRC,EAAUnY,MAAM,gDAAgDgC,KAAK,IAAM3C,KAAKwE,MAAM,eAAgBxE,KAAK1B,KAAM2F,EAAK2I,SAChH,CACN,IAAImM,EAAS,CAAA,EACbA,EAAO9U,EAAK2I,IAAM,CAAEoM,QAASJ,GAC7B5Y,KAAKiZ,aAAaF,EACnB,CACD,EACAG,UAAAA,CAAW1W,EAAQyB,GAClB,IAAIkV,EAAU,CAAA,EACdA,EAAQlV,EAAK2I,IAAM,CAAEpK,UACrBxC,KAAKiZ,aAAaE,EACnB,EACAC,eAAAA,CAAgBhL,EAASnG,GAAO,GAC/B,IAAIjG,EAAS,CAAA,EACboM,EAAQxH,QAAQmS,IAEf,IAAI9U,EAAO,IAAI8U,EAAO9U,MACjBA,EAAK0I,cACL1I,EAAK+D,MAAMhI,KAAK0X,aACpBzT,EAAK+D,MAAMhI,KAAK0X,WAAa,CAACjS,EAAG,EAAGC,EAAG,EAAGJ,EAAG,EAAG3D,EAAG,WAC7CsC,EAAKwB,SACLxB,EAAKyB,SACLzB,EAAKqB,SACLrB,EAAKtC,SACLsC,EAAK+D,MAAMhI,KAAK0X,WAAWzP,YACjBhH,IAAb8X,EAAOtT,IACVxB,EAAK+D,MAAMhI,KAAK0X,WAAWjS,EAAIsT,EAAOtT,QACtBxE,IAAb8X,EAAOrT,IACVzB,EAAK+D,MAAMhI,KAAK0X,WAAWhS,EAAIqT,EAAOrT,QACtBzE,IAAb8X,EAAOzT,IACVrB,EAAK+D,MAAMhI,KAAK0X,WAAWpS,EAAIyT,EAAOzT,QACtBrE,IAAb8X,EAAOpX,IACVsC,EAAK+D,MAAMhI,KAAK0X,WAAW/V,EAAIoX,EAAOpX,GACnCsG,IACHhE,EAAK+D,MAAMhI,KAAK0X,WAAWzP,QAAS,GAGrCjG,EAAOiC,EAAK2I,IAAM3I,KAGnBjE,KAAKiZ,aAAajX,EACnB,EACAiX,YAAAA,CAAaF,GACZ,IAAII,EAAU,CAAA,EACdA,EAAQnZ,KAAK1B,MAAQya,EACrB/Y,KAAKwE,MAAM,eAAgBxE,KAAK1B,KAAM6a,EACvC,GAED5Y,OAAAA,GACC,IAAI8Y,EAAOrZ,KACPsZ,EAAOD,EAAK7Y,MAAMoO,UACtByK,EAAK3B,UAAY6B,SAASC,OAAOC,iBAAiBH,GAAMI,iBAAiB,8BAEzEF,OAAOG,iBAAiB,SAAU,KACjCN,EAAK3B,UAAY6B,SAASC,OAAOC,iBAAiBH,GAAMI,iBAAiB,+BAE3E,EACA1W,SAAU,otEC/MX4W,EAAe,CACd1W,WAAY,CACX7E,UACA+Y,cAED1Y,MAAO,CACN,WAEDH,KAAMA,KAAAA,CACLsb,UAAW,CAAA,IAEZ/Z,QAAS,CACR4T,SAAAA,GACC,OAAO,IAAItS,QAAQ,CAACC,EAAQC,KAC3BtB,KAAK6Z,UAAY,CAACxY,UAAQC,UAC1BtB,KAAKQ,MAAMhC,MAAM2B,QAEnB,EACA2Z,KAAAA,GACK9Z,KAAK6Z,UAAUvY,QAClBtB,KAAK6Z,UAAUvY,SAChBtB,KAAK6Z,UAAY,CAAA,CAClB,EACAE,IAAAA,CAAKhM,GACA/N,KAAK6Z,UAAUxY,SAClBrB,KAAK6Z,UAAUxY,QAAQ0M,GACxB/N,KAAK6Z,UAAY,CAAA,EACjB7Z,KAAKQ,MAAMhC,MAAM0B,MAClB,GAGD8C,SAAU,+yBClCXgX,EAAe,CAQdC,SAAAA,IAAaC,GACZ,MAAMC,EAAWC,GAAOA,GAAsB,iBAARA,EAEtC,OAAOF,EAAQrU,OAAO,CAACwU,EAAMD,KAC5B5a,OAAO6M,KAAK+N,GAAKxT,QAAQ0T,IACxB,MAAMC,EAAOF,EAAKC,GACZE,EAAOJ,EAAIE,GAEb/a,MAAM4I,QAAQoS,IAAShb,MAAM4I,QAAQqS,GACxCH,EAAKC,GAAOC,EAAKE,UAAUD,GAEnBL,EAASI,IAASJ,EAASK,GACnCH,EAAKC,GAAOta,KAAKia,UAAUM,EAAMC,GAGjCH,EAAKC,GAAOE,IAIPH,GACL,CAAA,EACJ,GCZDK,EAAe,CACdC,YAAWA,KACH,CACNC,OAAQ,MACRC,IAAK,6CCfRC,EAAe,CACdxc,KAAM,YACN4E,WAAY,CACXqU,mBACAqC,yBAEDlb,MAAO,CACNqc,UAAW,CACVnc,KAAME,OACNuY,UAAU,EACVtY,QAAS,OAEVic,SAAU,CACTpc,KAAMY,OACN6X,UAAU,EACVrY,UAAUC,GACFA,GAASA,EAAMX,MAAQW,EAAMgc,KAAOhc,EAAMic,WAIpD3c,IAAAA,GACC,MAAO,CACN4c,SAAU,GACVnD,QAAS,KACTnC,UAAU,EACVuF,iBAAkBpb,KAAKgb,SAEzB,EACApD,OAAAA,GACC,MAAO,CACN/B,SAAUrU,IAAI6C,SAAS,IAAIrE,KAAK6V,UAChChI,aAAcrM,IAAI6C,SAAS,IAAMrE,KAAKgY,SACtCkD,SAAU1Z,IAAI6C,SAAS,IAAMrE,KAAKgb,SAASE,UAE7C,EACA7W,SAAU,CACTgX,OAAMA,IACE/H,2BAA2BC,SAAWD,2BAA2BE,UAAY,cAGtF1T,QAAS,CACRwb,SAAAA,CAAUC,EAAc3P,GACF,OAAjB5L,KAAKgY,SACRpE,MAAMrI,IAAIvL,KAAKqb,OAAS,iCAAkC,CAACxH,OAAO,CACjE2H,GAAIxb,KAAK+a,aACNpY,KAAK4G,IACRA,EAAIhL,KAAKuV,OAAOlN,QAAQgF,IACvBA,EAAOmI,UAAYC,KAAKC,MAAMrI,EAAOmI,WACrCnI,EAAOlK,MAAQsS,KAAKC,MAAMrI,EAAOlK,SAElC1B,KAAKgY,QAAUzO,EAAIhL,KAAKuV,SACtBI,MAAMuH,GAAO3T,QAAQC,MAAM,SAAU0T,IAEzCzb,KAAKQ,MAAMkb,aAAahI,YAAY/Q,KAAKoL,IACxCnC,EAAOA,OAASmC,EAChBnC,EAAOgB,GAAK,WAAa9N,QAAQ,IAAI6c,MAAQC,WAC7C,IAAIC,EAAU,IAAIjQ,GAClBiQ,EAAQA,SAAU,EAClB7b,KAAKmb,SAASvU,QAAQkV,IACjBA,EAAQxd,MAAQid,GACnBO,EAAQ9D,QAAQ1R,KAAKuV,KAGvBjI,MAAMmI,KAAK/b,KAAKqb,OAAS,mCAAoC,CAC5DG,GAAIxb,KAAK+a,UACTiB,gBAAiBT,EACjBvD,QAAS,CAACpM,KACRjJ,KAAKX,IACP,IAAIia,EAAQzc,OAAO6M,KAAKrK,EAAOzD,KAAKuV,OAAOvV,KAAKgd,GAAcvD,SAASlM,MACvEF,EAAOgB,GAAKqP,EACZjc,KAAKmb,SAASvU,QAAQkV,IACjBA,EAAQxd,MAAQid,IACnBO,EAAQ9D,QAAQkE,OAAOJ,EAAQ9D,QAAQlO,QAAQ+R,GAAS,GACxDC,EAAQ9D,QAAQ1R,KAAKsF,QAGrBsI,MAAMnM,IACRD,QAAQC,MAAM,UAAWA,GACzBoU,MAAM,UAAYpU,EAAMoM,SAAS5V,KAAKuV,YAErCI,MAAM,OACV,EACAkI,YAAAA,CAAab,EAAcpC,GAE1B,IAAK,IAAItC,KADTsC,EAAUA,EAAQoC,GACK,CACtB,IAAK,IAAI5V,KAAK3F,KAAKmb,SAClB,GAAInb,KAAKmb,SAASxV,GAAGrH,MAAQid,EAAc,CAC1C,IAAK,IAAIc,KAAOrc,KAAKmb,SAASxV,GAAGqS,QAChC,GAAIhY,KAAKmb,SAASxV,GAAGqS,QAAQqE,GAAKzP,IAAMiK,EAAG,CAG1C,IAAK,IAAIyF,KAFTnD,EAAQtC,GAAKmD,EAAYC,UAAUja,KAAKmb,SAASxV,GAAGqS,QAAQqE,GAAMlD,EAAQtC,IAEzD,CAAC0F,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAE5V,MAAM,EAAE8F,GAAG,EAAE+P,OAAO,GACrDxD,EAAQtC,GAAGyF,WACPnD,EAAQtC,GAAGyF,GACpB,KACD,CAED,KACD,CAEDnD,EAAQtC,GAAGhL,SAAWgL,CACvB,CACAjD,MAAMmI,KAAK/b,KAAKqb,OAAS,mCAAoC,CAC5DG,GAAIxb,KAAK+a,UACTiB,gBAAiBT,EACjBvD,QAASmB,IACPxW,KAAK,KACP3C,KAAKmb,SAASvU,QAAQkV,IACjBA,EAAQxd,MAAQid,GACnBO,EAAQ9D,QAAQpR,QAAQ,CAACgF,EAAQjG,KAC5BwT,EAAQvN,EAAOgB,MAClBuM,EAAQvN,EAAOgB,IAAIA,GAAKhB,EAAOgB,GAC/BuM,EAAQvN,EAAOgB,IAAI9F,MAAQ8E,EAAO9E,MAClCgV,EAAQ9D,QAAQrS,GAAKwT,EAAQvN,EAAOgB,WAKtCsH,MAAMnM,IAERD,QAAQC,MAAM,UAAWA,GACzBoU,MAAM,UAAYpU,EAAMoM,SAAS5V,KAAKuV,SAExC,EACA8I,YAAAA,CAAarB,EAAc3O,GAC1BgH,MAAMmI,KAAK/b,KAAKqb,OAAS,uCAAwC,CAChEG,GAAIxb,KAAK+a,UACTiB,gBAAiBT,EACjB1P,SAAUe,IACRjK,KAAK,KACP3C,KAAKmb,SAASvU,QAAQkV,IACjBA,EAAQxd,MAAQid,IACnBO,EAAQ9D,QAAU8D,EAAQ9D,QAAQvO,OAAOmC,GAAUA,EAAOgB,IAAMA,QAEhEsH,MAAMnM,IACRD,QAAQC,MAAM,UAAWA,GACzBoU,MAAM,UAAYpU,EAAMoM,SAAS5V,KAAKuV,SAExC,GAEDgD,OAAAA,GACC9W,KAAKmY,GAAG0E,aAAa,aACrBjJ,MAAMrI,IAAIvL,KAAKqb,OAAS,iCAAkC,CACzDxH,OAAQ,CACP2H,GAAIxb,KAAK+a,aAERpY,KAAK4G,IACPA,EAAIhL,KAAKuV,OAAOlN,QAAQgF,IACvBA,EAAOmI,UAAYC,KAAKC,MAAMrI,EAAOmI,WACrCnI,EAAOlK,MAAQsS,KAAKC,MAAMrI,EAAOlK,SAElC1B,KAAKgY,QAAUzO,EAAIhL,KAAKuV,SACtBI,MAAMuH,GAAO3T,QAAQC,MAAM,SAAU0T,IAExC7H,MAAMrI,IAAIvL,KAAKqb,OAAS,UAAW,CAACxH,OAAO,CAC1C2H,GAAIxb,KAAK+a,aACNpY,KAAK4G,IACR,IAAK,IAAIjL,KAAQiL,EAAIhL,KAAKuV,OAAQ,CACjC,IAAIkE,EAAU,GACVnQ,EAAS,GACb,IAAK,IAAIwU,KAAO9S,EAAIhL,KAAKuV,OAAOxV,GAAM0Z,QACrCzO,EAAIhL,KAAKuV,OAAOxV,GAAM0Z,QAAQqE,GAAKzP,GAAKyP,EACpC9S,EAAIhL,KAAKuV,OAAOxV,GAAM0Z,QAAQqE,GAAKxD,QAAUtP,EAAIhL,KAAKuV,OAAOxV,GAAM0Z,QAAQqE,GAAKM,OACnF3E,EAAQ1R,KAAKiD,EAAIhL,KAAKuV,OAAOxV,GAAM0Z,QAAQqE,IAE3CxU,EAAOvB,KAAK+V,GAEdrc,KAAKmb,SAAS7U,KAAK,CAClBhI,KAAMA,EACN0Z,QAASA,IAEVnQ,EAAOjB,QAAQyV,GAAOrc,KAAK4c,aAAate,EAAM+d,GAC/C,CACArc,KAAKmb,SAAWnb,KAAKmb,SAAS/T,KAAK,CAAC0V,EAAUC,IACzB,UAAjBD,EAASxe,KACJ,EACa,UAAjBye,EAASze,MACL,EACDye,EAAS/E,QAAQ7R,OAAS2W,EAAS9E,QAAQ7R,UAEjD+N,MAAMuH,GAAO3T,QAAQC,MAAM,SAAU0T,GACzC,EACA,iBAAMuB,GACL,IAAKhd,KAAKgb,SAAS1c,OAAS0B,KAAKgb,SAASC,IAAK,CAC9C,MAAM1R,QAAYvJ,KAAKid,KAAK3H,KAAKoF,EAAaC,eAC9C3a,KAAKob,iBAAmB7R,EAAIhL,IAC7B,CACD,EACAyE,SAAU,yuBCjLXka,EAAe,CACdA,MAAAA,CAAOC,EAAgB3a,GAEtB,OAAOxC,KAAKod,QAAQrB,KADR,oCACkBoB,EAAgB3a,EAC/C,EACA6a,cAAAA,CAAeF,EAAgB3a,GAE9B,OAAOxC,KAAKod,QAAQrB,KADR,4CACkBoB,EAAgB3a,EAC/C,EACA8a,WAAAA,CAAYH,GAEX,OAAOnd,KAAKod,QAAQrB,KADR,yCACkBoB,EAC/B,GCZDI,EAAe,CACdV,YAAAA,CAAaW,GACZ,OAAOxd,KAAKod,QAAQ7R,IAAI,uCAAyCiS,EAClE,EACAC,WAAAA,CAAYC,EAAWC,GACtB,MAAMxE,EAAU,CAACuE,aAAYC,YAC7B,OAAO3d,KAAKod,QAAQrB,KAAK,uCAAwC5C,EAClE,EACAyE,WAAAA,GACC,OAAO5d,KAAKod,QAAQ7R,IAAI,uCAAwC,CAAA,EACjE,EACAsS,oBAAAA,GACC,OAAO7d,KAAKod,QAAQ7R,IAAI,2CAA4C,CAAA,EACrE,GCbDuS,EAAe,CACdC,SAAAA,CAAUC,GACT,OAAOhe,KAAKod,QAAQ7R,IACnB,qCACA,CAAEyS,mBAEJ,EACAC,QAAS,SAASD,GACjB,OAAOhe,KAAKod,QAAQ7R,IACnB,mCACA,CAAEyS,mBAEJ,GCZDE,EAAe,CACdC,gBAAAA,CAAiBC,GAChB,OAAOpe,KAAKod,QAAQrB,KACnB,2CACA,CACCsC,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBC,iBAAkBH,EAASG,kBAG9B,EACAC,kBAAAA,CAAmBJ,GAClB,OAAOpe,KAAKod,QAAQrB,KACnB,6CACA,CACCsC,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBG,SAAUL,EAASK,UAGtB,EACAC,iBAAAA,CAAkBN,GACjB,OAAOpe,KAAKod,QAAQrB,KACnB,4CACA,CACCsC,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBK,aAAcP,EAASO,cAG1B,EACAC,cAAAA,CAAeR,GACd,OAAOpe,KAAKod,QAAQrB,KACnB,yCACA,CACCsC,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBO,YAAaT,EAASS,aAGzB,EACAC,iBAAAA,CAAkBV,GACjB,OAAOpe,KAAKod,QAAQrB,KACnB,4CACA,CACCsC,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBO,YAAaT,EAASS,aAGzB,EACAE,aAAAA,CAAcX,GACb,OAAOpe,KAAKod,QAAQ7R,IACnB,oCACA,CACC8S,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBG,SAAUL,EAASK,UAGtB,EACAO,SAAAA,CAAUZ,GACT,OAAOpe,KAAKod,QAAQ7R,IACnB,oCACA,CACC8S,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,YAGxB,GCrEDW,EAAe,CACdC,UAAW,CACVC,UAAAA,CAAWC,EAAWC,GACrB,MAAMxE,EAAM,+CACM5Z,IAAdme,EAA0B,uBAAyBA,EAAY,0BAA4BC,GAC/F,OAAOrf,KAAKod,QAAQ7R,IAAIsP,EACzB,EACAyE,MAAAA,CAAOC,EAAQF,EAAeG,GAC7B,OAAOxf,KAAKod,QAAQrB,KAAK,qDAAsD,CAC9E0D,gBAAiBF,EACjBF,gBACAG,SACE,CACFE,cAAe,UAEjB,EACAC,MAAAA,CAAOP,GACN,OAAK7f,MAAM4I,QAAQiX,GAKZhe,QAAQwe,WAAWR,EAAU9W,IAAIuX,GAAU7f,KAAKod,QAAQrB,KAC9D,qDACA,CAAEqD,UAAWS,EAAOC,uBACpB,CAAEC,YAAa,IAAMF,EAAOC,0BAPrB9f,KAAKod,QAAQrB,KACnB,qDACA,CAAEqD,aAOL,GAEDY,cAAe,CACdb,UAAAA,CAAWC,EAAWC,GACrB,MAAMxE,EAAM,mDACM5Z,IAAdme,EAA0B,uBAAyBA,EAAY,0BAA4BC,GAC/F,OAAOrf,KAAKod,QAAQ7R,IAAIsP,EACzB,EACAyE,MAAAA,CAAOG,EAAiBJ,EAAeG,EAAOS,EAAsBC,GACnE,OAAOlgB,KAAKod,QAAQrB,KAAK,yDAA0D,CAClF0D,kBACAJ,gBACAG,QACAS,uBACAC,cACE,CACFR,cAAe,UAEjB,EACAC,MAAAA,CAAOP,GACN,OAAOpf,KAAKod,QAAQrB,KAAK,yDAA0D,CAClFqD,aACE,CACFM,cAAe,UAEjB,GAEDS,aAAc,CACbhB,UAAAA,CAAWE,GACV,MAAMxE,EAAM,mEAAqEwE,EACjF,OAAOrf,KAAKod,QAAQ7R,IAAIsP,EACzB,EACAuF,MAAAA,CAAOhB,GACN,MAAMvE,EAAM,mDAAqDuE,EACjE,OAAOpf,KAAKod,QAAQ7R,IAAIsP,EACzB,EACAyE,MAAAA,CAAOD,EAAeI,GACrB,OAAOzf,KAAKod,QAAQrB,KAAK,wDAAyD,CACjFsD,gBACAI,mBACE,CACFC,cAAe,UAEjB,EACAC,MAAAA,CAAON,EAAeI,GACrB,OAAOzf,KAAKod,QAAQrB,KAAK,wDAAyD,CACjFsD,gBACAI,mBACE,CACFC,cAAe,UAEjB,EACAW,OAAAA,CAAQC,EAAcC,GACrB,OAAOvgB,KAAKod,QAAQrB,KAAK,mDAAoD,CAC5EuE,eACAC,gBAEF,GAEDC,QAAS,CACRC,OAAAA,GACC,OAAOzgB,KAAKod,QAAQ7R,IAAI,oDACzB,EACAmV,WAAAA,CAAY7F,EAAKrY,EAAQqR,GACxB,OAAO7T,KAAKod,QACV7R,IAAI,mDAAqDsP,GACzDlY,KAAK4G,GAAOA,EAAIhL,KACnB,EACAoiB,UAAAA,CAAWvB,GACV,OAAOpf,KAAKod,QAAQ7R,IAAI,kDAAoD6T,EAC7E,EACAwB,cAAAA,CAAeC,EAAOC,GACrB,OAAO9gB,KAAKod,QAAQrB,KACnB,qDACA,CAAE8E,SACF,CACgCC,OAAQA,EACRC,QAAS,KAG3C,EACAC,OAAAA,CAAQnB,GACP,OAAKtgB,MAAM4I,QAAQ0X,GAKZze,QAAQwe,WAAWC,EAAOvX,IAAIjB,GAAKrH,KAAKod,QAAQrB,KACtD,oDACA1U,EACA,CAAE0Y,YAAa,IAAM1Y,EAAEyY,0BAPhB9f,KAAKod,QAAQrB,KACnB,oDACA8D,EAOH,EACAve,MAAAA,CAAOue,GACN,OAAKtgB,MAAM4I,QAAQ0X,GAKZze,QAAQwe,WAAWC,EAAOvX,IAAIjB,GAAKrH,KAAKod,QAAQrB,KACtD,mDACA1U,EACA,CAAE0Y,YAAa,IAAM1Y,EAAEyY,0BAPhB9f,KAAKod,QAAQrB,KACnB,mDACA8D,EAOH,EACAoB,MAAAA,CAAOpB,GACN,OAAKtgB,MAAM4I,QAAQ0X,GAKZze,QAAQwe,WAAWC,EAAOvX,IAAIjB,GAAKrH,KAAKod,QAAQrB,KACtD,mDACA1U,EACA,CAAE0Y,YAAa,IAAM1Y,EAAEyY,0BAPhB9f,KAAKod,QAAQrB,KACnB,mDACA8D,EAOH,EACAqB,KAAAA,CAAMrB,GACL,OAAKtgB,MAAM4I,QAAQ0X,GAKZze,QAAQwe,WAAWC,EAAOvX,IAAIjB,GAAKrH,KAAKod,QAAQrB,KACtD,kDACA1U,EACA,CAAE0Y,YAAa,IAAM1Y,EAAEyY,0BAPhB9f,KAAKod,QAAQrB,KACnB,kDACA8D,EAOH,EACAsB,OAAAA,CAAQtB,GACP,OAAKtgB,MAAM4I,QAAQ0X,GAKZze,QAAQwe,WAAWC,EAAOvX,IAAIjB,GAAKrH,KAAKod,QAAQrB,KACtD,oDACA1U,EACA,CAAE0Y,YAAa,IAAM1Y,EAAEyY,0BAPhB9f,KAAKod,QAAQrB,KACnB,oDACA8D,EAOH,EACAuB,MAAAA,CAAOvB,GACN,OAAKtgB,MAAM4I,QAAQ0X,GAKZze,QAAQwe,WAAWC,EAAOvX,IAAIjB,GAAKrH,KAAKod,QAAQrB,KACtD,mDACA1U,EACA,CAAE0Y,YAAa,IAAM1Y,EAAEyY,0BAPhB9f,KAAKod,QAAQrB,KACnB,mDACA8D,EAOH,EACAwB,gBAAAA,CAAiBxB,GAChB,OAAKtgB,MAAM4I,QAAQ0X,GAKZze,QAAQwe,WAAWC,EAAOvX,IAAIjB,GAAKrH,KAAKod,QAAQrB,KACtD,uDACA1U,EACA,CAAE0Y,YAAa,IAAM1Y,EAAEyY,0BAPhB9f,KAAKod,QAAQrB,KACnB,uDACA8D,EAOH,EACAyB,aAAAA,CAAczB,GACb,OAAKtgB,MAAM4I,QAAQ0X,GAKZze,QAAQwe,WAAWC,EAAOvX,IAAIjB,GAAKrH,KAAKod,QAAQrB,KACtD,oDACA1U,EACA,CAAE0Y,YAAa,IAAM1Y,EAAEyY,0BAPhB9f,KAAKod,QAAQrB,KACnB,oDACA8D,EAOH,IC5NF0B,EAAe,CAEbC,QAAS,SAAUvG,GACjB,OAAOjb,KAAKod,QAAQ7R,IAClB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,mCAAmCyH,IAAM,CAAA,EAE7C,EAEAwG,WAAY,SAAUxiB,GACpB,OAAOe,KAAKod,QAAQ7R,IAClB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,sCAAsCvU,IACtC,CAAA,EAGJ,EAEAyiB,UAAW,SAAUzG,GACnB,OAAOjb,KAAKod,QAAQ7R,IAClB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,oCACA,CACEyH,IAAIA,GAGV,EAEA0G,cAAe,SAAU1G,GACvB,OAAOjb,KAAKod,QAAQ7R,IAClB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,yCAAyCyH,IACzC,CAAA,EAEJ,EAEA2G,kBAAmB,WACjB,OAAO5hB,KAAKod,QAAQ7R,IAClB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,4CAA4C,GAEhD,EAEAqO,kBAAmB,WACjB,OAAO7hB,KAAKod,QAAQ7R,IAClB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,4CAA4C,GAEhD,EAEAsO,aAAc,SAASC,EAAOC,GAC5B,OAAOhiB,KAAKod,QAAQ7R,IAClB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,wCAAwCuO,KAAUC,IAClD,CAAA,EAGJ,EACAC,eAAe,WACb,OAAOjiB,KAAKod,QAAQ7R,IAClB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,yCAAyC,GAE7C,GCvEF0O,EAAe;;AAGXC,UAAW,WACP,OAAOniB,KAAKod,QAAQ7R,IACpB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,0CAA0C,GAC9C,EAEA4O,SAAU,WACN,OAAOpiB,KAAKod,QAAQ7R,IACpB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,yCAAyC,GAC7C,EAEA6O,oBAAqB,UAAUC,iBAACA,EAAgBrH,IAAEA,EAAGsH,eAAEA,EAAcC,MAAEA,EAAKC,iBAAEA,IAE5E,OAAOziB,KAAKod,QAAQrB,KAClBzI,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,oDAAoD,CAAC8O,mBAAkBrH,MAAKsH,iBAAgBC,QAAOC,oBACvG,EAEAC,kBAAmB,UAAUJ,iBAACA,EAAgBrH,IAAEA,EAAGuH,MAAEA,EAAKD,eAAEA,IAC1D,OAAOviB,KAAKod,QAAQrB,KAClBzI,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,kDAAkD,CAAC8O,mBAAiBrH,MAAIuH,QAAMD,kBAClF,EAEAI,WAAY,SAAUC,EAAKC,EAAU,MAEnC,OAAO7iB,KAAKod,QAAQrB,KAClBzI,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,4CAA4CqP,IAC5CD,EAEJ,EAEAE,sBAAuB,SAAUC,GAC/B,OAAO/iB,KAAKod,QAAQ7R,IAClB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,uDAAuDuP,IAAY,CAAA,EACvE,EAEAC,oBAAqB,SAAU/H,EAAM,KAAMrO,EAAK,MAE5C,OAAO5M,KAAKod,QAAQ7R,IACpB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,oDACA,IAAKyH,EAAI,CAACA,OAAK,MACTrO,EAAG,CAACA,MAAI,CAAA,GAElB,EAEAqW,oBAAqB,SAAUT,EAAOrJ,EAAS+J,EAAS,MAEtD,OAAOljB,KAAKod,QAAQrB,KAClBzI,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,oDACA,CACEgP,QACArJ,aACI+J,EAAS,CAAEA,UAAW,CAAA,GAEhC,EAEAC,oBAAqB,SAAUX,EAAOrJ,EAASiK,EAAIF,EAAS,MAE1D,OAAOljB,KAAKod,QAAQrB,KAClBzI,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,oDACA,CACEgP,QACArJ,UACAiK,QACIF,EAAS,CAAEA,OAAQA,GAAW,CAAA,GAExC,EAEAG,oBAAqB,SAAUN,GAE7B,OAAO/iB,KAAKod,QAAQrB,KAClBzI,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,oDACA,CACEuP,aAEN,GC/FJO,EAAe,CACdC,WAAAA,CAAYC,EAAYC,EAAYC,GACnC,OAAO1jB,KAAKod,QAAQrB,KACnB,sCACA,CAAGyH,aAAYC,aAAYC,YAE7B,EACAC,UAAAA,GACC,OAAO3jB,KAAKod,QAAQ7R,IACnB,kCACA,CAAA,EAEF,EACAqY,oBAAAA,CAAqBJ,EAAYC,EAAYC,GAC5C,OAAO1jB,KAAKod,QAAQrB,KACnB,6CAA6CyH,IAC7C,CAAEC,aAAYC,YAEhB,EACAG,uBAAAA,CAAwBJ,EAAYC,GACnC,OAAO1jB,KAAKod,QAAQrB,KACnB,4CACA,CAAE0H,aAAYC,YAEhB,EACAI,6BAAAA,CAA8BC,GAC7B,OAAO/jB,KAAKod,QAAQ7R,IACnB,yDAAyDwY,IACzD,GAEF,EACAC,2BAAAA,CAA4BC,GAC3B,OAAOjkB,KAAKod,QAAQ7R,IACnB,uDAAuD0Y,IACvD,GAEF,EACAC,YAAAA,CAAaT,EAAYC,EAAUS,GAClC,OAAOnkB,KAAKod,QAAQ7R,IACnB,uCACA,CAAEkY,aAAYC,WAAUS,SAE1B,GCxBDC,EAAe,CACdC,QCpBc,CACd9Y,GAAAA,GACC,OAAOvL,KAAKod,QAAQ7R,IAAI,8BACzB,EACA+Y,UAAW,CACV/Y,GAAAA,GACC,OAAOvL,KAAKod,QAAQ7R,IAAI,gCACzB,EACAC,GAAAA,CAAI8Y,GACH,OAAOtkB,KAAKod,QAAQrB,KAAK,oCAAqC,CAC7DuI,aAEF,IDSDC,SErBc,CACdtJ,GAAAA,CAAIA,EAAKuJ,GACR,IAAI3J,EAAM,gCACP4J,mBAAmBD,GACnB,QACAC,mBAAmBxJ,GACtB,OAAOjb,KAAKod,QAAQsH,OAAO7J,EAC5B,EACA8J,UAAAA,CAAWtF,EAAemF,GACzB,IAAI3J,EAAM,gCACP4J,mBAAmBD,GACnB,eACAC,mBAAmBpF,GACtB,OAAOrf,KAAKod,QAAQsH,OAAO7J,EAC5B,EACA+J,MAAAA,CAAOC,EAAWL,GACjB,IAAI3J,EAAM,gCACP4J,mBAAmBD,GACnB,WACAC,mBAAmBI,GACtB,OAAO7kB,KAAKod,QAAQsH,OAAO7J,EAC5B,EACAwJ,OAAAA,CAAQS,GACP,OAAO9kB,KAAKod,QAAQsH,OAAO,gCAAkCI,EAC9D,GFFArb,OGtBc,CACdsb,MAAAA,GACC,OAAO/kB,KAAKod,QAAQ7R,IAAI,oCACzB,EACAyZ,MAAAA,CAAOC,GACN,OAAOjlB,KAAKod,QAAQrB,KAAK,oCAAqC,CAC7DkJ,kBAEF,GHeAC,MIvBc,CACdC,eAAAA,CAAgB3iB,EAAQ6W,GAavB,OAZA7W,EAAO4iB,QAAU,gCACjB5iB,EAAO6iB,WAAa,KACJ,CACdR,UAAWxL,EAAKiM,WAAWT,WAAaxL,EAAKiM,WAAWhd,IAAI8N,GAAKA,EAAEyO,WACnEU,UAAWlM,EAAK5P,OAChBwb,eAAgB5L,EAAKmM,sBAAwBnM,EAAKoM,OAAS,KAI7DjjB,EAAOkjB,gBAAkB,CAAC7K,EAAKrY,EAAQqR,IAAW7T,KAAKod,QAAQrB,KAAKlB,EAAKhH,EAAQrR,GACjFA,EAAOmjB,aAAe,CAAC9K,EAAKhH,EAAQM,IAAaA,EAAS5V,KAEnDiE,CACR,EACAojB,YAAAA,CAAaC,EAAMtnB,GAClB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,yCAA0CtnB,EAAM,CAC9EunB,oBAAqB/d,IAAS,GAEhC,EACAge,MAAAA,CAAOF,EAAMtnB,GACZ,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,mCAAoCtnB,EACpE,EACAynB,OAAAA,CAAQznB,GACP,OAAOyB,KAAKod,QAAQrB,KAAK,oCAAqCxd,EAC/D,EACA0nB,IAAAA,CAAKJ,EAAMtnB,GACV,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,mCAAoCtnB,EACpE,EACA2nB,OAAOC,GACN,OAAOnmB,KAAKod,QAAQrB,KAAK,mCAAoC,CAACoK,cAC/D,EACAC,gBAAAA,GACC,OAAOpmB,KAAKod,QAAQ7R,IAAI,6CACzB,GJXA8a,MKxBc,CACdC,UAAAA,CAAWzL,EAAKrY,EAAQqR,GACvB,OAAO7T,KAAKod,QAAQ7R,IAAI,0CAA4CsI,EAAOjH,GAC5E,EACA2Z,WAAAA,CAAY1S,GACX,OAAO7T,KAAKod,QAAQrB,KAAK,4CAA6ClI,EACvE,GLmBA2S,QMzBc,CAEdC,WAAAA,CAAa5L,EAAKrY,EAAQqR,GACzB,OAAO7T,KAAKod,QAAQ7R,IAAI,2CAA6CsI,EAAOjH,GAC7E,EACA8Z,aAAAA,CAAcb,EAAMjZ,EAAIrO,GACvB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,6CAA+CjZ,EAC7ErO,EAEF,EACAooB,WAAAA,CAAYC,GACX,OAAO5mB,KAAKod,QAAQrB,KAAK,2CAA4C,CAAC6K,cACvE,EACAC,aAAAA,CAAchB,EAAMe,EAAYroB,GAC/B,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,6CAA+Ce,EAC7EroB,EAEF,EACAuoB,aAAAA,CAAcF,GACb,OAAO5mB,KAAKod,QAAQrB,KAAK,6CAA8C,CAAC6K,cACzE,EACAG,SAAAA,CAAUC,GACT,OAAOhnB,KAAKod,QAAQ7R,IAAI,yCAA2Cyb,EACpE,EACAC,SAAAA,CAAUC,GACT,OAAOlnB,KAAKod,QAAQ7R,IAAI,yCAA2C2b,EACpE,EACAC,UAAAA,GACC,OAAOnnB,KAAKod,QAAQ7R,IAAI,0CACzB,EACA6b,gBAAAA,GACC,OAAOpnB,KAAKod,QAAQ7R,IAAI,gDACzB,EAGA8b,iBAAAA,CAAmBxM,EAAKrY,EAAQqR,GAC/B,OAAO7T,KAAKod,QAAQ7R,IAAI,iDAAmDsI,EAAOjH,GACnF,EACA0a,oBAAAA,CAAqBzB,EAAMjZ,EAAIrO,GAC9B,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,oDAAsDjZ,EACpFrO,EAEF,EACAgpB,kBAAAA,CAAmBC,GAClB,OAAOxnB,KAAKod,QAAQrB,KAAK,kDAAmD,CAACyL,qBAC9E,EACAC,oBAAAA,CAAqB5B,EAAM2B,EAAmBjpB,GAC7C,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,oDAAsD2B,EACpFjpB,EAEF,EACAmpB,oBAAAA,CAAqBF,GACpB,OAAOxnB,KAAKod,QAAQrB,KAAK,oDAAqD,CAACyL,qBAChF,EAGAG,WAAAA,CAAa9M,EAAKrY,EAAQqR,GACzB,OAAO7T,KAAKod,QAAQ7R,IAAI,2CAA6CsI,EAAOjH,GAC7E,EACAgb,aAAAA,CAAc/B,EAAMjZ,EAAIrO,GACvB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,6CAA+CjZ,EAC7ErO,EAEF,EACAspB,WAAAA,CAAYC,GACX,OAAO9nB,KAAKod,QAAQrB,KAAK,2CAA4C,CAAC+L,cACvE,EACAC,aAAAA,CAAclC,EAAMiC,EAAYvpB,GAC/B,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,6CAA+CiC,EAC7EvpB,EAEF,EACAypB,aAAAA,CAAcF,GACb,OAAO9nB,KAAKod,QAAQrB,KAAK,6CAA8C,CAAC+L,cACzE,EACAG,mBAAAA,CAAoBf,GACnB,OAAOlnB,KAAKod,QAAQ7R,IAAI,mDAAqD2b,EAC9E,EACAgB,eAAAA,GACC,OAAOloB,KAAKod,QAAQ7R,IAAI,+CACzB,GNtDAoZ,WO1Bc,CAIdpZ,GAAAA,CAAI8T,EAAemF,GAClB,OAAQxkB,KAAKod,QAAQrB,KACpB,sCACE0I,mBAAmBpF,GACnB,IACAoF,mBAAmBD,GAEvB,EACA2D,gBAAAA,CAAiBtC,EAAMxG,EAAe9gB,GACrC,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,mDAAqDxG,EACnF9gB,EAEF,EACA6pB,iBAAAA,GACC,OAAOpoB,KAAKod,QAAQ7R,IAAI,oDACzB,EACA8c,kBAAAA,GACC,OAAOroB,KAAKod,QAAQ7R,IAAI,qDACzB,EACA+c,kBAAAA,GACC,OAAOtoB,KAAKod,QAAQ7R,IAAI,qDACzB,EACAkV,OAAAA,GACC,OAAOzgB,KAAKod,QAAQ7R,IAAI,qCACzB,EACAgd,aAAAA,GACC,OAAOvoB,KAAKod,QAAQ7R,IAAI,gDACzB,EACAid,kBAAAA,GACC,OAAOxoB,KAAKod,QAAQ7R,IAAI,qDACzB,EACAkd,mBAAAA,GACC,OAAOzoB,KAAKod,QAAQ7R,IAAI,sDACzB,EACAmd,WAAAA,GACC,OAAO1oB,KAAKod,QAAQ7R,IAAI,8CACzB,EACAod,cAAAA,GACC,OAAO3oB,KAAKod,QAAQ7R,IAAI,iDACzB,EAGAqd,oBAAAA,CAAsB/N,EAAKrY,EAAQqR,GAClC,OAAO7T,KAAKod,QAAQ7R,IAAI,mDAAqDsI,EAAOjH,GACrF,EACAic,SAAAA,CAAUC,GACT,OAAQ9oB,KAAKod,QAAQrB,KAAK,6CAA8C,CAAC+M,mBAC1E,EACAC,aAAAA,EAAc1J,cAACA,EAAa2J,cAAEA,EAAaxE,uBAAEA,EAAsByE,oBAAEA,IACpE,OAAOjpB,KAAKod,QAAQrB,KAAK,4CACtBsD,EAAgB,IAChB2J,EAAgB,IAChBxE,EAAyB,IACzByE,EAEJ,EACAC,aAAAA,EAAc7J,cAACA,EAAa2J,cAAEA,EAAaxE,uBAAEA,EAAsByE,oBAAEA,IACpE,OAAOjpB,KAAKod,QAAQrB,KAAK,4CACtBsD,EAAgB,IAChB2J,EAAgB,IAChBxE,EAAyB,IACzByE,EAEJ,EACAE,YAAAA,CAAavc,GACZ,OAAO5M,KAAKod,QAAQ7R,IAAI,2CAA6CqB,EACtE,EACAwc,YAAAA,EAAa/J,cAACA,EAAa2J,cAAEA,EAAaxE,uBAAEA,EAAsByE,oBAAEA,IACnE,OAAOjpB,KAAKod,QAAQrB,KAAK,2CACtBsD,EAAgB,IAChB2J,EAAgB,IAChBxE,EAAyB,IACzByE,EAEJ,EACAI,uBAAAA,GACC,OAAOrpB,KAAKod,QAAQ7R,IAAI,sDACzB,EAGA+d,qBAAAA,CAAuBzO,EAAKrY,EAAQqR,GACnC,OAAO7T,KAAKod,QAAQ7R,IAAI,wDAA0DsI,EAAOjH,GAC1F,GP3DA2c,OQ3Bc,CAIdC,YAAAA,CAAa3D,EAAMjZ,EAAIrO,GACtB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,2CAA6CjZ,EAC3ErO,EAEF,EACAkrB,UAAAA,EAAWpK,cAACA,EAAa2J,cAAEA,EAAaxE,uBAAEA,EAAsByE,oBAAEA,IACjE,OAAOjpB,KAAKod,QAAQrB,KACnB,yCACEsD,EAAgB,IAChB2J,EAAgB,IAChBxE,EAAyB,IACzByE,EAEJ,EACAS,YAAAA,CAAa7D,GAAMxG,cAACA,EAAa2J,cAAEA,EAAaxE,uBAAEA,EAAsByE,oBAAEA,GAAsB1qB,GAC/F,OAAOyB,KAAKod,QAAQrB,KACnB8J,EACA,2CACExG,EAAgB,IAChB2J,EAAgB,IAChBxE,EAAyB,IACzByE,EACF1qB,EAEF,EACAorB,gBAAAA,CAAiBtK,GAChB,OAAOrf,KAAKod,QAAQ7R,IAAI,mDAAqD8T,EAC9E,EACAuK,cAAAA,CAAevK,GACd,OAAOrf,KAAKod,QAAQ7R,IAAI,iDAAmD8T,EAC5E,EACAwK,gBAAAA,GACC,OAAO7pB,KAAKod,QAAQ7R,IAAI,+CACzB,EACAue,QAAAA,GACC,OAAO9pB,KAAKod,QAAQ7R,IAAI,sCACzB,EAIAwe,UAAAA,CAAWnd,EAAIrO,GACd,OAAOyB,KAAKod,QAAQrB,KAAK,yCAA2CnP,EACnErO,EACA,CAACwhB,YAAanT,GAEhB,EACAod,YAAAA,CAAapd,EAAIrO,GAChB,OAAOyB,KAAKod,QAAQrB,KAAK,2CAA6CnP,EACrErO,EACA,CAACwhB,YAAanT,GAEhB,EACAqd,cAAAA,GACC,OAAOjqB,KAAKod,QAAQ7R,IAAI,6CACzB,GR9BA2e,QS5Bc,CACd3e,GAAAA,CAAI8T,EAAemF,GAClB,IAAI3J,EAAM,mCACP4J,mBAAmBpF,GACnB,IACAoF,mBAAmBD,GACtB,OAAOxkB,KAAKod,QAAQrB,KAAKlB,EAC1B,EACAsP,IAAAA,CAAKtE,EAAMxG,EAAemF,EAAwBjmB,GACjD,IAAIsc,EAAM,oCACP4J,mBAAmBpF,GACnB,IACAoF,mBAAmBD,GACtB,OAAOxkB,KAAKod,QAAQrB,KAAK8J,EAAMhL,EAAKtc,EACrC,GTeA6rB,KU7Bc,CACdC,aAAAA,CAAcxP,EAAKrY,EAAQqR,GAC1B,OAAO7T,KAAKod,QAAQ7R,IAAI,8CAAgDsI,EAAOjH,GAChF,EACA0d,YAAAA,CAAaC,GACZ,OAAOvqB,KAAKod,QAAQ7R,IAAI,6CAA+Cgf,EACxE,EACAC,kBAAAA,GACC,OAAOxqB,KAAKod,QAAQ7R,IAAI,kDACzB,EACAkf,mBAAAA,CAAoBlsB,GACnB,OAAOyB,KAAKod,QAAQrB,KAAK,oDAAqDxd,EAC/E,EACAmsB,eAAAA,CAAgBzP,GACf,OAAOjb,KAAKod,QAAQ7R,IAAI,gDAAkD0P,EAC3E,EACA0P,qBAAAA,CAAsB1P,EAAK2P,GAC1B,OAAO5qB,KAAKod,QAAQ7R,IAAI,sDAAwD0P,EAAM,IAAM2P,EAC7F,EACAC,YAAAA,CAAa5P,GACZ,OAAOjb,KAAKod,QAAQ7R,IAAI,6CAA+C0P,EACxE,EACA6P,gBAAAA,CAAiBle,GAChB,OAAO5M,KAAKod,QAAQ7R,IAAI,iDAAmDqB,EAC5E,EACAme,QAAAA,GACC,OAAO/qB,KAAKod,QAAQ7R,IAAI,wCACzB,EACAyf,kBAAAA,CAAmBzsB,GAClB,OAAQyB,KAAKod,QAAQrB,KAAK,mDAAoDxd,EAC/E,EACA0sB,WAAAA,CAAYpF,EAAMtnB,GACjB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAK,+CAAiDtnB,EAChF,EACA2sB,cAAAA,CAAerF,EAAMjZ,EAAIrO,GACxB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAK,+CAAiDjZ,EAAKrO,EACrF,EACA4sB,cAAAA,CAAeve,GACd,OAAO5M,KAAKod,QAAQrB,KAAK,+CAAiDnP,EAC3E,GVTAwe,kBW9Bc,CAEdC,oBAAAA,CAAsBxQ,EAAKrY,EAAQqR,GAClC,OAAO7T,KAAKod,QAAQ7R,IAAI,8DAAgEsI,EAAOjH,GAChG,EACA0e,uBAAAA,CAAwBzF,EAAMtnB,GAC7B,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,iEAAkEtnB,EAElG,EACAgtB,qBAAAA,CAAsB3e,GACrB,OAAO5M,KAAKod,QAAQrB,KAAK,+DAAgE,CAACnP,MAC3F,EACA4e,uBAAAA,CAAwB3F,EAAMtnB,GAC7B,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,iEAAkEtnB,EAElG,EACAktB,uBAAAA,CAAwB7e,GACvB,OAAO5M,KAAKod,QAAQrB,KAAK,iEAAkE,CAACnP,MAC7F,EACA8e,yBAAAA,GACC,OAAO1rB,KAAKod,QAAQ7R,IAAI,mEACzB,EACAogB,gBAAAA,GACC,OAAO3rB,KAAKod,QAAQ7R,IAAI,0DACzB,EACAqgB,gBAAAA,GACC,OAAO5rB,KAAKod,QAAQ7R,IAAI,0DACzB,EACAsgB,YAAAA,CAAa5G,GACZ,OAAOjlB,KAAKod,QAAQrB,KAAK,sDAAuD,CAACkJ,kBAClF,EACA6G,iBAAAA,CAAkB7G,GACjB,OAAOjlB,KAAKod,QAAQrB,KAAK,2DAA4D,CAACkJ,kBACvF,EACA8G,cAAAA,CAAe7E,GACd,OAAOlnB,KAAKod,QAAQ7R,IAAI,wDAA0D2b,EACnF,EACA8E,UAAAA,CAAW9E,GACV,OAAOlnB,KAAKod,QAAQ7R,IAAI,oDAAsD2b,EAC/E,EACA6D,QAAAA,GACC,OAAO/qB,KAAKod,QAAQ7R,IAAI,kDACzB,EACA0gB,qBAAAA,CAAsBC,GACrB,OAAOlsB,KAAKod,QAAQrB,KAAK,+DAAgE,CAACmQ,QAE3F,GXfAC,OY/Bc,CACdC,IAAAA,GACC,OAAOpsB,KAAKod,QAAQ7R,IAAI,kCACzB,EACA8gB,cAAAA,CAAehN,EAAemF,GAC7B,IAAI3J,EAAM,6CAA+C4J,mBAAmBpF,GAI5E,OAHMmF,IACL3J,EAAMA,EAAM,IAAM4J,mBAAmBD,IAE/BxkB,KAAKod,QAAQ7R,IAAIsP,EACzB,EACAyR,kBAAAA,CAAmBjN,EAAemF,GACjC,IAAI3J,EAAM,iDAAmD4J,mBAAmBpF,GAIhF,OAHMmF,IACL3J,EAAMA,EAAM,IAAM4J,mBAAmBD,IAE/BxkB,KAAKod,QAAQ7R,IAAIsP,EACzB,EACA0R,iBAAAA,CAAkBlN,EAAemF,GAChC,IAAI3J,EAAM,gDAAkD4J,mBAAmBpF,GAI/E,OAHMmF,IACL3J,EAAMA,EAAM,IAAM4J,mBAAmBD,IAE/BxkB,KAAKod,QAAQ7R,IAAIsP,EACzB,EACA2R,iBAAAA,EAAkBC,qBAACA,EAAoBC,YAAEA,EAAWlI,uBAAEA,EAAsBmI,KAAEA,EAAIC,8BAAEA,IACnF,OAAO5sB,KAAKod,QAAQrB,KACnB,+CACA,CACC0Q,uBACAC,cACAlI,yBACAmI,QAED,CACC5M,YAAa6M,GAGhB,EACAC,iBAAAA,EAAkBJ,qBAACA,EAAoBC,YAAEA,EAAWlI,uBAAEA,EAAsBoI,8BAAEA,IAC7E,OAAO5sB,KAAKod,QAAQrB,KACnB,+CACA,CACC0Q,uBACAC,cACAlI,0BAED,CACCzE,YAAa6M,GAGhB,EACAE,gCAAAA,EAAiCL,qBAACA,EAAoBC,YAAEA,EAAWlI,uBAAEA,EAAsBoI,8BAAEA,IAC5F,OAAO5sB,KAAKod,QAAQrB,KACnB,8DACA,CACC0Q,uBACAC,cACAlI,0BAED,CACCzE,YAAa6M,GAGhB,EACAG,8BAAAA,EAA+BC,wCAACA,EAAuCC,eAAEA,IACxE,OAAOjtB,KAAKod,QAAQrB,KACnB,4DACA,CACCiR,2CAED,CACCjN,YAAakN,GAGhB,EACAC,kBAAAA,CAAmBC,EAAQV,EAAsBjI,EAAwB4I,GACxE,MAAM5qB,EAAS4qB,EAAsB,CAAC1N,eAAe,GAAS,CAAA,EAC9D,OAAO1f,KAAKod,QAAQrB,KAAK,gDACxB,CACCoR,OAAUA,EACVV,qBAAwBA,EACxBjI,uBAA0BA,GAE3BhiB,EAEF,GZtDA6qB,SahCc,CACdC,eAAAA,CAAiBzS,EAAKrY,EAAQqR,GAC7B,OAAO7T,KAAKod,QAAQ7R,IAAI,gDAAkDsI,EAAOjH,GAClF,EACA2gB,mBAAAA,GACC,OAAOvtB,KAAKod,QAAQ7R,IAAI,oDACzB,EACAiiB,cAAAA,CAAe3H,EAAMtnB,GACpB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,+CAAgDtnB,EAChF,EACAkvB,YAAAA,CAAaC,GACZ,OAAO1tB,KAAKod,QAAQ7R,IAAI,6CAA+CmiB,EACxE,EACAC,cAAAA,CAAe9H,EAAMtnB,GACpB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,+CAAgDtnB,EAChF,EACAqvB,cAAAA,CAAeF,GACd,OAAO1tB,KAAKod,QAAQrB,KAAK,+CAAiD2R,EAC3E,EACAG,SAAAA,CAAU5I,GACT,OAAOjlB,KAAKod,QAAQ7R,IAAI,0CAA4C0Z,EACrE,EACAwF,mBAAAA,CAAoBlsB,GACnB,OAAOyB,KAAKod,QAAQrB,KAAK,oDAAqDxd,EAC/E,EACAosB,qBAAAA,CAAsB1P,GACrB,OAAOjb,KAAKod,QAAQ7R,IAAI,sDAAwD0P,EACjF,EACA6S,WAAAA,CAAYjT,EAAKrY,EAAQqR,GACxB,OAAO7T,KAAKod,QAAQ7R,IAAI,4CAA8CsI,EAAOjH,GAC9E,EACAmhB,WAAAA,CAAYlT,EAAKrY,EAAQqR,GACxB,OAAO7T,KAAKod,QAAQ7R,IAAI,4CAA8CsI,EAAOjH,GAC9E,EACAohB,eAAAA,GACC,OAAOhuB,KAAKod,QAAQ7R,IAAI,gDACzB,EACA0iB,eAAAA,GACC,OAAOjuB,KAAKod,QAAQ7R,IAAI,gDACzB,EACA2iB,qBAAAA,CAAsBra,GACrB,OAAO7T,KAAKod,QAAQrB,KAAK,sDAAwDlI,EAAO6Z,SAAU7Z,EACnG,EACAsa,kBAAAA,CAAmBta,GAClB,OAAO7T,KAAKod,QAAQrB,KAAK,mDAAqDlI,EAAO6Z,SAAU7Z,EAChG,EACAua,qBAAAA,CAAsBva,GACrB,OAAO7T,KAAKod,QAAQrB,KAAK,sDAAwDlI,EAAO6Z,SAAU7Z,EACnG,EACAwa,kBAAAA,CAAmBxa,GAClB,OAAO7T,KAAKod,QAAQrB,KAAK,mDAAqDlI,EAAO6Z,SAAU7Z,EAChG,GblBAya,OcjCc,CACdnJ,eAAAA,CAAgB3iB,EAAQ6W,GAWvB,OAVA7W,EAAO4iB,QAAU,iCACjB5iB,EAAO6iB,WAAa,KACJ,CACdR,UAAWxL,EAAKiM,WAAWT,WAAaxL,EAAKiM,WAAWhd,IAAI8N,GAAKA,EAAEyO,aAIrEriB,EAAOkjB,gBAAkB,CAAC7K,EAAKrY,EAAQqR,IAAW7T,KAAKod,QAAQrB,KAAKlB,EAAKhH,EAAQrR,GACjFA,EAAOmjB,aAAe,CAAC9K,EAAKhH,EAAQM,IAAaA,EAAS5V,KAEnDiE,CACR,EACA+rB,iBAAAA,GACC,OAAOvuB,KAAKod,QAAQrB,KAAK,+CAC1B,EACAyS,OAAAA,CAAQjwB,GACP,OAAOyB,KAAKod,QAAQrB,KACnB,oCACAxd,EAEF,EACAkwB,aAAAA,CAAclwB,GACb,OAAOyB,KAAKod,QAAQrB,KACnB,0CACAxd,EAEF,EACAwa,MAAAA,CAAOxa,GACN,OAAOyB,KAAKod,QAAQrB,KAAK,oCAAqCxd,EAC/D,EACA2nB,QAAOwI,QAACA,EAAOzJ,eAAEA,IAChB,OAAOjlB,KAAKod,QAAQrB,KAAK,oCAAqC,CAAC2S,UAASzJ,kBACzE,GdAA0J,UelCc,CACdC,sBAAAA,CAAuB/T,EAAKrY,EAAQqR,GACnC,OAAO7T,KAAKod,QAAQ7R,IAAI,wDAA0DsI,EAAOjH,GAAK,IAAMiH,EAAOoR,eAC5G,EACA4J,oBAAAA,CAAqBhU,EAAKrY,EAAQqR,GACjC,OAAO7T,KAAKod,QAAQ7R,IAAI,sDAAwDsI,EAAOjH,GAAK,IAAMiH,EAAOoR,eAC1G,EACA6J,eAAAA,CAAgBjb,GACf,OAAO7T,KAAKod,QAAQrB,KAAK,iDAAmDlI,EAAOwL,cAAgB,IAAMxL,EAAOkb,gBACjH,EACAC,eAAAA,CAAgBnb,GACf,OAAO7T,KAAKod,QAAQrB,KAAK,iDACtBlI,EAAOwL,cAAgB,IACvBxL,EAAOkb,gBACX,EACAE,QAAAA,CAASP,GACR,OAAO1uB,KAAKod,QAAQ7R,IAAI,0CAA4CmjB,EACrE,EACAQ,WAAAA,GACC,OAAOlvB,KAAKod,QAAQ7R,IAAI,6CACzB,EACA4jB,UAAAA,CAAWT,EAASnwB,GACnB,OAAOyB,KAAKod,QAAQrB,KAAK,4CAA8C2S,EACtEnwB,EACF,EACA6wB,UAAAA,CAAWV,GACV,OAAO1uB,KAAKod,QAAQrB,KAAK,4CAA8C2S,EACxE,EACAW,UAAAA,CAAWhQ,EAAe9gB,GACzB,OAAOyB,KAAKod,QAAQrB,KAAK,gDAAkDsD,EAC1E9gB,EACF,GfIA+wB,WgBnCc,CACdC,eAAAA,CAAgB1U,EAAKrY,EAAQqR,GAC5B,OAAO7T,KAAKod,QAAQ7R,IAAI,oDAAsDsI,EAAOjH,GACtF,EACA4iB,sBAAAA,CAAuBnQ,GACtB,OAAOrf,KAAKod,QAAQ7R,IAAI,2DAA6D8T,EACtF,EACAoQ,gBAAAA,GACC,OAAOzvB,KAAKod,QAAQ7R,IAAI,qDACzB,EACAmkB,gBAAAA,CAAiBvL,GAChB,OAAOnkB,KAAKod,QAAQ7R,IAAI,qDAAuD4Y,EAChF,EACAwL,WAAAA,CAAY1K,GACX,OAAOjlB,KAAKod,QAAQ7R,IAAI,gDAAkD0Z,EAC3E,EACA2K,gBAAAA,CAAiB/J,EAAMtnB,GACtB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,qDAAsDtnB,EACtF,EACAsxB,cAAAA,CAAeC,GACd,OAAO9vB,KAAKod,QAAQ7R,IAAI,mDAAqDukB,EAC9E,EACAC,cAAAA,CAAelK,EAAMtnB,GACpB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAM,qDAAsDtnB,EACtF,EACAyxB,gBAAAA,CAAiBF,GAChB,OAAO9vB,KAAKod,QAAQrB,KAAK,qDAAuD+T,EACjF,GhBSAG,aiBpCc,CACdC,UAAAA,CAAWrV,EAAKrY,EAAQqR,GACvB,OAAO7T,KAAKod,QAAQ7R,IAAI,oDAAsDsI,EAAOjH,GACtF,EACAujB,gBAAAA,GACC,OAAOnwB,KAAKod,QAAQ7R,IAAI,0DACzB,EACA6kB,kBAAAA,GACC,OAAOpwB,KAAKod,QAAQ7R,IAAI,4DACzB,EACA8kB,gBAAAA,GACC,OAAOrwB,KAAKod,QAAQ7R,IAAI,6DACzB,EACA+kB,cAAAA,GACC,OAAOtwB,KAAKod,QAAQ7R,IAAI,0DACzB,EACAglB,kBAAAA,GACC,OAAOvwB,KAAKod,QAAQ7R,IAAI,4DACzB,EACAilB,SAAAA,CAAU5jB,GACT,OAAO5M,KAAKod,QAAQ7R,IAAI,oDAAsDqB,EAC/E,EACA6jB,WAAAA,CAAY5K,EAAMtnB,GACjB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAK,sDAAuDtnB,EACtF,EACAmyB,WAAAA,CAAY7K,EAAMtnB,GACjB,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAK,sDAAuDtnB,EACtF,EACAoyB,WAAAA,CAAY/jB,GACX,OAAO5M,KAAKod,QAAQrB,KAAK,sDAAwDnP,EAClF,GjBOAgkB,WkBrCc,CACdC,aAAAA,CAAchW,EAAKrY,EAAQqR,GAE1B,OAAO7T,KAAKod,QAAQ7R,IAAI,gDACrBsI,EAAO6Y,YAAc,IACrB7Y,EAAO4P,WAAa,IACpB5P,EAAO6P,SAAW,IAClB7P,EAAOid,uBAAyB,IAChCjd,EAAOkd,mBAEX,EACAX,kBAAAA,GACC,OAAOpwB,KAAKod,QAAQ7R,IAAI,oDACzB,GlByBAylB,aAAAA,GACC,OAAOhxB,KAAKod,QAAQ7R,IAAI,qCACzB,EACA0lB,cAAAA,GACC,OAAOjxB,KAAKod,QAAQ7R,IAAI,sCACzB,GmBzCD2lB,EAAe,CACdtM,OCHc,CACduM,UAAAA,CAAYtW,EAAKrY,EAAQqR,GACxB,OAAO7T,KAAKod,QAAQ7R,IAAI,gDAAkDsI,EAAOjH,GAAK,IAAMiH,EAAOjV,KACpG,EACAwyB,MAAAA,GACC,OAAOpxB,KAAKod,QAAQ7R,IAAI,4CACzB,EACA8lB,WAAAA,CAAYxL,EAAMjZ,EAAI0kB,GACrB,OAAOtxB,KAAKod,QAAQrB,KAAK8J,EAAK,iDAAmDjZ,EAChF0kB,EAEF,EACAC,SAAAA,CAAUC,GACT,OAAOxxB,KAAKod,QAAQrB,KAAK,+CAAgD,CACxEyV,YAEF,EACAC,aAAAA,CAAcD,GACb,OAAOxxB,KAAKod,QAAQrB,KAAK,mDAAoD,CAC5EyV,YAEF,EACAE,WAAAA,CAAYF,EAAUG,EAAS/kB,GAC9B,OAAO5M,KAAKod,QAAQrB,KAAK,iDAAkD,CAC1EyV,WACAG,UACA/kB,MAEF,EACAglB,WAAAA,CAAY/L,EAAM2L,EAAUF,GAC3B,OAAOtxB,KAAKod,QAAQrB,KAAK8J,EAAK,iDAAmD2L,EAChFF,EAEF,EACAvF,cAAAA,CAAe9mB,GACd,OAAOjF,KAAKod,QAAQ7R,IAAI,oDAAsDtG,EAC/E,EACA4sB,YAAAA,CAAajlB,EAAI+kB,GAChB,OAAO3xB,KAAKod,QAAQ7R,IAAI,kDACzB,ICrCDumB,EAAe,CACdlN,OCHc,CACdmN,oBAAAA,CAAqBlX,EAAKrY,EAAQqR,GACjC,OAAO7T,KAAKod,QAAQ7R,IAAI,uEAAyEsI,EAAOjV,KAAO,IAAMiV,EAAOjH,GAC7H,EACAolB,oBAAAA,CAAqBnM,EAAMhB,EAAWyM,GACrC,OAAOtxB,KAAKod,QAAQrB,KAAK8J,EAAM,uEAC9BhB,EAAWyM,EAEb,EACAW,kBAAAA,CAAmBC,GAClB,OAAOlyB,KAAKod,QAAQrB,KAAK,qEAAuEmW,EACjG,EACAC,oBAAAA,CAAqBtM,EAAMqM,EAAyBZ,GACnD,OAAOtxB,KAAKod,QAAQrB,KAAK8J,EAAM,uEAAyEqM,EACvGZ,EACF,EACAc,oBAAAA,CAAqBF,GACpB,OAAOlyB,KAAKod,QAAQrB,KAAK,uEAAyEmW,EACnG,EACAG,sBAAAA,GACC,OAAOryB,KAAKod,QAAQ7R,IAAI,yEACzB,EACA+mB,iBAAAA,CAAkBzR,GACjB,OAAO7gB,KAAKod,QAAQ7R,IAAI,oEAAsEsV,EAC/F,ICxBD0R,EAAe,CACdC,wBAAAA,CAAyB3N,EAAW4N,GAEnC,IACC,MAAMtZ,EAAU,CAAC0L,YAAW6N,OAAQD,GAC9B5X,EAAM,oEACZ,OAAO7a,KAAKod,QAAQrB,KAAKlB,EAAK1B,EAAS,KACxC,CAAE,MAAOpR,GACR,MAAMA,CACP,CAED,EACA4qB,YAAAA,CAAaxZ,EAASyZ,EAAO,IAE5B,IACC,MAAM/X,EAAM+X,EAAO,wDACnB,OAAOhf,MAAMmI,KAAKlB,EAAK1B,EACxB,CAAE,MAAOpR,GACR,MAAMA,CACP,CAED,GCrBD8qB,EAAe,CACbC,YAAAA,CAAaC,GACb,OAAO/yB,KAAKod,QAAQ7R,IACV+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,iCACT,CAAEgQ,WAAYuP,GAEhB,EACAC,QAAAA,CAASC,EAAOC,EAAKC,EAAKC,EAAKC,EAAiB,GAC/C,OAAOrzB,KAAKod,QAAQ7R,IACnB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,gCACA,CAAEyf,QAAOC,MAAKC,MAAKC,MAAKC,kBAE1B,EACAC,YAAAA,GACC,OAAOtzB,KAAKod,QAAQ7R,IACnB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,gCAEF,GCvBD+f,EAAe,CACXC,OAAAA,CAAQC,EAAYC,EAAQ,KAAMC,EAAQ,KAAMC,EAAS,MACrD,OAAO5zB,KAAKod,QAAQ7R,IACzB,+BACA,CACCkoB,WAAYA,KACRC,EAAQ,CAACA,WAAS,MAClBC,EAAQ,CAACA,WAAS,MAClBC,EAAS,CAACA,YAAU,CAAA,GAGxB,EAEHC,OAAAA,CAAQC,EAAO,EAAGC,EAAY,GAAIJ,GACjC,OAAO3zB,KAAKod,QAAQ7R,IACnB,+BACA,CACCuoB,OACAC,YACAJ,WAGH,EAEAK,IAAAA,CAAKC,GACJ,OAAOj0B,KAAKod,QAAQ7R,IACnB,4BACA,CACC0oB,MAAOA,GAGV,EACAC,gBAAiB,WAChB,OAAOl0B,KAAKod,QAAQ7R,IACnB,uCACA,CAAA,EAEF,EACA4oB,aAAc,WACb,OAAOn0B,KAAKod,QAAQ7R,IACnB,iDACA,CAAA,EAEF,GC3CD6oB,EAAe,CACXC,gBAAAA,CAAiBtQ,GACX,OAAO/jB,KAAKod,QAAQ7R,IAChB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,yCACA,CAAEuQ,eAAgBA,GAE1B,EACLuQ,SAAAA,CAAU9P,EAAwBiI,GACjC,OAAOzsB,KAAKod,QAAQ7R,IACnB,6BAA6BiZ,KAA0BiI,IACrD,GAEJ,EACA8H,oBAAAA,CAAqB9H,GACpB,OAAOzsB,KAAKod,QAAQ7R,IACnB,qCAAqCkhB,IACnC,GAEJ,EACA+H,yBAAAA,CAA0BvZ,GACzB,OAAOjb,KAAKod,QAAQ7R,IACnB,oDAAoD0P,IAClD,GAEJ,EACAwZ,wBAAAA,CAAyBC,GACxB,OAAO10B,KAAKod,QAAQ7R,IACnB,kDACE,CACDopB,iBAAkBD,EAAOC,iBACzBjI,YAAagI,EAAOhI,aAGvB,EACAkI,iCAAAA,CAAkCtD,GAGjC,OAAOtxB,KAAKod,QAAQrB,KAFR,2DAEkBuV,EADd,CAACuD,QAAS,CAAE,eAAgB,wBAE7C,EACAC,sCAAAA,CAAuCxD,GAGtC,OAAOtxB,KAAKod,QAAQrB,KAFR,gEAEkBuV,EADd,CAACuD,QAAS,CAAE,eAAgB,wBAE7C,EACAE,iCAAAA,CAAkCC,EAAatI,GAC9C,MAAM7R,EAAM,iEAAiEma,iBAA2BtI,IAExGlT,OAAOyb,SAAW3hB,2BAA2BC,SAAWD,2BAA2BE,UAAYqH,CAChG,EACAqa,6BAAAA,CAA8Bja,EAAKka,GAClC,OAAOn1B,KAAKod,QAAQ7R,IACnB,gEAAgE4pB,IAC9D,GAEJ,EACAC,uBAAAA,CAAwBC,GACvB,MAAMlc,EAAU,CACf6b,YAAaK,EAAOL,YACpBM,mBAAoBD,EAAOE,YAAYD,mBACvCrC,MAAOoC,EAAOpC,MACduC,UAAWH,EAAOG,UAClBC,UAAWJ,EAAOI,UAClBC,OAAQL,EAAOK,OACff,iBAAkBU,EAAOV,kBAI1B,OAAO30B,KAAKod,QAAQrB,KAFR,iDAEkB5C,EAAS,KAExC,EACAwc,yBAAAA,CAA0BX,GACzB,MAAM7b,EAAU,CACf6b,eAID,OAAOh1B,KAAKod,QAAQrB,KAFR,mDAEkB5C,EAAS,KACxC,EACAyc,gBAAAA,CAAiB3C,EAAOqC,EAAoBC,EAAaG,EAAQG,GAChE,MAAM1c,EAAU,CACf8Z,QAAOqC,qBAAoBC,cAAaG,SAAQG,qBAIjD,OAAO71B,KAAKod,QAAQrB,KAFR,0CAEkB5C,EAAS,KACxC,EACA2c,cAAAA,CAAejR,GACd,MAAM1L,EAAU,CACf0L,aAID,OAAO7kB,KAAKod,QAAQrB,KAFR,wCAEkB5C,EAAS,KACxC,GC/FD4c,EAAe,CACXC,SAAAA,CAAUC,EAAMzR,GACZ,OAAOxkB,KAAKod,QAAQ7R,IAChB+H,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,qCAAqCyiB,KAAQzR,IAC7C,CAAA,EAER,GCNJ0R,EAAe,CACdtR,OCHc,CACbuR,WAAAA,CAAYtb,EAAKrY,EAAQqR,GACxB,OAAO7T,KAAKod,QAAQ7R,IAAI,iDAAmDsI,EAAOjH,GAAK,IAAMiH,EAAOjV,KAAO,IAAMiV,EAAOuiB,KAAO,IAAMviB,EAAOigB,KAC7I,EACAuC,WAAAA,GACC,OAAOr2B,KAAKod,QAAQ7R,IAAI,iDACzB,EACA+qB,sBAAAA,GACC,OAAOt2B,KAAKod,QAAQ7R,IAAI,4DACzB,EACAgrB,oBAAAA,CAAqB1iB,GACpB,OAAO7T,KAAKod,QAAQ7R,IAAI,0DAA4DsI,EAAOjH,GAAK,IAAMiH,EAAO8d,QAC9G,EACA6E,oBAAAA,CAAqB3iB,GACpB,OAAO7T,KAAKod,QAAQ7R,IAAI,0DAA4DsI,EAAOjH,GAAK,IAAMiH,EAAO8d,QAC9G,EACA8E,WAAAA,CAAY5iB,GACX,OAAO7T,KAAKod,QAAQ7R,IAAI,iDAAkDsI,EAAOjH,GAAK,IAAMiH,EAAO8d,QACpG,EACAP,MAAAA,CAAOvd,GACN,OAAO7T,KAAKod,QAAQ7R,IAAI,4CAA6CsI,EAAOjH,GAAK,IAAMiH,EAAO8d,QAC/F,EACA+E,cAAAA,CAAeC,GACd,OAAO32B,KAAKod,QAAQ7R,IAAI,oDAAsDorB,EAC/E,EACAC,yBAAAA,CAA0B/iB,GACzB,OAAO7T,KAAKod,QAAQ7R,IAAI,+DAAiEsI,EAAOjH,GAAK,IAAMiH,EAAO8d,QACnH,EACAkF,cAAAA,CAAehjB,EAAQtV,GACtB,OAAOyB,KAAKod,QAAQrB,KAAK,oDAAsDlI,EAAOjH,GAAK,IAAMiH,EAAO8d,QACvGpzB,EACF,EACAu4B,YAAAA,CAAaC,GACZ,OAAO/2B,KAAKod,QAAQ7R,IAAI,kDAAoDwrB,EAC7E,EACAC,2BAAAA,CAA4BnR,EAAMjZ,EAAIrO,GACrC,OAAOyB,KAAKod,QAAQrB,KAAK8J,EAAK,iDAAmDjZ,EAChFrO,EACF,EACA04B,WAAAA,CAAYrqB,EAAIrO,GACf,OAAOyB,KAAKod,QAAQrB,KAAK,iDAAmDnP,EAC3ErO,EACF,EACA24B,aAAAA,CAAcH,GACb,OAAO/2B,KAAKod,QAAQrB,KAAK,mDAAqDgb,EAC/E,IC7CFI,EAAe,CACdd,WAAAA,GACC,OAAOr2B,KAAKod,QAAQ7R,IAAI,iDACzB,EACA6rB,yBAAAA,GACC,OAAOp3B,KAAKod,QAAQ7R,IAAI,+DACzB,GCND8rB,EAAe,CAEdjH,mBAAoB,WACnB,OAAOpwB,KAAKod,QAAQ7R,IACnB,uCACA,CAAA,EAEF,EAEA+rB,sBAAuB,SAAU7X,OAAgBxe,EAAWs2B,OAAYt2B,EAAW2pB,OAAS3pB,EAAWu2B,OAAYv2B,GAClH,OAAOjB,KAAKod,QAAQ7R,IACnB,iDACA,CAACkU,kBAAiB8X,cAAa3M,WAAU4M,eAE3C,EAEAC,mCAAoC,SAAUhY,GAC7C,OAAOzf,KAAKod,QAAQ7R,IACnB,+DAA+DkU,IAC/D,GAEF,EACAiY,2BAA4B,SAAUH,EAAa9X,GAClD,OAAOzf,KAAKod,QAAQ7R,IACnB,sDACA,CACCgsB,cACA9X,mBAGH,EACAkY,4BAA6B,SAAUlY,EAAiBwW,GACvD,OAAOj2B,KAAKod,QAAQ7R,IACnB,uDAAuDkU,KAAmBwW,IAC1E,GAGF,EACA2B,qBAAsB,SAAUpT,EAAwByR,GACvD,OAAOj2B,KAAKod,QAAQ7R,IACnB,iDAAiDiZ,KAA0ByR,IAC3E,GAGF,GCAD4B,EAAe,CACX3a,iBACA4a,EACAha,aACA/C,UChDW,CACd,iBAAMJ,GAEL,OAAO3a,KAAKod,QAAQ7R,IADR,0CACiB,KAAM,KACpC,UD6CG9B,EACAwV,aACAsC,SACAW,eACAoB,SACAyU,SEtDW,CAEXC,aAAc,WACZ,OAAOh4B,KAAKod,QAAQ7R,IAClB,yCACC,CAAA,EAEL,EAEA2a,OAAQ,SAAU+R,GAChB,OAAOj4B,KAAKod,QAAQ7R,IAClB,oCAAoC0sB,IACnC,GAEL,EAEHlf,OAAQ,UAAUkf,YAAEA,EAAWpd,IAAEA,EAAG/Z,MAAEA,EAAKo3B,IAAEA,EAAI,OAChD,OAAOl4B,KAAKod,QAAQrB,KACnB,oCAAoCkc,IAClC,CACDpd,IAAKA,EACL/Z,MAAOA,GAGV,EAEGilB,OAAQ,UAAUlL,IAACA,EAAG/Z,MAAEA,EAAKo3B,IAAEA,IAC7B,OAAOl4B,KAAKod,QAAQrB,KAClB,mCACC,CACClB,IAAKA,EACL/Z,MAAOA,EACPo3B,IAAKA,GAGX,GFoBA9T,MACA8M,QACAY,iBACAS,cACA4F,OG3DW,CAEXC,KAAM,WACF,OAAOp4B,KAAKod,QAAQ7R,IACpB,+BAA+B,CAAA,EACnC,EAEA4pB,IAAK,WACD,OAAOn1B,KAAKod,QAAQ7R,IACpB,8BAA8B,CAAA,EAClC,EAEA8sB,QAAS,SAAUC,GACf,OAAOt4B,KAAKod,QAAQ7R,IACpB,mCAAmC+sB,IAAW,GAClD,GH6CAzF,MACAU,MACAa,QACA2B,SACAG,WACAiB,WACApB,SACHwB,YInEc,CACdgB,uBAAwB,WACvB,OAAOv4B,KAAKod,QAAQ7R,IACnB,+CACA,CAAA,EAEF,EACAitB,mBAAoB,SAAUvT,GAC7B,OAAOjlB,KAAKod,QAAQ7R,IACnB,iEACA,CACC0Z,eAAkBA,GAGrB,GJsDAwT,KKpEc,CACdxa,QAAS,WACR,OAAOje,KAAKod,QAAQ7R,IACnB,mCACA,CAAA,EAEF,GL+DAmtB,SMpEc,CACdC,UAAAA,GACC,OAAO34B,KAAKod,QAAQ7R,IACnB,uCACA,CAAA,EAEF,EACAqtB,WAAAA,GACC,OAAO54B,KAAKod,QAAQ7R,IACnB,wCACA,CAAA,EAEF,GNyDA8rB,UACG1Z,SOtDW,CACdkb,MAAAA,GACC,OAAO74B,KAAKod,QAAQ7R,IAAI,gCACzB,ICbDutB,EAAe,CACdC,QAASA,CAACC,EAAKn4B,KACd,GAAIm4B,EAAIx2B,OAAOy2B,iBAAiB7b,QAO/B,YALIvc,GAASq4B,UACZpxB,QAAQqxB,KAAK,0BACbH,EAAIx2B,OAAOy2B,iBAAiB7b,QAAQ8b,QAAQE,aAAav4B,EAAQq4B,WAMnE,SAASG,EAAYxT,EAAMyT,EAAK/6B,EAAMiE,GACrC,GAAmB,iBAARqjB,QAA+B5kB,IAAXuB,GAC7B82B,EAAK/6B,EAAMiE,GAAU,CAACqjB,EAAMyT,EAAK/6B,GAClCsnB,OAAO5kB,OACD,GAAI4kB,EAAM,CAChB,GAAmB,iBAARA,EACV,MAAM,IAAI0T,UAAU,iEACTt4B,IAARq4B,QAA8Br4B,IAAT1C,QAAiC0C,IAAXuB,IAC9CA,EAASqjB,EACTA,OAAO5kB,EAET,CACA,GAAI4kB,EAAM,CAET,IAAKA,EAAK2T,kBAAoB3T,EAAK4T,YAClC,MAAM,IAAIF,UAAU,kCAErB1T,EAAO,CACN2T,gBAAiB3T,EAAK2T,gBACtBC,YAAa5T,EAAK4T,aAGfj3B,EACHA,EAAOqjB,KAAOA,EAEdrjB,EAAS,CAACqjB,OACZ,CAEA,MAAO,CAACyT,EAAK/6B,EAAMiE,EACpB,CAEA,SAASk3B,EAAoBvlB,GAC5B,MAAMnS,EAASmS,EAAS5V,KAMxB,cALO4V,EAAS5V,KACXyD,EAAO23B,KAGX33B,EAAO23B,KAAKxlB,SAAWA,EAFvBnS,EAAO23B,KAAO,CAACxlB,YAGTnS,CACR,CACgBsR,2BAA2BC,SAAWD,2BAA2BE,UACjF,MAAMomB,EAAchmB,MAAM0L,OAAO,CAChCyB,QAAS,IACT8Y,QAASvmB,2BAA2BC,SAAWD,2BAA2BE,UAAY,MAGvFomB,EAAYE,aAAaC,QAAQx3B,IAAIC,IACpC,GAAqB,QAAjBA,EAAOoY,SAAqBpY,EAAOjE,KACtC,OAAOiE,EAER,GAAIA,EAAOjE,gBAAgBy7B,SAC1B,OAAOx3B,EAER,IAAKhD,OAAOy6B,OAAOz3B,EAAOjE,MAAM27B,MAAMj2B,KACjCA,aAAgBk2B,aAEhB56B,MAAM4I,QAAQlE,IACVA,EAAKi2B,MAAMv0B,KAAOA,aAAay0B,SAEpC,CACH,MAAMC,EAAU76B,OAAO86B,QAAQ93B,EAAOjE,MAAMsH,OAAO,CAAC00B,GAAKjgB,EAAKrW,MAC7D,GAAIA,aAAgBk2B,SACnB,IAAK,MAAMljB,KAAQhT,EAClBs2B,EAAGP,SAASQ,OAAOlgB,GAAOrW,EAAKkC,OAAS,EAAI,KAAO,IAAK8Q,QAC/C1X,MAAM4I,QAAQlE,GACpBA,EAAKi2B,MAAMv0B,KAAOA,aAAay0B,OAClCG,EAAGE,SAASngB,GAAOrW,EAEnBA,EAAK2C,QAAQqQ,GAAQsjB,EAAGP,SAASQ,OAAOlgB,GAAOrW,EAAKkC,OAAS,EAAI,KAAO,IAAK8Q,IAG9EsjB,EAAGE,SAASngB,GAAOrW,EAEpB,OAAOs2B,GACL,CACFP,SAAU,IAAIA,SACdS,SAAU,CAAA,IAEXJ,EAAQL,SAASQ,OAAO,YAAaxmB,KAAK0mB,UAAUL,EAAQI,WAC5Dj4B,EAAOjE,KAAO87B,EAAQL,QACvB,CAEA,OAAOx3B,IAGRo3B,EAAYE,aAAa3lB,SAAS5R,IAAI4R,IACC,OAAlCA,EAAS3R,QAAQkd,gBACkB,IAAnCvL,EAAS3R,QAAQkd,eACiB,QAAlCvL,EAAS3R,QAAQkd,eAIjBvL,EAAS5V,KAAKo8B,SACjBxmB,EAAS5V,KAAKo8B,OAASxmB,EAAS5V,KAAKo8B,OAAOlxB,OAC3CgS,IAAQtH,EAAS3R,OAAOiZ,EAAI7c,KAAO,iBAAmBo6B,EAAIx2B,OAAOy2B,iBAAiB7b,QAAQwd,sBAAsBnf,EAAI7c,OAAO6c,EAAKtH,EAAS3R,UALnIk3B,EAAoBvlB,IAS1BpM,GACgB,gBAAdA,EAAM8yB,KACFz5B,QAAQE,OAAO,CAAKw5B,SAAS,KAAU/yB,IAEZ,OAA/BA,EAAMvF,QAAQkd,gBACkB,IAAhC3X,EAAMvF,QAAQkd,eACiB,WAA/B3X,EAAMvF,QAAQkd,cACVte,QAAQE,OAAOyG,GAEnBA,EAAMoM,SACoB,KAAzBpM,EAAMoM,SAASoV,QAClByP,EAAIx2B,OAAOy2B,iBAAiB8B,UAAUC,aAAa,QAASjzB,EAAMkzB,QAASlzB,EAAMgyB,QAAQmB,aAAa,GAC/F95B,QAAQE,OAAO,CAAKw5B,SAAS,KAAU/yB,MAI/CA,EAAMoM,SAAS5V,KAAKo8B,OAAS5yB,EAAMoM,SAAS5V,KAAKo8B,OAAOlxB,OACvDgS,IAAQ1T,EAAMvF,OAAOiZ,EAAI7c,KAAO,iBAAmBo6B,EAAIx2B,OAAOy2B,iBAAiB7b,QAAQwd,sBAAsBnf,EAAI7c,OAAO6c,EAAK1T,EAAMvF,SAE/HuF,EAAMoM,SAAS5V,KAAKo8B,OAAOx0B,OAU1B/E,QAAQE,OAAOyG,GATb3G,QAAQE,OAAO,CAAKw5B,SAAS,KAAU/yB,KACrCA,EAAMgyB,SAChBf,EAAIx2B,OAAOy2B,iBAAiB8B,UAAUC,aAAa,QAASjzB,EAAMkzB,QAASlzB,EAAMgyB,QAAQmB,aAClF95B,QAAQE,OAAO,CAAKw5B,SAAS,KAAU/yB,MAE9CixB,EAAIx2B,OAAOy2B,iBAAiB8B,UAAUI,WAAWpzB,EAAMkzB,SAChD75B,QAAQE,OAAO,CAAKw5B,SAAS,KAAU/yB,MAMhDixB,EAAIx2B,OAAOy2B,iBAAiB7b,QAAU,CACrCsH,OAAO7J,IACN/S,QAAQqxB,KAAK,0DACNS,EAAYlV,OAAO,CAAC7J,SAE5BtP,IAAGA,CAACsa,EAAMyT,EAAKzlB,EAAQrR,KACtBsF,QAAQqxB,KAAK,qDACZG,EAAKzlB,EAAQrR,GAAU62B,EAAYxT,EAAMyT,EAAKzlB,EAAQrR,GACnDqR,IACCrR,EACHA,EAAOqR,OAASA,EAEhBrR,EAAS,CAACqR,WAEL+lB,EAAYruB,IAAI+tB,EAAK92B,IAE7BuZ,KAAIA,CAAC8J,EAAMyT,EAAK/6B,EAAMiE,KACrBsF,QAAQqxB,KAAK,uDACZG,EAAK/6B,EAAMiE,GAAU62B,EAAYxT,EAAMyT,EAAK/6B,EAAMiE,GAC5Co3B,EAAY7d,KAAKud,EAAK/6B,EAAMiE,IAEpCo4B,sBAAuB,CACtBQ,UAAAA,CAAWrzB,EAAOvF,GACjB,MAAMu4B,EAAY/B,EAAIx2B,OAAOy2B,iBAAiB8B,UAE9C,OAAIv4B,GAAQqjB,MACXrjB,EAAOqjB,KAAK2T,kBACZh3B,EAAOqjB,KAAK4T,aAAY,EAAO1xB,EAAMmuB,WAC9B,GAEJ32B,MAAM4I,QAAQJ,EAAMmuB,WACvBnuB,EAAMmuB,SAAStvB,QAAQm0B,EAAUI,aAC1B,GAC4B,iBAAlBpzB,EAAMmuB,WACnB1zB,GAAQud,YACXvgB,OAAOy6B,OAAOlyB,EAAMmuB,UAAUtvB,QAC7B3H,GAAS87B,EAAUC,aAClB,QACAz7B,MAAM4I,QAAQ3F,EAAOud,aAAeiZ,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAGC,EAAEijB,MAAM,KAAM74B,EAAOud,aAAevd,EAAOud,YAC9G9gB,GACA,IAIFO,OAAO86B,QAAQvyB,EAAMmuB,UAAUtvB,QAC9B,EAAE0T,EAAKrb,KAAW87B,EAAUC,aAAa,QAAS1gB,EAAKrb,GAAO,KAEzD,EAGT,EACAq8B,OAAAA,CAAQvzB,EAAOvF,GACd,MAAMu4B,EAAY/B,EAAIx2B,OAAOy2B,iBAAiB8B,UAE1Cv4B,GAAQqjB,KACXrjB,EAAOqjB,KAAK4T,aAAY,EAAO1xB,EAAMkzB,SAC7Bz4B,GAAQud,YAChBgb,EAAUC,aACT,QACAz7B,MAAM4I,QAAQ3F,EAAOud,aAAeiZ,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAGC,EAAEijB,MAAM,KAAM74B,EAAOud,aAAevd,EAAOud,YAC9GhY,EAAMkzB,SACN,GAGDF,EAAUI,WAAWpzB,EAAMkzB,QAC7B,EACAM,GAAAA,CAAIxzB,GACH,MAAMgzB,EAAY/B,EAAIx2B,OAAOy2B,iBAAiB8B,UAE9C,IAAIE,EAAU,GAYd,OAXAA,GAAW,YAAclzB,EAAMkzB,QAAU,OACzCA,GAAW,aAAelzB,EAAMyzB,SAAW,KAC3CP,GAAW,gBAAkBlzB,EAAM0zB,KAAO,KACtC1zB,EAAM2zB,WAAa3zB,EAAM2zB,UAAUv1B,SACtC80B,GAAW,gBACXlzB,EAAM2zB,UAAU90B,QAAQ6U,IACvBwf,GAAW,aAAexf,EAAIxE,KAAO,KACrCgkB,GAAW,WAAaxf,EAAIggB,KAAO,KACnCR,GAAW,eAAiBxf,EAAIkgB,SAAW,QAGrC5zB,EAAM6zB,UACb,IAAK,UACL,IAAK,eACL,IAAK,kBACL,IAAK,eACJb,EAAUC,aAAa,OAAQ,OAASjzB,EAAM6zB,SAAUX,GAAS,GACjE,MACD,IAAK,SACL,IAAK,cACL,IAAK,iBACJF,EAAUC,aAAa,OAAQ,OAASjzB,EAAM6zB,SAAUX,GAAS,GACjE,MACD,QACCA,EAAU,aAAelzB,EAAM6zB,SAAW,OAASX,EACnDF,EAAUc,iBAAiBZ,GAG9B,EACAa,SAAAA,CAAU/zB,GACT,MAAMgzB,EAAY/B,EAAIx2B,OAAOy2B,iBAAiB8B,UAE9C,IAAIE,EAAU,GACdA,GAAW,SAAWlzB,EAAMnG,MAAQ,OACpCq5B,GAAW,YAAclzB,EAAMkzB,QAAU,OACzCA,GAAW,aAAelzB,EAAMyzB,SAAW,KAC3CP,GAAW,gBAAkBlzB,EAAM0zB,KAAO,KACtC1zB,EAAM2zB,WAAa3zB,EAAM2zB,UAAUv1B,SACtC80B,GAAW,gBACXlzB,EAAM2zB,UAAU90B,QAAQ6U,IACvBwf,GAAW,aAAexf,EAAIxE,KAAO,KACrCgkB,GAAW,WAAaxf,EAAIggB,KAAO,KACnCR,GAAW,eAAiBxf,EAAIkgB,SAAW,QAG7CZ,EAAUc,iBAAiBZ,EAC5B,EACAzf,EAAAA,CAAGzT,GACF,MAAMgzB,EAAY/B,EAAIx2B,OAAOy2B,iBAAiB8B,UAE9C,IAAIE,EAAU,QACQh6B,IAAlB8G,EAAMg0B,UACTd,GAAWlzB,EAAMg0B,QAAU,aACT96B,IAAf8G,EAAM8yB,OACTI,GAAW,SAAWlzB,EAAM8yB,KAAO,aAClB55B,IAAd8G,EAAMi0B,MACTf,GAAW,QAAUlzB,EAAMi0B,IAAM,aACZ/6B,IAAlB8G,EAAMkzB,QACTA,GAAW,YAAclzB,EAAMkzB,QAAU,YACdh6B,IAAnB8G,EAAMmuB,WACd+E,GAAW,aAAelzB,EAAMmuB,SAAS+F,KAAK,QAAU,aAClCh7B,IAAnB8G,EAAMyzB,WACTP,GAAW,aAAelzB,EAAMyzB,SAAW,WACzBv6B,IAAf8G,EAAM0zB,OACTR,GAAW,gBAAkBlzB,EAAM0zB,KAAO,MAE3CV,EAAUc,iBAAiBZ,EAC5B,EACAiB,IAAAA,CAAKn0B,EAAOvF,GACX,MAAMu4B,EAAY/B,EAAIx2B,OAAOy2B,iBAAiB8B,UAE9C,IAAIE,EAAU,GACdA,GAAW,oBAAsBlzB,EAAMo0B,WAAa,KACpDlB,GAAW,gBAAkBlzB,EAAM6S,OAAS,KAC5CqgB,GAAW,yBAA2BlzB,EAAMq0B,qBACxC55B,GAAQud,YACXgb,EAAUC,aACT,QACAz7B,MAAM4I,QAAQ3F,EAAOud,aAAeiZ,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAGC,EAAEijB,MAAM,KAAM74B,EAAOud,aAAevd,EAAOud,YAC9GhY,EAAMkzB,SACN,GAGDF,EAAUC,aAAa,QAASjzB,EAAMkzB,QAASA,EACjD,IAKF,MAAMoB,EACLh3B,WAAAA,CAAYi3B,EAAaC,QACXt7B,IAATs7B,GACHv8B,KAAKod,QAAU,CACdsH,OAAO7J,IACN/S,QAAQqxB,KAAK,kCACNH,EAAIx2B,OAAOy2B,iBAAiB7b,QAAQsH,OAAO7J,IAEnDtP,IAAGA,CAACsa,EAAMyT,EAAKzlB,EAAQrR,KACtBsF,QAAQqxB,KAAK,kCACNH,EAAIx2B,OAAOy2B,iBAAiB7b,QAAQ7R,IAAIsa,EAAMyT,EAAKzlB,EAAQrR,IAEnEuZ,KAAIA,CAAC8J,EAAMyT,EAAK/6B,EAAMiE,KACrBsF,QAAQqxB,KAAK,kCACNH,EAAIx2B,OAAOy2B,iBAAiB7b,QAAQrB,KAAK8J,EAAMyT,EAAK/6B,EAAMiE,KAGnEhD,OAAOg9B,eAAex8B,KAAKod,QAAS,UAAW,CAC9C7R,IAAGA,KACFzD,QAAQqxB,KAAK,kCACNH,EAAIx2B,OAAOy2B,iBAAiB7b,QAAQ8b,WAG7CF,EAAIx2B,OAAOy2B,iBAAiB7b,QAAQ8b,QAAUl5B,MAE9CR,OAAOg9B,eAAex8B,KAAM,UAAW,CACtCuL,GAAAA,GACC,OAAQgxB,GAAQv8B,MAAMod,OACvB,IAIFpd,KAAKo5B,aAAakD,GAAa,EAChC,CAEAlD,YAAAA,CAAakD,EAAaG,GACzBj9B,OAAO6M,KAAKiwB,GAAa11B,QAAQ0T,IAChC9a,OAAOg9B,eAAex8B,KAAMsa,EAAK,CAChC/O,GAAAA,GACC,MAA+B,mBAApB+wB,EAAYhiB,GACfgiB,EAAYhiB,GAAK1W,KAAK5D,MACvB,IAAIq8B,EAAqBC,EAAYhiB,GAAMta,KAAKod,QAAQ8b,QAChE,MAGGuD,GAAQ30B,QAAQqxB,KAAK,gDAC3B,EAGD,MAAMD,EAAU,IAAImD,EAAqBxE,GACrCh3B,GAASq4B,UACZpxB,QAAQqxB,KAAK,0BACbD,EAAQE,aAAav4B,EAAQq4B,UAG9BF,EAAIx2B,OAAOy2B,iBAAiB7b,QAAQ8b,QAAUA,EAG9CF,EAAIphB,QAAQ,UAAWohB,EAAIx2B,OAAOy2B,iBAAiB7b,WCtVrD,MASMsf,EAAyB,QACzBC,EAA0B,SASnBC,EAAiB,CAS7BrxB,IAAK,SAASsxB,EAAOC,EAAcC,EAAkB,MACpD,OAAOH,EAAeI,WAAWH,EAAOC,EAhBd,MAgBiDC,EAC5E,EAOAhhB,KAAM,SAAS8gB,EAAOC,EAAcC,EAAkB,MACrD,OAAOH,EAAeI,WAAWH,EAAOC,EAxBb,OAwBiDC,EAC7E,EAKAE,UAAW,SAAS9oB,GAEnB,QAAwB,iBAAbA,IAAyBA,EAAS+oB,eAAeR,KACxDvoB,EAAS+oB,eAAeP,IAzCG,GAyCyBxoB,EAASpM,MAMlE,EAKAo1B,QAAS,SAAShpB,GACjB,OAAQyoB,EAAeK,UAAU9oB,EAClC,EAKAipB,QAAS,SAASjpB,GAEjB,SAAIyoB,EAAeK,UAAU9oB,MAEsB,iBAAtCA,EAASwoB,IAAyCn9B,OAAO6M,KAAK8H,EAASwoB,IAA0Bx2B,OAAS,GACpE,gBAAtCgO,EAASwoB,IAAwCxoB,EAASwoB,GAAyBx2B,OAAS,GACtD,iBAAtCgO,EAASwoB,IAAqF,IAA5CxoB,EAASwoB,GAAyBU,QAC/C,iBAAtClpB,EAASwoB,IAOtB,EAKAW,QAAS,SAASnpB,GAEjB,OAAIyoB,EAAeQ,QAAQjpB,GAEnBA,EAASwoB,GAGV,IACR,EAKAY,SAAU,SAASppB,GAElB,MAAwB,iBAAbA,GACP3U,OAAO6M,KAAK8H,GAAUhO,OAAS,GAC/BgO,EAAS+oB,eAAeP,GAEpBxoB,EAASwoB,GAGV,eACR,EAKAa,aAAc,SAASrpB,GAEtB,MAAwB,iBAAbA,GAAyBA,EAAS+oB,eAAeR,GAEpDvoB,EAASuoB,GAGV,CACR,EAQAe,mBAAoB,SAASZ,GAC5B,IAAIvD,EAAM,KAQV,MAL0C,oBAA/BhmB,6BAEVgmB,EAAMhmB,2BAA2BC,SAAWD,2BAA2BE,UAAY,IAAMqpB,GAGnFvD,CACR,EAKAoE,YAAa,SAASC,EAAYxpB,EAAUypB,GAqB5C,EASAZ,WAAY,SAASH,EAAOC,EAAcl+B,EAAMm+B,GAG/C,IAAIc,EAAe,CAClBjjB,OAAQhc,EACRic,IAAK+hB,EAAea,mBAAmBZ,GACvC9b,QAnL8B,KAkM/B,GArL0B,OA0KtBniB,EAEHi/B,EAAahqB,OAASipB,EAKtBe,EAAat/B,KAAOu+B,EAIU,iBAApBC,EAGV,IAAK,IAAIzgB,KAAQygB,EAAiBc,EAAavhB,GAAQygB,EAAgBzgB,GAIxE,OAAO1I,MAAMiqB,EACd,GC5HKC,EAAqBz7B,SAASC,cAAc,OAE5Cy7B,EAAYv8B,IAAIC,UAAU,CAC/BnD,KAAM,cACN4E,WAAY,CACX86B,UACAC,aAEDn+B,QAAS,CACRo+B,UAAUC,GAgBF,UAfM7qB,2BAA2B8qB,mBAejC,yCAbI,koBAQM9qB,2BAA2B+qB,YAAc,IAAM/qB,2BAA2BgrB,cAAgB,mCACtFH,EAAUlD,QAAQvG,OAAS,mOAMjD6J,eAAAA,CAAgBnoB,GACf3V,UAAU+9B,SAASC,oBAAoBroB,EAAE3R,OAAOE,aAAa,SAAStE,QACvE,GAED4B,SAAAA,GACC67B,EAAmB37B,cAAcC,YAAY07B,EAC9C,EACAz5B,SAAU,CACTq6B,aAAc,WACb,MAAyD,KAAlDprB,2BAA2B8qB,kBACnC,GAEDp7B,SAAoB,4+DAiDrB+6B,EAAUx7B,IAAIo8B,GACdZ,EAAUx7B,IAAIq8B,GAGd,MAAMC,EAAoBd,EAAUj7B,MAAMg7B,GAE1Cz7B,SAASzB,KAAKmC,YAAY+6B,GAG1B,IAAAgB,EAAe,CACd/F,QAASA,CAACC,EAAKn4B,KACTm4B,EAAIx2B,OAAOy2B,iBAAiB9gB,IAChC6gB,EAAIz2B,IAAIw8B,IAET,MAAMhE,EAAY,CACjBiE,YAAAA,CAAa/D,GACZ,GAAI17B,MAAM4I,QAAQ8yB,GACjB,OAAOA,EAAQr0B,QAAQ5G,KAAKg/B,cAC7BH,EAAkBr+B,MAAMy+B,MAAM14B,IAAI,CAAEq1B,SAAU,UAAWsD,QAAS,OAAQxK,OAAQuG,EAASkE,KAAM,KAClG,EACAC,SAAAA,CAAUnE,GACT,GAAI17B,MAAM4I,QAAQ8yB,GACjB,OAAOA,EAAQr0B,QAAQ5G,KAAKo/B,WAC7BP,EAAkBr+B,MAAMy+B,MAAM14B,IAAI,CAAEq1B,SAAU,OAAQsD,QAAS,OAAQxK,OAAQuG,EAASkE,KAAM,KAC/F,EACAE,YAAAA,CAAapE,GACZ,GAAI17B,MAAM4I,QAAQ8yB,GACjB,OAAOA,EAAQr0B,QAAQ5G,KAAKq/B,cAC7BR,EAAkBr+B,MAAMy+B,MAAM14B,IAAI,CAAEq1B,SAAU,OAAQsD,QAAS,UAAWxK,OAAQuG,GACnF,EACAE,UAAAA,CAAWF,GACV,GAAI17B,MAAM4I,QAAQ8yB,GACjB,OAAOA,EAAQr0B,QAAQ5G,KAAKm7B,YAC7B0D,EAAkBr+B,MAAMy+B,MAAM14B,IAAI,CAAEq1B,SAAU,QAASsD,QAAS,UAAWxK,OAAQuG,GACpF,EACAY,gBAAAA,CAAiBZ,GAIhB,GAAI17B,MAAM4I,QAAQ8yB,GACjB,OAAOA,EAAQr0B,QAAQ5G,KAAK67B,kBAC7BgD,EAAkBr+B,MAAM2b,MAAM5V,IAAI,CACjCq1B,SAAU,QACVsD,QAAS19B,IAAI6C,SAAS,IAAM20B,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAGC,EAAE,sBAC7Dsc,OAAQuG,GACV,EACAqE,cAAaA,IACL,IAAIl+B,QAAQ,CAACC,EAASC,KAC5Bu9B,EAAkBU,SAASC,QAAQ,CAClCnZ,MAAO,kBACPoZ,OAAQj+B,IAAI6C,SAAS,IAAM20B,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAGC,EAAE,oBAC5D6iB,QAASz5B,IAAI6C,SAAS,IAAM20B,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAGC,EAAE,yBAC7DsnB,YAAal+B,IAAI6C,SAAS,IAAM20B,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAGC,EAAE,gBACjEunB,YAAa,kBACbC,YAAap+B,IAAI6C,SAAS,IAAM20B,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAGC,EAAE,iBACjEynB,YAAa,qBACbC,MAAAA,GACCz+B,GAAQ,EACT,EACAC,MAAAA,GACCD,GAAQ,EACT,MAIHg3B,QAAQx3B,GACA,IAAIO,QAAQ,CAACC,EAASC,KAC5Bu9B,EAAkBU,SAASC,QAAQ,CAClCnZ,MAAOxlB,GAASwlB,OAAS,kBACzBoZ,OAAQ5+B,GAAS4+B,QAAUj+B,IAAI6C,SAAS,IAAM20B,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAGC,EAAE,oBAC/E6iB,QAASp6B,GAASo6B,SAAW,GAC7ByE,YAAa7+B,GAAS6+B,aAAe,KACrCC,YAAa9+B,GAAS8+B,aAAe,kBACrCC,YAAa/+B,GAAS++B,aAAep+B,IAAI6C,SAAS,IAAM20B,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAGC,EAAE,iBACzFynB,YAAah/B,GAASg/B,aAAe,4BACrCC,MAAAA,GACCz+B,GAAQ,EACT,EACAC,MAAAA,GACCD,GAAQ,EACT,MAIH25B,YAAAA,CAAaY,EAAU96B,EAAOm6B,EAAS8E,GAAS,EAAOC,GAAO,GAC7D,IAAIn/B,EAAU,CAAE+6B,SAAUA,EAAUsD,QAASp+B,EAAO4zB,OAAQuG,EAAS+E,QAEhED,IACJl/B,EAAQs+B,KAAO,KAEhBN,EAAkBr+B,MAAMy+B,MAAM14B,IAAI1F,EACnC,EACAo/B,aAAAA,CAAcC,EAActE,EAAW,OAAQ96B,EAAQ,OAAQi/B,GAAS,EAAOC,GAAO,GAErF,QAAIE,EAAahG,MAAMe,GAA8B,iBAAZA,KACxCiF,EAAat5B,QAAQq0B,GAAWj7B,KAAKg7B,aAAaY,EAAU96B,EAAOm6B,EAAS8E,EAAQC,KAC7E,EAGT,EACAG,iBAAAA,CAAkBp4B,GAEjB,IAAGA,EAAMm1B,eAAe,SAAWn1B,EAAMzJ,KAAK8hC,gBAAkB,aAAaA,cAA7E,CAIA,GAAqB,iBAAVr4B,EACV,OAAOgzB,EAAUc,iBAAiB9zB,GAGnC,GAAIxI,MAAM4I,QAAQJ,IAAUA,EAAMmyB,MAAMze,GAAsB,iBAARA,GACrD,OAAO1T,EAAMmyB,MAAMa,EAAUc,kBAG9B,IAAI9zB,EAAMm1B,eAAe,aAAcn1B,EAAM+yB,QAA7C,CAIA,GAAqB,iBAAV/yB,GAAgC,OAAVA,EAAgB,CAChD,IAAIs4B,EAAS,GAoBb,OAjBIt4B,EAAMm1B,eAAe,aAAen1B,EAAMoM,UAAU5V,MAAMuV,OAC7DusB,GAAU,mBAAqBt4B,EAAMoM,SAAS5V,KAAKuV,OAAOmnB,SAAWlzB,EAAMoM,SAAS5V,KAAKuV,QAAU,OAC3F/L,EAAMm1B,eAAe,aAC7BmD,GAAU,kBAAoBt4B,EAAMkzB,QAAQqF,cAAgB,QAEzDv4B,EAAMm1B,eAAe,WAAan1B,EAAMvF,OAAO06B,eAAe,SACjEmD,GAAU,oBAAsBt4B,EAAMvF,OAAOqY,IAAM,QAEhD9S,EAAMm1B,eAAe,WACxBmD,GAAU,gBAAkBt4B,EAAMw4B,MAAQ,QAG7B,IAAVF,IACHA,EAAS,kBAAoBrsB,KAAK0mB,UAAU3yB,GAAS,QAEtDs4B,GAAU,0BAA4B/sB,2BAA2B+qB,YAAc,IAAM/qB,2BAA2BgrB,cAEzGvD,EAAUc,iBAAiBwE,EACnC,CAGAtF,EAAUc,iBAAiB,mEAAqEvoB,2BAA2B+qB,YAAc,IAAM/qB,2BAA2BgrB,cA5BzK,CAZA,CAyCF,EACAkC,mBAAAA,CAAoBvF,GAEnB,GAAuB,iBAAZA,EACV,OAAOF,EAAUsE,aAAapE,GAG/B,GAAI17B,MAAM4I,QAAQ8yB,GAAU,CAE3B,GAAIA,EAAQf,MAAMv2B,GAAsB,iBAARA,GAC/B,OAAOs3B,EAAQf,MAAMa,EAAUsE,cAGhC,GAAIpE,EAAQf,MAAMv2B,GAAsB,iBAARA,IAA6B,OAARA,IACpD,OAAOs3B,EAAQf,MAAMv2B,IAChBA,EAAIu5B,eAAe,SAAWv5B,EAAIpF,KAAK2+B,eAAe,UACzDnC,EAAUsE,aAAarrB,KAAK0mB,UAAU/2B,EAAIpF,KAAKuV,SAE/CinB,EAAUc,iBAAiB7nB,KAAK0mB,UAAU/2B,KAI9C,CAGuB,iBAAZs3B,GAAoC,OAAZA,EAWnCF,EAAUc,iBAAiB,mEAAqEvoB,2BAA2B+qB,YAAc,IAAO/qB,2BAA2BgrB,eAVtKrD,EAAQiC,eAAe,SAAWjC,EAAQ18B,KAAK2+B,eAAe,UAEjEnC,EAAUsE,aAAarrB,KAAK0mB,UAAUO,EAAQ18B,KAAKuV,SAEnDinB,EAAUc,iBAAiB7nB,KAAK0mB,UAAUO,GAO7C,EACAwF,mBAAAA,CAAoB5a,GACnB,MAAM5gB,EAAQ,IAAIy7B,MAAM,kBACxB7a,EAAK8a,iBAAiB,CAAC,mDAAmD/5B,QAAQ6N,GAAMA,EAAGmsB,cAAc37B,GAS1G,EACA47B,oBAAAA,CAAqB94B,EAAO8d,GAC3B,QAAa5kB,IAAT4kB,GACH,GAAI9d,GAASA,EAAM+4B,WAAaC,KAAKC,aACpC,OAAOvlB,GAAOsf,EAAU8F,qBAAqBplB,EAAK1T,QAEnD,GAA+B,KAA3BA,GAAOoM,UAAUoV,OAAe,CACnC,IAAIoR,EAASiC,EAAeW,SAASx1B,EAAMoM,SAAS5V,MAC9B,iBAAXo8B,IACVA,EAAS5yB,EAAMoM,SAAS5V,MAGzBw8B,EAAU0F,oBAAoB5a,GAG9B,MAAMob,EAAWzhC,OAAO86B,QAAQK,GAAQlxB,OAAO,EAAE6Q,EAAKoa,MACrD,MAAMxkB,EAAQ2V,EAAKvU,cAAc,4BAA8BgJ,EAAM,MACrE,OAAKpK,IAGLA,EAAM0wB,cAAc,IAAIM,YAAY,sBAAuB,CAACxM,aAUrD,KACLpsB,IAAI64B,GAAOA,EAAI,IAIZhlB,EAAQ0J,EAAKvU,cAAc,yBAgBjC,YAfI6K,GAAS8kB,EAAS96B,OACrBgW,EAAMykB,cAAc,IAAIM,YAAY,iBAAkB,CAACxM,OAAQuM,KAY/DA,EAASr6B,QAAQm0B,EAAUI,YAG7B,CAGD,GAA+B,KAA3BpzB,GAAOoM,UAAUoV,OAAe,CACnC,IAAIoR,EAASiC,EAAeW,SAASx1B,EAAMoM,SAAS5V,MACpDw8B,EAAUI,WAA8B,iBAAXR,EAAuBn7B,OAAOy6B,OAAOU,GAAUA,EAC7E,MACCI,EAAUoF,kBAAkBp4B,EAE9B,GAEDixB,EAAIx2B,OAAOy2B,iBAAiB8B,UAAYA,EACxC/B,EAAIphB,QAAQ,YAAaohB,EAAIx2B,OAAOy2B,iBAAiB8B,aC5bvDqG,EAAe,CACdrI,QAASA,CAACC,EAAKn4B,KACd,GAAIm4B,EAAIx2B,OAAOy2B,iBAAiBhc,KAC/B,OAMD,SAASokB,EAAsB1G,EAAQ2G,GAClC/hC,MAAM4I,QAAQwyB,GACjBA,EAAO/zB,QAAQ06B,GAEf9hC,OAAO86B,QAAQK,GAAQ/zB,QACtB,EAAE9F,EAAOygC,KAAUA,EAAK36B,QACvBmB,GAASu5B,EAAKv5B,EAAOjH,IAGzB,CAZKk4B,EAAIx2B,OAAOy2B,iBAAiB8B,WAChC/B,EAAIz2B,IAAIu8B,GAYT,IAAI0C,EAAuB,CAC1BC,SAAS,EACTC,MAAM,EACNC,QAAS,CACR9b,KAAM,CAAC,aAAc,WACrBoZ,MAAO,CAAC,aAAc,UAAW,YAAa,gBAE/C/wB,QAAS,CACR2X,IAAAA,CAAKA,EAAM8U,GACV9U,EAAK2T,kBACLmB,EAAO/zB,QAAQ6U,GAAOoK,EAAK4T,aAC1B,EACAhe,EAAIya,UAAYza,EAAIwf,SAEtB,EACA,WAAMgE,CAAMtE,GACX,MAAMxiB,EAAK6gB,EAAIx2B,OAAOy2B,iBAAiB9gB,GACvC,IAAKA,EACJ,OAAO/W,QAAQE,OAAO,8BAEvBsgC,eAAeC,EAAclH,GAC5BA,EAASA,EAAO90B,OAAO,CAAC7D,EAAQyZ,KAC/B,OAAQA,EAAI7c,MACZ,IAAK,YACL,IAAK,cACA6c,EAAIwf,QACPj5B,EAAOyZ,EAAIwf,SAAW,CAACxf,EAAIZ,KAE3B7Y,EAAO8/B,SAAW,CAACrmB,EAAIZ,KACxB,MACD,IAAK,UACC7Y,EAAO8/B,WACX9/B,EAAO8/B,SAAW,IACnB9/B,EAAO8/B,SAASx7B,KAAKmV,EAAIwf,SACzB,MACD,IAAK,aACJz7B,OAAO86B,QAAQ7e,EAAIya,UACjBtvB,QAAQ,EAAEm7B,EAAOp+B,MACZ3B,EAAO+/B,KACX//B,EAAO+/B,GAAS,IACbxiC,MAAM4I,QAAQxE,GACjB3B,EAAO+/B,GAAOz7B,QAAQ3C,GAEtB3B,EAAO+/B,GAAOz7B,KAAK3C,KAIvB,OAAO3B,GACL,CAAA,GACH,IAAIgkB,EAAU,EACd,MAAMgc,QAAa5gC,QAAQ+zB,IAAI31B,OAAO86B,QAAQK,GAC5CvzB,KAAK,CAACC,EAAGC,IAAM,CAAC,YAAYwC,QAAQxC,EAAE,IAAM,CAAC,YAAYwC,QAAQzC,EAAE,KACnEiB,IAAIs5B,OAAQG,EAAOC,MACnB,GAAa,YAATD,EAAqB,OAClB5pB,EAAG0E,aAAa,aAEtBklB,EAAQ,sBADQ5pB,EAAGC,EAAE,qBACqB,OAC3C,MACC2pB,EAAQ,OAASA,EAAQ,QAG1B,OADA/b,GAAWgc,EAAK77B,OACT47B,EACJ,OACAC,EAAK/F,KAAK,aACV,WAEL,MAAO,CACNjW,UACAgc,OAEF,CAEA,IAAIhc,EAASgc,EACTziC,MAAM4I,QAAQwyB,KACd3U,UAASgc,cAAeH,EAAclH,MAEtC3U,UAASgc,cAAexiC,OAAO86B,QAAQK,GACxC90B,OAAO+7B,MAAOr4B,GAAMzI,EAAOygC,MAC3B,MAAMv/B,QAAeuH,GACfyc,QAAEA,EAAOgc,KAAEA,SAAeH,EAAcN,GAO9C,OANAv/B,EAAOgkB,SAAWA,EAClBhkB,EAAOggC,KAAK17B,KAAK,OACdxF,EACA,gBACAkhC,EAAK/F,KAAK,IACV,cACIj6B,GACLZ,QAAQC,QAAQ,CAAE2kB,QAAS,EAAGgc,KAAM,aAGnC7pB,EAAG0E,aAAa,MACtB,MAAMolB,EAAW9pB,EAAGC,EAAE,cAAe,CAAE8pB,EAAGlc,IAE1CgT,EAAIx2B,OAAOy2B,iBAAiB8B,UAAUC,aACrC,QACAiH,EACA,OAASD,EAAK/F,KAAK,IAAM,SACzB,GACA,EAEF,EACAV,GAAAA,CAAIZ,GACH0G,EAAsB1G,EAAQ,CAAC5yB,EAAOjH,KACrC,IAAIm6B,EAAU,GAYd,OAXAA,GAAW,YAAclzB,EAAMkzB,QAAU,OACzCA,GAAW,aAAelzB,EAAMyzB,SAAW,KAC3CP,GAAW,gBAAkBlzB,EAAM0zB,KAAO,KACtC1zB,EAAM2zB,WAAa3zB,EAAM2zB,UAAUv1B,SACtC80B,GAAW,gBACXlzB,EAAM2zB,UAAU90B,QAAQ6U,IACvBwf,GAAW,aAAexf,EAAIxE,KAAO,KACrCgkB,GAAW,WAAaxf,EAAIggB,KAAO,KACnCR,GAAW,eAAiBxf,EAAIkgB,SAAW,QAGrC5zB,EAAM6zB,UACb,IAAK,UACL,IAAK,eACL,IAAK,kBACL,IAAK,eACA96B,EACHA,GAAS,SAAWiH,EAAM6zB,SAE1B96B,EAAQ,OAASiH,EAAM6zB,SACxB5C,EAAIx2B,OAAOy2B,iBAAiB8B,UAAUC,aAAa,OAAQl6B,EAAOm6B,GAAS,GAC3E,MACD,IAAK,SACL,IAAK,cACL,IAAK,iBACAn6B,EACHA,GAAS,SAAWiH,EAAM6zB,SAE1B96B,EAAQ,OAASiH,EAAM6zB,SACxB5C,EAAIx2B,OAAOy2B,iBAAiB8B,UAAUC,aAAa,OAAQl6B,EAAOm6B,GAAS,GAC3E,MACD,QACCA,EAAU,aAAelzB,EAAM6zB,SAAW,OAASX,EAC/Cn6B,IACHm6B,EAAUn6B,EAAQ,OAASm6B,GAC5BjC,EAAIx2B,OAAOy2B,iBAAiB8B,UAAUc,iBAAiBZ,KAI3D,EACAa,SAAAA,CAAUnB,GACT0G,EAAsB1G,EAAQ,CAAC5yB,EAAOjH,KACrC,IAAIm6B,EAAU,GACVn6B,IACHm6B,GAAWn6B,EAAQ,QACpBm6B,GAAW,SAAWlzB,EAAMnG,MAAQ,OACpCq5B,GAAW,YAAclzB,EAAMkzB,QAAU,OACzCA,GAAW,aAAelzB,EAAMyzB,SAAW,KAC3CP,GAAW,gBAAkBlzB,EAAM0zB,KAAO,KACtC1zB,EAAM2zB,WAAa3zB,EAAM2zB,UAAUv1B,SACtC80B,GAAW,gBACXlzB,EAAM2zB,UAAU90B,QAAQ6U,IACvBwf,GAAW,aAAexf,EAAIxE,KAAO,KACrCgkB,GAAW,WAAaxf,EAAIggB,KAAO,KACnCR,GAAW,eAAiBxf,EAAIkgB,SAAW,QAG7C3C,EAAIx2B,OAAOy2B,iBAAiB8B,UAAUc,iBAAiBZ,IAEzD,EACAzf,EAAAA,CAAGmf,GACF0G,EAAsB1G,EAAQ,CAAC5yB,EAAOjH,KACrC,IAAIm6B,EAAU,GACVn6B,IACHm6B,GAAWn6B,EAAQ,aACEG,IAAlB8G,EAAMg0B,UACTd,GAAWlzB,EAAMg0B,QAAU,aACT96B,IAAf8G,EAAM8yB,OACTI,GAAW,SAAWlzB,EAAM8yB,KAAO,aAClB55B,IAAd8G,EAAMi0B,MACTf,GAAW,QAAUlzB,EAAMi0B,IAAM,aACZ/6B,IAAlB8G,EAAMkzB,QACTA,GAAW,YAAclzB,EAAMkzB,QAAU,YACdh6B,IAAnB8G,EAAMmuB,WACd+E,GAAW,aAAelzB,EAAMmuB,SAAS+F,KAAK,QAAU,aAClCh7B,IAAnB8G,EAAMyzB,WACTP,GAAW,aAAelzB,EAAMyzB,SAAW,WACzBv6B,IAAf8G,EAAM0zB,OACTR,GAAW,gBAAkBlzB,EAAM0zB,KAAO,MAE3CzC,EAAIx2B,OAAOy2B,iBAAiB8B,UAAUc,iBAAiBZ,IAEzD,EACAiB,IAAAA,CAAKvB,GACJ0G,EAAsB1G,EAAQ,CAAC5yB,EAAOjH,KACjCA,EACHA,GAAS,KAAOiH,EAAMkzB,QAEtBn6B,EAAQiH,EAAMkzB,QAEf,IAAIA,EAAU,GACdA,GAAW,oBAAsBlzB,EAAMo0B,WAAa,KACpDlB,GAAW,gBAAkBlzB,EAAM6S,OAAS,KAC5CqgB,GAAW,yBAA2BlzB,EAAMq0B,qBAE5CpD,EAAIx2B,OAAOy2B,iBAAiB8B,UAAUC,aACrC,QACAl6B,EACAm6B,GACA,IAGH,IAOF,SAASkH,EAAWtc,EAAMyT,EAAK/6B,EAAMiE,GACpC,GAAmB,iBAARqjB,QAA+B5kB,IAAXuB,GAC7B82B,EAAK/6B,EAAMiE,GAAU,CAACqjB,EAAMyT,EAAK/6B,GAClCsnB,OAAO5kB,OACD,GAAI4kB,EAAM,CAChB,GAAmB,iBAARA,EACV,MAAM,IAAI0T,UAAU,iEACTt4B,IAARq4B,QAA8Br4B,IAAT1C,QAAiC0C,IAAXuB,IAC9CA,EAASqjB,EACTA,OAAO5kB,EAET,CACA,GAAI4kB,EAAM,CAET,IAAKA,EAAK2T,kBAAoB3T,EAAK4T,YAClC,MAAM,IAAIF,UAAU,kCAErB1T,EAAO,CACN2T,gBAAiB3T,EAAK2T,gBACtBC,YAAa5T,EAAK4T,aAGfj3B,EACHA,EAAOqjB,KAAOA,EAEdrjB,EAAS,CAACqjB,OACZ,CAEA,MAAO,CAACyT,EAAK/6B,EAAMiE,EACpB,CACA,SAAS4/B,EAAmBjuB,GAC3B,GAA6B,iBAAlBA,EAAS5V,MAAqB4V,EAAS5V,gBAAgBO,OACjE,OAAOsjC,EAAmB,CAAE7jC,KAAM4V,IAEnC,MAAMnS,EAASmS,EAAS5V,KAExB,cADO4V,EAAS5V,KACXyD,GAEAA,EAAO23B,KAGX33B,EAAO23B,KAAKxlB,SAAWA,EAFvBnS,EAAO23B,KAAO,CAAExlB,YAGVnS,GALC,CAAC23B,KAAM,CAACxlB,YAAW5V,KAAM,KAMlC,CACA,SAAS8jC,EAAoB7/B,GAC5B,IAAe,IAAXA,GAA+B,QAAXA,EACvB,MAAO,IAAKg/B,EAAsBC,SAAS,EAAOC,MAAM,GAEzD,IAAKl/B,IAAqB,IAAXA,EACd,MAAO,IAAKg/B,GAEb,GAAe,YAAXh/B,EACH,MAAO,IAAKg/B,EAAsBE,MAAM,GAEzC,GAAe,SAAXl/B,EACH,MAAO,IAAKg/B,EAAsBC,SAAS,GAE5C,MAAMA,QAAEA,EAAOC,KAAEA,EAAIxzB,QAAEA,EAAOyzB,QAAEA,GAAYn/B,EAa5C,OAXAA,EAAS,IAAKg/B,GAEdhiC,OAAO86B,QAAQ,CAAEoH,OAAMD,YAAW76B,QAAQ,EAAE0T,EAAKrb,WAClCgC,IAAVhC,IACHuD,EAAO8X,GAAOrb,KAEhBO,OAAO86B,QAAQ,CAAEpsB,UAASyzB,YAAW/6B,QAAQ,EAAE0T,EAAKrb,WACrCgC,IAAVhC,IACHuD,EAAO8X,GAAO,IAAK9X,EAAO8X,MAASrb,MAG9BuD,CACR,CACA,SAAS8/B,EAAkB9/B,GAC1B,MAAMR,EAASqgC,EAAoB7/B,GAAQkd,eAE3C,GAAKld,GAAQqjB,KAEN,CACN,MAAM0c,EAAcvgC,EAAOkM,QAAQ2X,KACnC7jB,EAAOkM,QAAU,IAAKlM,EAAOkM,QAAS2X,KAAM8U,GAAU4H,EAAY//B,EAAOqjB,KAAM8U,GAChF,MAJC34B,EAAO2/B,QAAU,IAAK3/B,EAAO2/B,QAAS9b,KAAM,IAM7C,OAAO7jB,CACR,CACA,SAASwgC,EAAez6B,GACvB,OAAIA,EAAMoM,SACoB,KAAzBpM,EAAMoM,SAASoV,OACX,CAAC,CACP3qB,KAAM,YACNq8B,QAASlzB,EAAMkzB,QACfpgB,IAAK9S,EAAMgyB,QAAQmB,cAGcj6B,MAA9B8G,EAAMoM,SAAS5V,KAAKo8B,OAA4B,GAC7C5yB,EAAMoM,SAAS5V,KAAKo8B,OAElB5yB,EAAMgyB,QACT,CAAC,CACPn7B,KAAM,cACNq8B,QAASlzB,EAAMkzB,QACfpgB,IAAK9S,EAAMgyB,QAAQmB,cAGb,CAAC,CACPt8B,KAAM,SACNq8B,QAASlzB,EAAMkzB,SAGlB,CACA,SAASwH,EAAoB/iB,EAAeib,GAC3C,MAAM34B,EAAS,CAAA,EACT0gC,EAAO,GAEb,GAAczhC,MAAV05B,EAAqB,MAAO,CAAA,EAEhC,KAAOA,EAAOx0B,QACbu8B,EAAKp8B,KAAKq0B,EAAO7uB,OAClB,IAAK,IAAI/D,KAAS26B,EAAM,CACvB,IAAI9jC,EAAOmJ,EAAMnJ,KACb+jC,EAAU,KACd,IAAK,IAAIvqB,KAAKsH,EAAciiB,QAAS,CACpC,IAAIiB,EAAsBljB,EACxBiiB,QAAQvpB,GACRlZ,SAASN,GACPikC,EAAoBnjB,EAAcxR,QAAQkK,GAC9C,GAAIwqB,GAAuBC,IAC1BF,EAAUvqB,EACK,QAAXuqB,GACH,KAEH,CACIA,IACH/jC,EAAO+jC,GACQjjB,EAAcxR,QAAQtP,IAEhCoD,EAAOpD,KACXoD,EAAOpD,GAAQ,IACZW,MAAM4I,QAAQJ,GACjB/F,EAAOpD,GAAM0H,QAAQyB,GAErB/F,EAAOpD,GAAM0H,KAAKyB,IAGpB4yB,EAAOr0B,KAAKyB,EACb,CACA,OAAO/F,CACR,MArJ+Bf,IAA3BJ,GAAS6e,gBACZ8hB,EAAuBa,EAAoBxhC,EAAQ6e,gBAsJpD,MAAMka,EAAchmB,MAAM0L,OAAO,CAChCyB,QAAS,IACT8Y,QAASvmB,2BAA2BC,SACjCD,2BAA2BE,UAC3B,MAGJomB,EAAYE,aAAaC,QAAQx3B,IAAIC,IACpC,GAAqB,QAAjBA,EAAOoY,SAAqBpY,EAAOjE,KACtC,OAAOiE,EAER,GAAIA,EAAOjE,gBAAgBy7B,SAC1B,OAAOx3B,EAER,IAAKhD,OAAOy6B,OAAOz3B,EAAOjE,MAAM27B,MAAMj2B,KACjCA,aAAgBk2B,aAEhB56B,MAAM4I,QAAQlE,IACVA,EAAKi2B,MAAMv0B,KAAOA,aAAay0B,SAEpC,CACH,MAAMC,EAAU76B,OAAO86B,QAAQ93B,EAAOjE,MAAMsH,OAAO,CAAC00B,GAAKjgB,EAAKrW,MAC7D,GAAIA,aAAgBk2B,SACnB,IAAK,MAAMljB,KAAQhT,EAClBs2B,EAAGP,SAASQ,OAAOlgB,GAAOrW,EAAKkC,OAAS,EAAI,KAAO,IAAK8Q,QAC/C1X,MAAM4I,QAAQlE,GACpBA,EAAKi2B,MAAMv0B,KAAOA,aAAay0B,OAClCG,EAAGE,SAASngB,GAAOrW,EAEnBA,EAAK2C,QAAQqQ,GAAQsjB,EAAGP,SAASQ,OAAOlgB,GAAOrW,EAAKkC,OAAS,EAAI,KAAO,IAAK8Q,IAG9EsjB,EAAGE,SAASngB,GAAOrW,EAEpB,OAAOs2B,GACL,CACFP,SAAU,IAAIA,SACdS,SAAU,CAAA,IAEXJ,EAAQL,SAASQ,OAAO,YAAaxmB,KAAK0mB,UAAUL,EAAQI,WAC5Dj4B,EAAOjE,KAAO87B,EAAQL,QACvB,CAEA,OAAOx3B,IAGRo3B,EAAYE,aAAa3lB,SAAS5R,IACjC4R,IACuC,OAAlCA,EAAS3R,QAAQkd,gBACkB,IAAnCvL,EAAS3R,QAAQkd,eACiB,QAAlCvL,EAAS3R,QAAQkd,eAIjBvL,EAAS5V,KAAKo8B,SACjBxmB,EAAS5V,KAAKo8B,OAASxmB,EAAS5V,KAAKo8B,OAAOlxB,OAC3CgS,IAAQtH,EAAS3R,OAAOiZ,EAAI7c,KAAO,iBAAmBo6B,EAAIx2B,OAAOy2B,iBAAiBhc,KAAK2d,sBAAsBnf,EAAI7c,OAAO6c,EAAKtH,EAAS3R,UALhI4/B,EAAmBjuB,IAU5BpM,IACC,GAAkB,gBAAdA,EAAM8yB,KACT,OAAOz5B,QAAQE,OAAO,CAAEw5B,SAAS,KAAS/yB,IAE3C,MAAM+6B,EAAcR,EAAkBv6B,EAAMvF,QAE5C,IAAKsgC,EAAYpB,KAChB,OAAOtgC,QAAQE,OAAOyG,GAEvB,MAAMg7B,EAAYP,EAAez6B,GAE3B4yB,EAAS8H,EAAoBK,EAAaC,GAEhD,IAAK,IAAInkC,KAAQ+7B,EAChBmI,EAAY50B,QAAQtP,GAAM+7B,EAAO/7B,IAGlC,OAAImkC,EAAU58B,OACN/E,QAAQE,OAAOyG,GAEhB3G,QAAQE,OAAO,CAAEw5B,SAAS,KAAS/yB,MAI5CixB,EAAIx2B,OAAOy2B,iBAAiBhc,KAAO,CAClCyH,OAAO7J,GACC+e,EAAYlV,OAAO,CAAC7J,QAE5BtP,IAAGA,CAACsa,EAAMyT,EAAKzlB,EAAQrR,MACrB82B,EAAKzlB,EAAQrR,GAAU2/B,EAAWtc,EAAMyT,EAAKzlB,EAAQrR,GAClDqR,IACCrR,EACHA,EAAOqR,OAASA,EAEhBrR,EAAS,CAACqR,WAEL+lB,EAAYruB,IAAI+tB,EAAK92B,IAE7BuZ,KAAIA,CAAC8J,EAAMyT,EAAK/6B,EAAMiE,MACpB82B,EAAK/6B,EAAMiE,GAAU2/B,EAAWtc,EAAMyT,EAAK/6B,EAAMiE,GAC3Co3B,EAAY7d,KAAKud,EAAK/6B,EAAMiE,IAEpC8S,IAAAA,CAAK4jB,EAAS8J,EAAiBnd,GAC9B,GAAItmB,MAAM4I,QAAQ+wB,GAAU,CAC3B,MAAMjc,EAAO+b,EAAIx2B,OAAOy2B,iBAAiBhc,KAEzC,OAAO7b,QACLwe,WAAWsZ,EAAQ5wB,IAAI,CAAC9F,EAAQsE,KAC3BvH,MAAM4I,QAAQ3F,KAClBA,EAAS,CAAC,IAAMsE,EAAOtE,IACjBya,EAAK3H,KAAK9S,EAAO,GAAI,CAC3Bud,YAAavd,EAAO,GACpBkd,eAAe,OAGhB/c,KAAKX,IACL,MAAM,CAAA,CAAMQ,GAAW2/B,EAAWtc,OAAM5kB,OAAWA,EAAW+hC,GAAmB,IAC3EF,EAAcR,EAAkB9/B,GAEtC,IAAKsgC,EAAYrB,UAAYqB,EAAYpB,KACxC,OAAO1/B,EAGR,MAAMihC,EAAc,CAAA,EACpB,IAAK,IAAI15B,KAAOvH,EAAQ,CACvB,MAAQkhC,EAASj/B,GAAwB,cAAfsF,EAAIggB,OAC3B,CAAEuZ,EAAYrB,QAASl4B,EAAItK,OAC3B,CAAE6jC,EAAYpB,KAAMn4B,EAAI45B,QAC3B,IAAKD,EACJ,OAED,MAAMvI,EAAS8H,EAAoBK,EAAaN,EAAev+B,IAE/D,IAAK,IAAIrF,KAAQ+7B,EACXsI,EAAYrkC,GAKhBqkC,EAAYrkC,GAAMqF,EAAKzB,OAAOud,aAAe4a,EAAO/7B,GAJpDqkC,EAAYrkC,GAAQ,CACnB,CAACqF,EAAKzB,OAAOud,aAAc4a,EAAO/7B,GAKtC,CAEA,IAAK,IAAIwkC,KAAWH,EACnBH,EAAY50B,QAAQk1B,GAASH,EAAYG,IAG1C,OAAOphC,GAEV,CACA,IAAI4Y,OAAEA,EAAMC,IAAEA,EAAGhH,OAAEA,EAAMrR,OAAEA,GAAW02B,EAStC,YARwBj4B,IAApB+hC,IACHxgC,EAASwgC,GAELpoB,IACJA,EAAS,OAENA,EAAOwlB,cACVxlB,EAASA,EAAOwlB,eACH,OAAVxlB,EACI5a,KAAKuL,IAAIsa,EAAMhL,EAAKhH,EAAQrR,GACf,QAAVoY,EACH5a,KAAK+b,KAAK8J,EAAMhL,EAAKhH,EAAQrR,QAEpCsF,QAAQC,MAAM,8BAA+B6S,EAE/C,EACAyoB,gBAAgB7gC,GACR8/B,EAAkB9/B,IAI3Bw2B,EAAIphB,QAAQ,OAAQohB,EAAIx2B,OAAOy2B,iBAAiBhc,QC3hBlDqmB,EAAe,CACdzmB,aAAaW,IACL,CACN5C,OAAQ,MACRC,IAAK,uCAAyC2C,IAGhDC,YAAWA,CAACC,EAAWC,KAEf,CACN/C,OAAQ,OACRC,IAAK,uCACLhH,OAJc,CAAC6J,aAAYC,cAO7BC,YAAWA,KACH,CACNhD,OAAQ,MACRC,IAAK,yCAGPgD,qBAAoBA,KACZ,CACNjD,OAAQ,MACRC,IAAK,8CCrCR,MAAM6C,EAAalc,IAAI+hC,SAAS,IAC1BC,EAAiB,CAAA,EACvB,IAAIC,GAAgBjiC,IAAIK,IAAIyR,2BAA2BmwB,eAC5CC,GAAcliC,IAAI6C,SAAS,IACjCo/B,GAAcxkC,MACXqU,2BAA2BqwB,iBAAiBC,KAAKjmB,GAAYA,EAASgW,SAAW8P,GAAcxkC,OAAO4kC,QAD7E,MAoBjC,MAAM/L,GAAU,CACf2L,iBACAC,eACAjmB,WAAAA,CAAYE,GACX,MAAMmmB,EAAWtkC,OAAO6M,KAAKqR,GAC7B,OAAO1d,KAAKwC,OAAOy2B,iBAAiBhc,KAClC3H,KAAKguB,EAAW7lB,YAAYqmB,EAAUnmB,IACtChb,KAAK4G,IACLA,EAAIhL,KAAKqI,QAAQm9B,IAChBrmB,EAAWqmB,EAAIvmB,UAAUumB,EAAIC,QAAUD,EAAIE,OAI5CR,GAAcxkC,MAAQ0e,EAEfpU,GAEV,EACAsT,YAAAA,CAAaW,GACZ,OAAIje,MAAM4I,QAAQqV,GACVpc,QAAQ+zB,IAAI3X,EAASlV,IAAItI,KAAKwC,OAAOy2B,iBAC1C9gB,GAAG0E,gBAED2mB,EAAehmB,KACnBgmB,EAAehmB,GAAYxd,KAAKwC,OAAOy2B,iBAAiBhc,KACtD3H,KAAKguB,EAAWzmB,aAAaW,IAC7B7a,KAAK4G,GAAOA,GAAKhL,KA1CtB,SAAyB6b,EAAKoD,GAC7B,OAAOpD,EAAI3Q,OAAO2M,GAAKA,EAAEoH,UAAYA,GAAU3X,OAAO,CAAC0D,EAAK26B,KACtD36B,EAAI26B,EAAKF,UACbz6B,EAAI26B,EAAKF,QAAUE,EAAKD,MAClB16B,GACL,CAAA,EACJ,CAoC6B46B,CAAgB56B,EAAIhL,KAAMif,GAAY,CAAA,GAC9D7a,KAAK4G,IACLmU,EAAWF,GAAYjU,KAEnBi6B,EAAehmB,GACvB,EACA4mB,KAAAA,CAAM5mB,EAAUwmB,EAAQnwB,GAEvB,OADA/L,QAAQqxB,KAAK,cACN33B,IAAI6C,SAAS,IAAMrE,KAAKoY,EAAEoF,EAAUwmB,EAAQnwB,GACpD,EACAuE,CAAAA,CAAEoF,EAAUwmB,EAAQnwB,GAQnB,QAPe5S,IAAX4S,IACFtU,MAAM4I,QAAQqV,IAAgC,GAAnBA,EAASrX,QACpCqX,EAAS6mB,OAAuC,GAA9B7mB,EAAS6mB,MAAM,KAAKl+B,UAEvC0N,EAASmwB,GACRxmB,EAAUwmB,GAAUxmB,EAAS6mB,MAAQ7mB,EAAS6mB,MAAM,KAAO7mB,QAE9Cvc,IAAX+iC,EAEH,OADAl8B,QAAQC,MAAM,gBAAiByV,EAAUwmB,EAAQnwB,GAC1C,GAER,IAAIywB,EAAM9iC,IAAI6C,SAAS,IACjBqZ,EAAWF,GA1DnB,SAAiCA,EAAUwmB,EAAQnwB,GAClD,IAAI7R,EAAS0b,EAAWF,GAAUwmB,GAClC,OAAKhiC,GAED6R,IACH7R,EAASA,EAAO6gB,QAAQ,eAAgB,CAAC0hB,EAAOC,SAAsBvjC,IAAf4S,EAAO2wB,GAAoBD,EAAQ1wB,EAAO2wB,KAC3FxiC,GAHC,aAAegiC,EAAS,IAIjC,CAqDUS,CAAwBjnB,EAAUwmB,EAAQnwB,GADzC,IAKT,OAFK6J,EAAWF,IACfxd,KAAK6c,aAAaW,GACZ8mB,EAAIrlC,KACZ,GAGD,IAAAylC,GAAe,CACd3L,OAAAA,CAAQC,EAAKn4B,GACPm4B,EAAIx2B,OAAOy2B,iBAAiB7b,SAChC4b,EAAIz2B,IAAIu2B,GACJE,EAAIx2B,OAAOy2B,iBAAiBhc,MAChC+b,EAAIz2B,IAAI6+B,GACTpI,EAAIx2B,OAAOy2B,iBAAiB9gB,GAAK,CAChCC,EAAG0f,GAAQ1f,EACXyE,aAAc8nB,GAAO7M,GAAQjb,aAAavH,KAAK0jB,EAAK2L,GACpDlnB,YAAamnB,GAAQ9M,GAAQra,YAAYnI,KAAK0jB,EAAK4L,GACnDnB,cAAeA,GACfC,eACAU,MAAOtM,GAAQsM,OAEhBpL,EAAIphB,QAAQ,KAAMohB,EAAIx2B,OAAOy2B,iBAAiB9gB,GAC/C,gECtGD,IAAI0sB,GAAarjC,IAAIK,IAAIyR,2BAA2BwxB,MAAMxmC,MAC1D,MAAMymC,GAAczxB,2BAA2BwxB,MAAME,MAE/CC,GAAeH,IACpB,IAAKA,EAAO,OAEZ,IAAK,MAAMA,KAASC,GACnB1iC,SAAS6iC,gBAAgBx2B,UAAU7G,OAAOi9B,GAE3CD,GAAW5lC,MAAQ6lC,EACnBziC,SAAS6iC,gBAAgBx2B,UAAUnI,IAAIu+B,GAEvCziC,SAASzB,KAAKukC,aAAa,gBAAiBL,GAE5C,IAAIM,EAAa/iC,SAASiP,cAAc,2CAC3B,QAATwzB,EACHM,EAAWC,WAAWC,KAAKrmC,MAAQmmC,EAAWC,WAAWC,KAAKrmC,MAAM4jB,QAAQ,wBAAyB,yBAClF,SAATiiB,GAINM,EAAWC,WAAWC,KAAKrmC,MAAMC,SAAS,2BAH9CkmC,EAAWC,WAAWC,KAAKrmC,MAAQmmC,EAAWC,WAAWC,KAAKrmC,MAAM4jB,QAAQ,uBAAwB,0BAOrG0iB,aAAaC,QAAQ,QAASV,IAe/B,IAAAW,GAAe,CACd1M,QAASA,CAACC,EAAIn4B,KAEbwB,SAAS6iC,gBAAgBx2B,UAAUnI,IAAIs+B,GAAW5lC,OAf5BymC,MAEvB,IAAIZ,EAAQS,aAAaI,QAAQ,SAC5Bb,GAAUC,GAAY7lC,SAAS4lC,KAEnCA,EAAQC,GAAY,GACpBQ,aAAaC,QAAQ,QAAQV,IAE9BG,GAAYH,IASXY,GAEA1M,EAAIx2B,OAAOy2B,iBAAiB2M,OAAS,CACpCf,cACAE,eACAc,YAAcf,IACbG,GAAYH,OCnDhB,MAAMgB,GAAY7mC,IACjB,MAAM8mC,EAAM9mC,EAAMoW,SAAS,IAC3B,OAAsB,IAAf0wB,EAAI5/B,OAAe,IAAM4/B,EAAMA,GAGvC,SAASC,GAAeC,GAMvB,OADgB,IAHR1sB,SAAS0sB,EAASC,UAAU,EAAG,GAAI,IAGf,IAFpB3sB,SAAS0sB,EAASC,UAAU,EAAG,GAAI,IAEH,IADhC3sB,SAAS0sB,EAASC,UAAU,EAAG,GAAI,KACK,KACjC,IAAO,QAAU,OACjC,CAEA,IAAAC,GAAe,CACd5lC,OAAAA,CAAQ6lC,EAASC,GAChB,MAAMC,EAAU9sB,OAAOC,iBAAiB2sB,GAASG,gBACjD,IAAIC,EAAW,IAAIC,OAAO,mFACtBC,EAAQJ,EAAQ/B,MAAMiC,GAC1B,GAAIE,EAAO,CACNA,EAAMvgC,OAAS,GAClB2B,QAAQC,MAAM,4BAEf,IAAI4+B,EAAIptB,SAASmtB,EAAM,GAAI,IACvBE,EAAIrtB,SAASmtB,EAAM,GAAI,IACvBp/B,EAAIiS,SAASmtB,EAAM,GAAI,IACvBG,EAAW,IAAIf,GAASa,KAAKb,GAASc,KAAKd,GAASx+B,KACxD8+B,EAAQ12B,MAAMo3B,MAAQd,GAAea,EACtC,MAGCT,EAAQ12B,MAAMo3B,MAAQd,GAAeM,EAEvC,GC7BD,MAAMS,GAAkB,CACvBC,YAAa,CACZp6B,GAAI,iBACJq6B,SAAU,8BACVC,OAAQ,CACP,oBAGFC,OAAQ,CACPv6B,GAAI,MACJq6B,SAAU,uBACVC,OAAQ,CACP,UACA,QACA,YAGFtiB,OAAQ,CACPhY,GAAI,YACJq6B,SAAU,oBAEXG,QAAS,CACRx6B,GAAI,cACJq6B,SAAU,6BAEXtiB,WAAY,CACX/X,GAAI,gBACJq6B,SAAU,yCAKNI,GAAc7nC,OAAO6M,KAAK06B,IAOhC,SAASO,GAAkBroC,GAC1B,IAAKA,EACJ,OAAO,EACR,GAAIM,MAAM4I,QAAQlJ,GACjB,OAAOA,EAAMi7B,MAAMoN,IACpB,IAAKroC,EAAML,KACV,OAAO,EAER,GAA8B,eAA1BK,EAAML,KAAK2oC,QAAO,IAAuB,CAC5C,IAAK/nC,OAAO4V,UAAU8nB,eAAe5nB,KAAKrW,EAAO,UAChD,OAAO,EAER,IAAKooC,GAAYnoC,SAASD,EAAML,KAAK2oC,OAAO,EAAGtoC,EAAML,KAAKuH,OAAO,KAChE,OAAO,CACT,KAAO,CACN,IAAK3G,OAAO4V,UAAU8nB,eAAe5nB,KAAKrW,EAAO,MAChD,OAAO,EAER,IAAKooC,GAAYnoC,SAASD,EAAML,MAC/B,OAAO,EAER,GAAImoC,GAAgB9nC,EAAML,MAAMsoC,SAC1BH,GAAgB9nC,EAAML,MAAMsoC,OAAOhN,MAAMsN,GAAShoC,OAAO4V,UAAU8nB,eAAe5nB,KAAKrW,EAAOuoC,IAClG,OAAO,CAEV,CAEA,OAAO,CACR,CAEA,SAASC,GAAqBxiC,EAAOyiC,EAAcC,GAClD,IAAIvtB,EAAM,KAEV,IAEC,GADAA,EAAMwtB,GAAgB3iC,EAAO0iC,IACxBvtB,EACJ,OAAO,KAER,IAAKutB,GAAUpoC,MAAM4I,QAAQiS,IAE5B,GADAA,EAAMA,EAAI3Q,OAAO69B,KACZltB,EAAIjU,OACR,OAAO,UACF,IAAKmhC,GAAkBltB,GAC7B,OAAO,KAER,GAAIstB,GAAgBA,EAAavhC,OAChC,GAAI5G,MAAM4I,QAAQiS,GAAM,CACvB,GAAIutB,IAAWvtB,EAAI8f,MAAMzyB,GAAKigC,EAAaxoC,SAASuI,EAAE7I,OACrD,OAAO,KACD,IAAK+oC,IACXvtB,EAAMA,EAAI3Q,OAAOhC,GAAKigC,EAAaxoC,SAASuI,EAAE7I,QACzCwb,EAAIjU,QACR,OAAO,IAEV,MAAO,IAAKuhC,EAAaxoC,SAASkb,EAAIxb,MACrC,OAAO,IAGV,CAAE,MAAMipC,GACP,OAAO,IACR,CAEA,OAAItoC,MAAM4I,QAAQiS,IAAsB,GAAdA,EAAIjU,OACtBiU,EAAIwpB,KAAK/kC,SAEVub,CACR,CAMA,SAASwtB,GAAgB3iC,EAAO0iC,GAC/B,MAAM3lC,EAAS,GAEf,IAAK,MAAMpD,KAAQqG,EAAM6L,aAAag3B,MAAO,CAC5C,GAA0B,oBAAtBlpC,EAAK2oC,OAAO,EAAG,IAA2B,CAC7C,GAAII,EACH,OAAO,KACR,QACD,CACA,IAAII,EAAYnpC,EAAK2oC,OAAO,IACxBS,GAAa,EAKjB,GAJ6B,eAAzBD,EAAUR,QAAO,MACpBQ,EAAYA,EAAUR,OAAO,EAAGQ,EAAU5hC,OAAO,IACjD6hC,GAAa,IAETX,GAAYnoC,SAAS6oC,GAAY,CACrC,GAAIJ,EACH,OAAO,KACR,QACD,CACA,IAAIppC,EAAOyV,KAAKC,MAAMhP,EAAM6L,aAAawsB,QAAQ1+B,IAC7CopC,EACHhmC,EAAOsE,QAAQ/H,EAAK07B,QAEpBj4B,EAAOsE,KAAK/H,EACd,CAEA,OAAKyD,EAAOmE,OAGS,GAAjBnE,EAAOmE,OACHnE,EAAO,GAERA,EALC,IAMT,CAgNA,IAAAimC,GAAe,IA/TQzoC,OAAO6M,KAAK06B,IAAiBlhC,OAAO,CAAC0D,EAAK3K,KAChE2K,EAAI,QAAU3K,EAAK0hC,eAAiB1hC,EAC7B2K,GACL,IA8TF+9B,qBACAG,wBACAS,oBA1PD,SAA6BjjC,EAAOyiC,EAAcC,GACjD,QAAOF,GAAqBxiC,EAAOyiC,EAAcC,EAClD,EAyPCC,mBACAO,yBApND,SAASA,EAAyB5pC,EAAMopC,GACvC,GAAIpoC,MAAM4I,QAAQ5J,GAAO,CACxB,MAAM6pC,EAAY7pC,EAAK+J,IAAI6/B,GAA0B1+B,OAAO5K,SAC5D,IAAKupC,EAAUjiC,OACd,OACD,GAAIwhC,GAAUS,EAAUjiC,QAAU5H,EAAK4H,OACtC,OAED,MAAMkiC,EAASD,EAAUviC,OAAO,CAAC0D,EAAKtF,KAChCsF,EAAItF,EAAKrF,QACb2K,EAAItF,EAAKrF,MAAQ,IAClB2K,EAAItF,EAAKrF,MAAM0H,KAAKrC,GACbsF,GACL,CAAA,GAEH,OAAO/J,OAAO86B,QAAQ+N,GAAQ//B,IAAI,EAAE1J,EAAMq7B,KACrCA,EAAO9zB,OAAS,EACZ,CACNvH,KAAMA,EAAO,cACbq7B,UAGKA,EAAO,GAEhB,CAEA,GAAIz6B,OAAO4V,UAAU8nB,eAAe5nB,KAAK/W,EAAM,SAAW+oC,GAAkB/oC,GAC3E,OAAOA,EAGR,MAAM+pC,EAAQ9oC,OAAO86B,QAAQyM,IAAiBnD,KAAK,EAAC,CAAI2E,OAClD/oC,OAAO4V,UAAU8nB,eAAe5nB,KAAK/W,EAAMgqC,EAAQ37B,OAEpD27B,EAAQrB,SACNqB,EAAQrB,OAAOhN,MAAMsN,GAAShoC,OAAO4V,UAAU8nB,eAAe5nB,KAAK/W,EAAMipC,MAMhF,IAAKc,EACJ,OAGD,MAAQ1pC,EAAM2pC,GAAYD,EAEpBjO,EAAU,CAAA,EAMhB,OALAA,EAAQz7B,KAAOA,EACfy7B,EAAQztB,GAAKrO,EAAKgqC,EAAQ37B,IACtB27B,EAAQrB,QACXqB,EAAQrB,OAAOtgC,QAAQ4gC,GAASnN,EAAQmN,GAASjpC,EAAKipC,IAEhDnN,CACR,EAgKCmO,gBA9JD,SAASA,EAAgBvjC,EAAOwjC,EAAiB13B,GAAe,GAC/D,GAAIA,EAAc,CACjB,MACM23B,GADYnpC,MAAM4I,QAAQsgC,GAAmBA,EAAkB,CAAEA,IACxCngC,IAAIrE,IAClC,MAAM0kC,EAAOtmC,SAASC,cAAc,KAC9BsmC,EAAQvmC,SAASC,cAAc,QAC/BumC,EAAgBxmC,SAASC,cAAc,QAE7CumC,EAAcC,UAAY,gCAC1BF,EAAME,UAAY,QAEd/B,GAAgB9iC,EAAKrF,OACxB+pC,EAAKG,UAAY/B,GAAgB9iC,EAAKrF,MAAMqoC,UAAY,uBACxD2B,EAAMG,YAAc9kC,EAAK2I,IACU,eAAzB3I,EAAKrF,KAAK2oC,QAAO,KAAyBR,GAAgB9iC,EAAKrF,KAAK2oC,OAAO,EAAGtjC,EAAKrF,KAAKuH,OAAO,MACzG0iC,EAAcn5B,MAAMs5B,UAAY,qCAChCL,EAAKG,UAAY/B,GAAgB9iC,EAAKrF,KAAK2oC,OAAO,EAAGtjC,EAAKrF,KAAKuH,OAAO,KAAK8gC,UAAY,uBACvF2B,EAAMG,YAAc,IAAM9kC,EAAKg2B,OAAO9zB,SAEtCwiC,EAAKG,UAAY,uBACjBF,EAAMG,YAAc9kC,EAAK2I,IAAM,IAGhCi8B,EAAcrO,OAAOmO,GAErB,MAAMM,EAAgB5mC,SAASC,cAAc,OAG7C,OAFA2mC,EAAcH,UAAY,oDAC1BG,EAAczO,OAAOqO,EAAeD,GAC7BK,IAGFr6B,EAAYvM,SAASC,cAAc,OACzCsM,EAAUk6B,UAAY,8BACtBl6B,EAAU4rB,UAAUkO,GAEpBrmC,SAASzB,KAAK45B,OAAO5rB,GACrB3J,EAAM6L,aAAaC,aAAanC,GAAW,GAAK,GAChDs6B,sBAAsB,KACrB7mC,SAASzB,KAAKwB,YAAYwM,IAE5B,CACA,GAAIrP,MAAM4I,QAAQsgC,GACjB,OAAOA,EAAgB7hC,QAAQrI,GAAQiqC,EAAgBvjC,EAAO1G,IAG/D0G,EAAM6L,aAAaq4B,QAAQ,mBAAqBV,EAAgB7pC,KAAMoV,KAAK0mB,UAAU+N,GACtF,EAiHCW,cAtGD,SAAuBnkC,EAAOyiC,EAAcC,GAU3C,OATKD,GAAiBA,EAAavhC,SAClCuhC,EAAeL,IAChBK,EAAeA,EAAap/B,IAAI1J,GAAQ,mBAAqBA,KAE3C,IAAIqG,EAAM6L,aAAag3B,OAK1B3hC,SAGVwhC,EAGE,IAAI1iC,EAAM6L,aAAag3B,OAAO5N,MAAMt7B,GAAQ8oC,EAAaxoC,SAASN,IAFjE8oC,EAAat/B,KAAKxJ,GAAQ,IAAIqG,EAAM6L,aAAag3B,OAAO5oC,SAASN,IAG1E,EAsFCyqC,mBApFD,SAA4B50B,EAAID,EAASI,GAIxC,IAAI00B,GAAY,EACZC,GAAkB,EAEtB,SAASC,EAAKjlC,GACb+kC,GAAY,EACZC,GAAkB,EAElB/vB,OAAOG,iBAAiB,YAAa8vB,GAAiB,GACtDjwB,OAAOG,iBAAiB,YAAa+vB,GAAiB,GACtDlwB,OAAOG,iBAAiB,OAAQgwB,GAAY,GAE5Cn1B,EAAQjQ,GAERkQ,EAAGm1B,oBAAoB,YAAaJ,EACrC,CAEA,SAASK,EAAQtlC,EAAKulC,GAErBtwB,OAAOowB,oBAAoB,YAAaH,GAAiB,GACzDjwB,OAAOowB,oBAAoB,YAAaF,GAAiB,GACzDlwB,OAAOowB,oBAAoB,OAAQD,GAAY,GAE/C/0B,EAAQrQ,EAAKulC,GAEbr1B,EAAGkF,iBAAiB,YAAa6vB,EAClC,CAEA,SAASC,EAAgBllC,GACxBglC,GAAkB,EACd90B,GAAMlQ,EAAIE,QAAWgQ,EAAGlC,SAAShO,EAAIE,QAGxC6kC,GAAY,EAFZO,EAAQtlC,EAIV,CACA,SAASmlC,EAAgBnlC,GACxB,GAAIkQ,GAAMlQ,EAAIE,QAAWgQ,EAAGlC,SAAShO,EAAIE,SAMxC,GAAI6kC,EAEH,YADAA,GAAY,QANb,GAAIC,EAEH,YADAA,GAAkB,GASpBM,EAAQtlC,EACT,CACA,SAASolC,EAAWplC,GACnBslC,EAAQtlC,GAAK,EACd,CAIA,OAFAkQ,EAAGkF,iBAAiB,YAAa6vB,GAE1B,KAEN/0B,EAAGm1B,oBAAoB,YAAaJ,GAEtC,GCtVAO,GAAe,CACdxpC,OAAAA,CAAQkU,EAAI4xB,EAAS2D,GACpB,GAAmB,aAAf3D,EAAQ4D,IACXx1B,EAAGkF,iBAAiB,kBAAmBpV,IACtCA,EAAIY,iBACJkhC,EAAQpnC,MAAQsF,EAAImwB,OAAOzwB,OAE5BwQ,EAAGkF,iBAAiB,YAAapV,IAChCkQ,EAAGmsB,cAAc,IAAIM,YAAY,qBAAsB,CACtDgJ,YAAY,EACZC,SAAS,EACTzV,OAAQ,CACPzwB,KAAMoiC,EAAQpnC,MACdwG,EAAGlB,EAAI6lC,QAAU31B,EAAG41B,YACpB3kC,EAAGnB,EAAI+lC,QAAU71B,EAAG81B,aACpBC,cAAejmC,QAIlBkQ,EAAGkF,iBAAiB,UAAWpV,IAC9BkQ,EAAGmsB,cAAc,IAAIM,YAAY,mBAAoB,CACpDgJ,YAAY,EACZC,SAAS,EACTzV,OAAQ,CACPzwB,KAAMoiC,EAAQpnC,MACdurC,cAAejmC,aAIZ,GAAmB,YAAf8hC,EAAQ4D,IAAmB,CACrC,IAAIQ,EAAS,KACbh2B,EAAGkF,iBAAiB,WAAYpV,IAC/B,IAAIkmC,EAGJ,OADAA,EAASh2B,EAAG5F,wBACL4F,EAAGmsB,cAAc,IAAIM,YAAY,qBAAsB,CAC7DxM,OAAQ,CAAE8V,cAAejmC,QAG3BiV,OAAOG,iBAAiB,YAAapV,IACpC,IAAKkmC,EACJ,OACD,IAAIC,EAWJ,OATCA,OAD0B,IAAhBnmC,EAAIkG,QACR,CACLhF,EAAGlB,EAAIomC,MAAQtoC,SAAS6iC,gBAAgB0F,WACxCllC,EAAGnB,EAAIsmC,MAAQxoC,SAAS6iC,gBAAgB4F,WAGnC,CACLrlC,EAAGlB,EAAIkG,QAAUpI,SAASzB,KAAKgqC,WAAavoC,SAAS6iC,gBAAgB0F,WACrEllC,EAAGnB,EAAImG,QAAUrI,SAASzB,KAAKkqC,UAAYzoC,SAAS6iC,gBAAgB4F,WAElEJ,EAAIjlC,EAAIglC,EAAO76B,KAAO66B,EAAOn7B,MAAQ,GAAKo7B,EAAIjlC,EAAIglC,EAAO76B,MAAQ86B,EAAIhlC,EAAI+kC,EAAO96B,IAAM86B,EAAOt7B,OAAS,GAAKu7B,EAAIhlC,EAAI+kC,EAAO96B,KAC7H86B,EAAS,KACFh2B,EAAGmsB,cAAc,IAAIM,YAAY,qBAAsB,CAC7DxM,OAAQ,CAAE8V,cAAejmC,YAH3B,IAODiV,OAAOG,iBAAiB,OAAQpV,IAC/B,GAAKkmC,EAIL,OADAA,EAAS,KACFh2B,EAAGmsB,cAAc,IAAIM,YAAY,qBAAsB,CAC7DxM,OAAQ,CAAE8V,cAAejmC,OAG5B,KAA0B,YAAf8hC,EAAQ4D,KAClBx1B,EAAGkF,iBACF0sB,EAAQ0E,UAAUC,KAAO,YAAc,WACvCzmC,IACC,MAAM0mC,EAAY5E,EAAQpnC,iBAAiBoE,SACxCgjC,EAAQpnC,MAAMsF,GACd8hC,EAAQpnC,MACLy1B,EAASuW,EAAUA,UAAYA,EAAY,CAAEA,aACnDx2B,EAAGmsB,cAAc,IAAIM,YAAY,sBAAuB,CACvDgJ,YAAY,EACZC,SAAS,EACTzV,aAKL,EACAtmB,OAAAA,CAAQqG,EAAI4xB,EAAS2D,EAAOkB,GACR,aAAf7E,EAAQ4D,KACXx1B,EAAGmsB,cAAc,IAAIM,YAAY,kBAAmB,CACnDgJ,YAAY,EACZxV,OAAQ,CACPzwB,KAAMoiC,EAAQpnC,SAIlB,GC1FDksC,GAAe,CACd7sC,KAAM,sBACN8sC,WAAY,CACXrB,WAEDnyB,OAAAA,GACC,MAAO,CACNyzB,OAAQ7pC,IAAI6C,SAAS,IAAMrE,KAAKsrC,iBAChCC,YAAa/pC,IAAI6C,SAAS,IAAMrE,KAAKurC,aACrCC,YAAahqC,IAAI6C,SAAS,IAAMrE,KAAKoE,UAAYpE,KAAKwrC,aAExD,EACAxnC,OAAQ,CACP2G,KAAM,OACN8gC,eAAgB,kBAEjB/sC,MAAO,CACN2sC,OAAQ9rC,MACRgsC,YAAahsC,OAEdM,MAAO,CACN,QAEDtB,KAAIA,KACI,CACN6F,UAAU,EACV8+B,SAAS,EACTwI,qBAAsB,KACtBC,qBAAsB,KACtBC,gBAAiB,EACjBC,eAAgB,KAChBL,aAAa,EAEbM,eAAe,IAGjBznC,SAAU,CACTinC,eAAAA,GACC,GAAItrC,KAAKoE,SAAU,CAClB,GAAIpE,KAAK0rC,qBAAsB,CAC9B,MAAM5kC,EAAQ9G,KAAKqrC,OAAOU,UAAU31B,GAAKA,EAAExJ,IAAM5M,KAAK0rC,qBAAqB9+B,IAC3E,OAAI5M,KAAKgsC,eAAiBhsC,KAAK8rC,cACvB9rC,KAAKqrC,OAAOY,UAAUnlC,EAAO,EAAG9G,KAAKgsC,cAErChsC,KAAKqrC,OAAOY,UAAUnlC,EAAO,EACtC,CACA,GAAI9G,KAAKgsC,eAAiBhsC,KAAK8rC,cAC9B,MAAO,IAAI9rC,KAAKqrC,OAAQrrC,KAAKgsC,aAC/B,CAEA,OAAOhsC,KAAKqrC,MACb,EACAa,oBAAAA,GACC,OAAIlsC,KAAKoE,UACJpE,KAAK8rC,cAED,IAAI9rC,KAAKurC,YAAa,CAC5BY,MAAO,IAAIxwB,KAAK3b,KAAK4rC,iBACrBhqC,MAAO,mBAKH5B,KAAKurC,WACb,EACAS,YAAAA,GACC,IAAKhsC,KAAKoE,WAAapE,KAAKwrC,YAC3B,OAAO,KACR,IAAKxrC,KAAK4rC,gBACT,OAAO,KAER,MAAM3mC,EAAQjF,KAAK0rC,sBAAwB1rC,KAAK2rC,qBAEhD,IAAK1mC,EACJ,OAAO,KAGR,IAAIkB,EAASlB,EAAMmnC,IAAMnnC,EAAMknC,MAI/B,OAHInsC,KAAK6rC,iBACR1lC,EAASnG,KAAK6rC,eAAejI,KAAKwI,GAAOA,GAAOpsC,KAAK4rC,gBAAkBzlC,GAAUnG,KAAK4rC,iBAEhF,CACNS,KAAMpnC,EAAMonC,KACZF,MAAOnsC,KAAK4rC,gBACZQ,IAAKpsC,KAAK4rC,gBAAkBzlC,EAE9B,GAEDrG,QAAS,CACRwsC,WAAAA,CAAY/nC,GACX,MAAMhG,EAAO0pC,GAAYsE,sBAAsBhoC,EAAImwB,OAAOzwB,KAAKooC,MAC3DpE,GAAYX,kBAAkB/oC,KACjC0pC,GAAYO,gBAAgBjkC,EAAImwB,OAAO8V,cAAejsC,GACtDyB,KAAK0rC,qBAAuBnnC,EAAImwB,OAAOzwB,KAEzC,EACAuoC,SAAAA,GACCxsC,KAAK0rC,qBAAuB,KAC5B1rC,KAAKoE,UAAW,CACjB,EACAqoC,WAAAA,CAAYloC,GAGX,GAFAvE,KAAKoE,UAAW,EAEXpE,KAAK0rC,qBAmBT1rC,KAAKwrC,YAAcxrC,KAAKyrC,eAAezrC,KAAK0rC,qBAAsB1rC,KAAK2K,UAnBxC,CAC/B,MAAM1F,EAAQgjC,GAAYR,qBAAqBljC,EAAImwB,OAAO8V,eAEzDxqC,KAAK2rC,qBADF1mC,EACyB,CAC3B2H,GAAI3H,EAAM2H,GACVhO,KAAMqG,EAAMrG,KACZutC,MAAOlnC,EAAMynC,SACVC,MAAMC,SAASC,QAAQ5nC,EAAMynC,UAAUI,QAAQ9sC,KAAKkb,UACpDyxB,MAAMC,SAASG,QAAQD,QAAQ9sC,KAAKkb,UACvCkxB,IAAKnnC,EAAM+nC,OACRL,MAAMC,SAASC,QAAQ5nC,EAAM+nC,QAAQF,QAAQ9sC,KAAKkb,UAClDyxB,MAAMC,SAASG,QAAQD,QAAQ9sC,KAAKkb,UACvCmxB,KAAMpnC,GAGqB,KAE7BjF,KAAKwrC,YAAcxrC,KAAKyrC,eAAexmC,EAAOjF,KAAK2K,KACpD,CAGD,EACAsiC,WAAAA,GACCjtC,KAAKoE,UAAW,CACjB,EACA8oC,YAAAA,CAAa3oC,GACZvE,KAAK4rC,gBAAkBrnC,EAAImwB,OAAOuW,UAElCjrC,KAAK6rC,eAAiBtnC,EAAImwB,OAAOyY,MAAQ,IAC1C,EACAC,MAAAA,CAAO7oC,GACDvE,KAAKoE,UAAapE,KAAKwrC,cAG5BxrC,KAAKwE,MAAM,OAAQD,EAAKvE,KAAKgsC,aAAaG,MAAOnsC,KAAKgsC,aAAaI,KACnEpsC,KAAKwrC,aAAc,EACnBxrC,KAAKoE,UAAW,EACjB,GAEDpB,SAAU,qUCjJXqqC,GAAe,CACd/uC,KAAM,iBACN4E,WAAY,CACXoqC,WCNa,CACdhvC,KAAM,2BACN4E,WAAY,CACXqqC,6BAEDvpC,OAAQ,CACP,SACA,YAEDtF,MAAO,CACNulB,KAAM,CACLrlB,KAAM+tC,MAAMC,SACZv1B,UAAU,GAEX1M,KAAM,CACL/L,KAAME,OACNuY,UAAU,GAEXm2B,WAAY,CACX5uC,KAAMuL,OACNpL,QAAS,IAGXc,MAAO,CACN,eAEDwE,SAAU,CACTopC,aAAAA,GAGC,OAAOztC,KAAKikB,KAAK6oB,QAAQ9sC,KAAKkb,UAAU4xB,QAAQ,QAAS,CAAEY,eAAe,GAC3E,EACAC,OAAAA,GACC,OAAQ3tC,KAAK2K,MACb,IAAK,QACJ,MAAO,CAACijC,MAAO5tC,KAAKytC,cAAcG,MAAM,EAAGC,KAAM7tC,KAAKytC,cAAcI,MACrE,IAAK,OACJ,MAAO,CAAC7tC,KAAKytC,cAAcK,QAAQ,OAAOC,GAAI/tC,KAAKytC,cAAcK,QAAQ,OAAOE,KAAK,CAAEC,KAAMjuC,KAAKwtC,aAAcO,GAAK,GACtH,IAAK,OACJ,MAAO,CAAC/tC,KAAKytC,cAAcK,QAAQ,OAAQ,CAAEI,gBAAgB,IAAQH,GAAI/tC,KAAKytC,cAAcU,MAAM,OAAQ,CAAED,gBAAgB,IAAQH,IACrI,IAAK,MACJ,OAAO/tC,KAAKytC,cACb,QACC,OAAO,KAET,EACA3sC,KAAAA,GACC,OAAQd,KAAK2K,MACb,IAAK,QACJ,OAAO3K,KAAKikB,KAAKmqB,eAAe,CAAER,MAAO,OAAQC,KAAM,YACxD,IAAK,OACJ,IAAIA,EAAO7tC,KAAKikB,KAAKoqB,cACjBC,EAAOtuC,KAAKikB,KAAKsqB,SAAS,MAC9B,OAAOvuC,KAAKmY,GAAGC,EAAE,mBAAoB,CAAEy1B,OAAMS,SAC9C,IAAK,OACJ,OAAOtuC,KAAKikB,KAAKmqB,eAAezB,MAAMC,SAAS4B,WAAa,IAAMxuC,KAAKikB,KAAK+pB,KAAK,CAAEC,KAAMjuC,KAAKwtC,WAAa,IAAKY,eAAezB,MAAMC,SAAS4B,WAC/I,IAAK,MACJ,OAAOxuC,KAAKikB,KAAKmqB,eAAezB,MAAMC,SAAS4B,WAChD,QACC,MAAO,qBAET,EACAC,SAAAA,GACC,OAAO9B,MAAM+B,KAAKC,eAAe3uC,KAAKikB,MAAM,CAC7C,GAEDnkB,QAAS,CACRiZ,MAAAA,CAAO9Z,GACN,IAAIglB,EACJ,OAAQjkB,KAAK2K,MACb,IAAK,QACJ1L,EAAM2uC,QACN3pB,EAAO0oB,MAAMC,SAASgC,WAAW3vC,GAAO6tC,QAAQ9sC,KAAKkb,SAAU,CAAEwyB,eAAe,IAAQmB,UAAU7uC,KAAK8uC,QACvG,MACD,IAAK,OACL,IAAK,OACJ7qB,EAAO0oB,MAAMC,SAASmC,WAAW9vC,EAAM,IAAI6tC,QAAQ9sC,KAAKkb,SAAU,CAAEwyB,eAAe,IAAQmB,UAAU7uC,KAAK8uC,QAC1G,MACD,IAAK,MACJ7qB,EAAO0oB,MAAMC,SAASmC,WAAW9vC,GAAO6tC,QAAQ9sC,KAAKkb,SAAU,CAAEwyB,eAAe,IAAQmB,UAAU7uC,KAAK8uC,QACvG,MACD,QACC,OAED9uC,KAAKwE,MAAM,cAAeyf,EAC3B,EACA+qB,WAAAA,CAAY/qB,GACX,OAAO0oB,MAAMC,SAASmC,WAAW9qB,EAAM,CAAE6qB,OAAQ9uC,KAAK8uC,SAAUG,eACjE,GAEDjsC,SAAoB,ovBDlFpBtE,MAAO,CACNulB,KAAM,CACLrlB,KAAM+tC,MAAMC,SACZv1B,UAAU,GAEX1M,KAAM,CACL/L,KAAME,OACNuY,UAAU,GAEX63B,YAAa,CACZtwC,KAAMY,OACNT,QAAS,CAAA,GAEVowC,SAAUtwC,QACVuwC,QAASvwC,QACTwwC,OAAQxwC,QACRywC,QAASzwC,SAEVgB,MAAO,CACN,OACA,OACA,aACA,cACA,eAEDtB,KAAIA,KACI,CACN65B,MAAM,IAGRt4B,QAAS,CACRyvC,SAAAA,CAAUhrC,EAAKoG,GACd3K,KAAKwE,MAAM,aAAcD,GACpBA,EAAIirC,kBACRxvC,KAAKwE,MAAM,cAAemG,EAC5B,GAED3H,SAAoB,0vEE/CrBysC,GAAe,CACdnxC,KAAM,iBACN0F,OAAQ,CACP0rC,KAAM,CACL39B,KAAM,aACNhT,QAAS,QAGXc,MAAO,CACN,QAEDtB,KAAIA,KACI,CACNkG,OAAQ,EACRkrC,YAAa,EACbC,aAAc,EACdC,SAAS,EACTC,eAAgB,OAGlBzrC,SAAU,CACT0rC,UAAAA,GACC,MAAO,IAAIxwC,MAAMS,KAAK2vC,cAAcrnC,IAAI,CAAC3C,EAAGkR,IAAM,EAAEA,EACrD,EACAm5B,WAAAA,GACC,MAAO,IAAIzwC,MAAMS,KAAK4vC,eAAetnC,IAAI,CAAC3C,EAAGkR,IAAMA,EAAE7W,KAAK4vC,aAC3D,EACAK,WAAAA,GACC,MAAMvgC,EAAQ,CACbwgC,SAAU,WACVvgC,IAAK,EACLC,KAAM,EACNN,MAAO,OACPH,OAAQ,QAMT,OAJInP,KAAK6vC,UACRngC,EAAME,KAAuB,KAAd5P,KAAKyE,OAAgB,IACpCiL,EAAMygC,WAAa,QAAUnwC,KAAK0vC,KAAO,gBAEnChgC,CACR,EACA0gC,WAAAA,GACC,MAAO,CACNF,SAAU,WACVvgC,IAAK,EACLR,OAAQ,OACRkhC,QAAS,OACTC,MAAO,OACPhhC,MAA4B,IAApBtP,KAAK4vC,aAAsB,IAErC,EACAW,UAAAA,GACC,MAAO,CACNL,SAAU,WACVvgC,IAAK,EACLR,OAAQ,OACRkhC,QAAS,OACTzgC,KAAM,OACNN,MAA2B,IAAnBtP,KAAK2vC,YAAqB,IAEpC,GAED7vC,QAAS,CACR0wC,QAAAA,GACC,OAAOxwC,KAAKywC,cACb,EACAC,QAAAA,GACC,OAAO1wC,KAAKywC,WAAW,EACxB,EACAA,UAAAA,CAAWnnC,GACV,OAAO,IAAIlI,QAAQC,IAClBrB,KAAK8vC,eAAiBzuC,EACtBrB,KAAK6vC,SAAU,EACf,MAAMc,EAAY3wC,KAAKyE,OAAS6E,EAC5BqnC,EAAY,EACX3wC,KAAK2vC,YAAcgB,IACtB3wC,KAAK2vC,YAAcgB,GACVA,EAAY,IACjB3wC,KAAK4vC,aAAee,IACxB3wC,KAAK4vC,cAAgBe,GAEvB3wC,KAAKyE,OAASksC,GAEhB,EACAC,QAAAA,GACK5wC,KAAK8vC,iBACR9vC,KAAK8vC,eAAe9vC,KAAKyE,QACzBzE,KAAK8vC,eAAiB,MAEvB9vC,KAAKwE,MAAM,OAAQxE,KAAKyE,QACxBzE,KAAK6vC,SAAU,EACf7vC,KAAKyE,OAAS,EACdzE,KAAK2vC,YAAc3vC,KAAK4vC,aAAe,CACxC,GAED5sC,SAAoB,guBC/FrB,MAAM6tC,GAAiB,GAEvB,SAASC,GAAqBr8B,EAAIs8B,EAAQ9xC,GACzC,MAAM6H,EAAQ+pC,GAAe9E,UAAUxtC,GAAQA,EAAKkW,IAAMA,GACtD3N,GAAS,IACZ2N,EAAGm1B,oBAAoB,QAASiH,GAAe/pC,GAAOkqC,UACtDH,GAAe30B,OAAOpV,EAAO,IAE9B,MAAMkqC,EAAWzsC,IAChBA,EAAIY,iBACJZ,EAAI0sC,kBACJ,MAAMC,EAAc,IAAIhQ,YAAY,YAAa,CAChDgJ,YAAY,EACZC,SAAS,EACTzV,OAAQ,CAAEqc,SAAQ9xC,WAEnBsF,EAAIE,OAAOm8B,cAAcsQ,IAE1BL,GAAevqC,KAAK,CAACmO,KAAIu8B,aACzBv8B,EAAGkF,iBAAiB,QAASq3B,EAC9B,CAEA,IAAAG,GAAe,CACd5wC,OAAAA,CAAQkU,EAAI4xB,EAAS2D,GACD,aAAf3D,EAAQ4D,IACXx1B,EAAGkF,iBAAiB,YAAapV,IAChC,MAAM2sC,EAAc,IAAIxQ,MAAM,SAAWn8B,EAAImwB,OAAOqc,OAAQ,CAC3D7G,YAAY,IAGb,GADA7D,EAAQ9kC,SAASiD,MAAM,SAAWD,EAAImwB,OAAOqc,OAAQG,EAAa3sC,EAAImwB,OAAOz1B,QACxEiyC,EAAY1B,iBAAkB,CAClC,MAAM4B,EAAa,IAAIlQ,YAAY,oBAAqB,CACvDgJ,YAAY,EACZC,SAAS,EACTzV,OAAQnwB,EAAImwB,SAEbnwB,EAAIE,OAAOm8B,cAAcwQ,EAC1B,IAGDN,GAAqBr8B,EAAI4xB,EAAQ4D,IAAK5D,EAAQpnC,MAEhD,EACAmP,OAAAA,CAAQqG,EAAI4xB,EAAS2D,EAAOkB,GACR,aAAf7E,EAAQ4D,KACX6G,GAAqBr8B,EAAI4xB,EAAQ4D,IAAK5D,EAAQpnC,MAEhD,GCxCDoyC,GAAe,CACd/yC,KAAM,eACN4E,WAAY,CACXioC,mBACAkC,cACAoC,cACApxC,WAED+sC,WAAY,CACX+F,aAEDv5B,OAAAA,GACC,MAAO,CACNk3B,OAAQttC,IAAI6C,SAAS,IAAMrE,KAAK8uC,QAChC5zB,SAAU1Z,IAAI6C,SAAS,IAAMrE,KAAKkb,UAClCo2B,SAAU9vC,IAAI6C,SAAS,IAAMrE,KAAKsxC,UAClCC,gBAAiB/vC,IAAI6C,SAAS,IACxBrE,KAAKuxC,gBAGNhyC,MAAM4I,QAAQnI,KAAKuxC,iBACftsC,GAASjF,KAAKuxC,gBAAgBryC,SAAS+F,EAAMrG,MACjDoB,KAAKuxC,2BAA2BluC,SAC5BrD,KAAKuxC,gBAEN,KAAM,EAPL,KAAM,GASf9F,eAAgBjqC,IAAI6C,SAAS,IACvBrE,KAAKotC,OAGN7tC,MAAM4I,QAAQnI,KAAKyrC,gBACfxnC,GAAQjE,KAAKyrC,eAAevsC,SAAS+E,EAAKrF,MAC9CoB,KAAKyrC,0BAA0BpoC,SAC3BrD,KAAKyrC,eAEN,KAAM,EAPL,KAAM,GASf+F,gBAAiBhwC,IAAI6C,SAAS,IAAMrE,KAAKyxC,YACzC9mC,KAAMnJ,IAAI6C,SAAS,IAAMrE,KAAK2K,MAEhC,EACAjM,MAAO,CACNowC,OAAQ,CACPlwC,KAAME,OACNC,QAAS,MAEVmc,SAAU,CACTtc,KAAME,OACNuY,UAAU,GAEX4M,KAAM,CACLrlB,KAAM,CAAC+c,KAAM7c,OAAQqL,OAAQwiC,MAAMC,UACnC7tC,QAASL,GAASiuC,MAAMC,SAAS8E,MAAM5E,QAAQpuC,EAAMwc,UAAU4yB,QAAQ,QAExE9I,MAAO,CACNpmC,KAAMY,OACN6X,UAAU,EACVtY,QAAS,CAAA,GAGV4L,KAAM7L,OACNowC,YAAa1vC,OACb6rC,OAAQ,CACPzsC,KAAMW,MACNR,QAAS,IAEVwsC,YAAa,CACZ3sC,KAAMW,MACNR,QAAS,IAEV4yC,SAAU9yC,QACVswC,SAAU,CACTvwC,KAAMC,QACNE,aAASkC,GAEVmuC,QAAS,CACRxwC,KAAMC,QACNE,aAASkC,GAEVouC,OAAQ,CACPzwC,KAAMC,QACNE,aAASkC,GAEVquC,QAAS,CACR1wC,KAAMC,QACNE,aAASkC,GAEVqwC,SAAU/xC,MACVgyC,gBAAiB,CAAC1yC,QAASU,MAAO8D,UAClCooC,eAAgB,CAAC5sC,QAASU,MAAO8D,UACjCouC,WAAYpuC,SACZ+pC,OAAQ/pC,UAETxD,MAAO,CACN,aACA,aACA,aACA,cACA,YACA,aACA,cACA,cACA,eACA,QAEDtB,KAAIA,KACI,CACNqzC,aAAc,KACdC,aAAc,KACdC,WAAY,OAGdztC,SAAU,CACT0tC,eAAAA,GACC,OAAO/xC,KAAKqrC,OAAO/iC,IAAI+jC,IAAI,CAC1Bz/B,GAAIy/B,EAAKztC,KAAOytC,EAAKA,EAAKztC,KAAO,OACjCA,KAAMytC,EAAKztC,KACXutC,MAAOQ,MAAMC,SAASC,QAAQR,EAAKK,UAAUI,QAAQ9sC,KAAKkb,UAC1DkxB,IAAKO,MAAMC,SAASC,QAAQR,EAAKW,QAAQF,QAAQ9sC,KAAKkb,UACtDmxB,SAEF,EACA2F,oBAAAA,GACC,OAAOhyC,KAAKurC,YAAYjjC,IAAI2pC,IAC3B,MAAM1oC,EAAM,IAAK0oC,GAmBjB,OAlBI1oC,EAAI4iC,QACHhiC,OAAO+nC,UAAU3oC,EAAI4iC,OACxB5iC,EAAI4iC,MAAQQ,MAAMC,SAASuF,WAAW5oC,EAAI4iC,MAAO,CAAEiG,KAAMpyC,KAAKkb,SAAU4zB,OAAQ9uC,KAAK8uC,SAC7EvlC,EAAI4iC,iBAAiBxwB,KAC7BpS,EAAI4iC,MAAQQ,MAAMC,SAASmC,WAAWxlC,EAAI4iC,MAAO,CAAEiG,KAAMpyC,KAAKkb,SAAU4zB,OAAQ9uC,KAAK8uC,UAErF,iBADevlC,EAAI4iC,OACP5iC,EAAI4iC,iBAAiBrtC,UACjCyK,EAAI4iC,MAAQQ,MAAMC,SAASC,QAAQtjC,EAAI4iC,MAAO,CAAEiG,KAAMpyC,KAAKkb,SAAU4zB,OAAQ9uC,KAAK8uC,WAEhFvlC,EAAI6iC,MACHjiC,OAAO+nC,UAAU3oC,EAAI6iC,KACxB7iC,EAAI6iC,IAAMO,MAAMC,SAASuF,WAAW5oC,EAAI6iC,IAAK,CAAEgG,KAAMpyC,KAAKkb,SAAU4zB,OAAQ9uC,KAAK8uC,SACzEvlC,EAAI6iC,eAAezwB,KAC3BpS,EAAI6iC,IAAMO,MAAMC,SAASmC,WAAWxlC,EAAI6iC,IAAK,CAAEgG,KAAMpyC,KAAKkb,SAAU4zB,OAAQ9uC,KAAK8uC,UAEjF,iBADevlC,EAAI6iC,KACP7iC,EAAI6iC,eAAettC,UAC/ByK,EAAI6iC,IAAMO,MAAMC,SAASC,QAAQtjC,EAAI6iC,IAAK,CAAEgG,KAAMpyC,KAAKkb,SAAU4zB,OAAQ9uC,KAAK8uC,WAEzEvlC,GAET,EACA8oC,KAAAA,GACC,OAAIryC,KAAKikB,gBAAgB0oB,MAAMC,SACvB5sC,KAAKikB,KACN0oB,MAAMC,SAASmC,WAAW,IAAIpzB,KAAK3b,KAAKikB,OAAO6oB,QAAQ9sC,KAAKkb,SACpE,EACAo3B,MAAO,CACN/mC,GAAAA,GAEC,OADavL,KAAK6xC,aAAe7xC,KAAK6xC,aAAe7xC,KAAKqyC,OAC9CxD,UAAU7uC,KAAK8uC,OAC5B,EACAtjC,GAAAA,CAAIvM,GACHe,KAAK6xC,aAAe5yC,EACpBe,KAAKwE,MAAM,cAAevF,EAAOe,KAAKuyC,MACvC,GAEDC,KAAAA,GAEC,IAAI7nC,EAAO3K,KAAK2K,KAKhB,OAJIA,IACHA,EAAOA,EAAKy1B,eACRz1B,GAAS3K,KAAKglC,MAAMr6B,KACxBA,EAAOnL,OAAO6M,KAAKrM,KAAKglC,OAAOpB,KAAK/kC,UAC9B8L,GAAQ,EAChB,EACA4nC,MAAO,CACNhnC,GAAAA,GACC,OAAOvL,KAAK4xC,aAAe5xC,KAAK4xC,aAAe5xC,KAAKwyC,KACrD,EACAhnC,GAAAA,CAAIvM,GACHe,KAAK4xC,aAAe3yC,EACpBe,KAAKwE,MAAM,cAAevF,EAAOe,KAAKsyC,MACvC,IAGFtkC,MAAO,CACNqkC,KAAAA,CAAMnQ,EAAGuQ,GACJzyC,KAAKqyC,MAAMK,UAAY1yC,KAAKqyC,MAAMM,QAAQ3yC,KAAK6xC,aAAc,SAChE7xC,KAAK6xC,aAAe7xC,KAAKqyC,MAC3B,EACAG,KAAAA,GACKxyC,KAAKwyC,QACRxyC,KAAK4xC,aAAe5xC,KAAKwyC,MAC3B,GAED1yC,QAAS,CACR8yC,SAAAA,GACC,MAAMruC,EAAM,IAAIm8B,MAAM,aAAc,CAACwJ,YAAY,IACjDlqC,KAAKwE,MAAM,aAAcD,GACrBA,EAAIirC,kBAIRxvC,KAAKQ,MAAMmK,KAAK6lC,UACjB,EACAqC,SAAAA,GACC,MAAMtuC,EAAM,IAAIm8B,MAAM,aAAc,CAACwJ,YAAY,IACjDlqC,KAAKwE,MAAM,aAAcD,GACrBA,EAAIirC,kBAIRxvC,KAAKQ,MAAMmK,KAAK+lC,UACjB,EACAoC,mBAAAA,CAAoBvuC,GAEnB,OAAQA,EAAImwB,OAAOqc,QACnB,IAAK,MACc,OAAd/wC,KAAKuyC,OAAkBvyC,KAAKglC,MAAW,MAC1CzgC,EAAI0sC,kBACJjxC,KAAKsyC,MAAQ/tC,EAAImwB,OAAOz1B,MACxBe,KAAKuyC,MAAQ,OAEd,MACD,IAAK,OACc,QAAdvyC,KAAKuyC,OAAmBvyC,KAAKglC,MAAY,OAC5CzgC,EAAI0sC,kBACJjxC,KAAKsyC,MAAQ3F,MAAMC,SAASgC,WAAW,CACtCK,gBAAiB1qC,EAAImwB,OAAOz1B,MAAM8zC,OAClC1E,cAAe9pC,EAAImwB,OAAOz1B,MAAM4uC,MAC9B,CACFuE,KAAMpyC,KAAKsyC,MAAMU,SACjBlE,OAAQ9uC,KAAKsyC,MAAMxD,SAEpB9uC,KAAKuyC,MAAQ,QAIhB,EACAU,UAAAA,CAAW1uC,EAAK4nC,EAAOC,GACtBpsC,KAAKwE,MAAM,OAAQD,EAAK4nC,EAAOC,EAChC,EACA8G,cAAAA,CAAeC,GACdnzC,KAAK8xC,WAAaqB,EAClBnzC,KAAKQ,MAAMhC,MAAM2B,MAClB,EACAizC,cAAAA,GACKpzC,KAAK8xC,aACR9xC,KAAK8xC,WAAWuB,aAAUpyC,GAC3BjB,KAAKQ,MAAMhC,MAAM0B,OACjBF,KAAK8xC,WAAa,IACnB,EACAwB,aAAAA,GACKtzC,KAAK8xC,WAAWuB,SACnBrzC,KAAK8xC,WAAWuB,SAClB,GAEDtxC,aAAAA,GACC/B,KAAKozC,gBACN,EACApwC,SAAoB,6zDCtPrBuwC,GAAe,CACdhwB,YAAWA,CAACC,EAAYC,EAAYC,KAC5B,CACN9I,OAAQ,OACRC,IAAK,sCACLhH,OAAQ,CAAE2P,aAAYC,aAAYC,cAGpC8vB,UAASA,CAAC/vB,EAAYC,EAAUS,KACxB,CACNvJ,OAAQ,MACRC,IAAK,oCACLhH,OAAQ,CAAE4P,aAAYC,WAAUS,WAGlCsvB,eAAcA,CAAChwB,EAAYC,KACnB,CACN9I,OAAQ,OACRC,IAAK,yCACLhH,OAAQ,CAAE4P,aAAYC,cAGxBgwB,SAAQA,CAACvvB,EAAOV,EAAYC,KACpB,CACN9I,OAAQ,OACRC,IAAK,mCACLhH,OAAQ,CAAEsQ,QAAOV,aAAYC,cAG/BC,WAAUA,KACF,CACN/I,OAAQ,MACRC,IAAK,oCAGP+I,qBAAoBA,CAACJ,EAAYC,EAAYC,KACrC,CACN9I,OAAQ,OACRC,IAAK,6CAA6C2I,IAClD3P,OAAQ,CAAE4P,aAAYC,cAGxBG,wBAAuBA,CAACJ,EAAYC,KAC5B,CACN9I,OAAQ,OACRC,IAAK,4CACLhH,OAAQ,CAAE4P,aAAYC,cAGxBI,8BAA8BC,IACtB,CACNnJ,OAAQ,MACRC,IAAK,yDAAyDkJ,MAGhEC,4BAA4BC,IACpB,CACNrJ,OAAQ,MACRC,IAAK,uDAAuDoJ,MAG9DC,aAAYA,CAACT,EAAYC,EAAUS,KAC3B,CACNvJ,OAAQ,OACRC,IAAK,uCACLhH,OAAQ,CACP4P,WAAYA,EACZC,SAAUA,EACVS,MAAOA,KAIVwvB,MAAMlnB,IACE,CACN7R,OAAQ,MACRC,IAAK,iCAAmC4R,KCzF3C,IAAAmnB,GAAe,CACdt1C,KAAM,gBACN8sC,WAAY,CACXrB,UACAoH,aAEDntC,OAAQ,CACPutC,gBAAiB,kBACjB5mC,KAAM,QAEPjM,MAAO,CACNuG,MAAO,CACNrG,KAAMY,OACN6X,UAAU,EACVrY,UAAUC,GACDA,EAAMktC,OAASltC,EAAMmtC,KAAOntC,EAAMotC,OAI7ChoC,SAAU,CACTwvC,gBAAAA,GACC,MAAO,CAAC,SAAU,UAAU30C,SAASc,KAAKiF,MAAMonC,KACjD,EACAyH,SAAAA,GACC,OAAQ9zC,KAAK6zC,kBAAoB7zC,KAAKuxC,gBAAgBvxC,KAAKiF,MAAMonC,KAAMrsC,KAAK2K,KAC7E,EACAopC,OAAAA,GACC,MAAMA,EAAU,GAShB,OARI/zC,KAAK6zC,iBACRE,EAAQztC,KAAK,SAAWtG,KAAKiF,MAAMonC,OAE/BrsC,KAAKiF,MAAM+uC,YACdD,EAAQztC,KAAK,eACVtG,KAAKiF,MAAMgvC,UACdF,EAAQztC,KAAK,cAERytC,CACR,GAED/wC,SAAoB,8VCrCrBkxC,GAAe,CACd51C,KAAM,eACN4E,WAAY,CACXixC,SCAa,CACd71C,KAAM,WACN4E,WAAY,WACXkxC,GACAC,eCZa,CACd/1C,KAAM,qBACN0F,OAAQ,CACPswC,SAAU,YAEX51C,MAAO,CACNytC,MAAO,CACNvtC,KAAM+tC,MAAMC,SACZv1B,UAAU,GAEX+0B,IAAK,CACJxtC,KAAM+tC,MAAMC,SACZv1B,UAAU,GAEXk9B,WAAY,CACX31C,KAAMY,OACN6X,UAAU,EACVrY,UAAUC,MACJA,EAAMktC,QAAUltC,EAAMmtC,SAEvBntC,EAAMktC,OAAWltC,EAAMktC,iBAAiBQ,MAAMC,aAE9C3tC,EAAMmtC,KAASntC,EAAMmtC,eAAeO,MAAMC,aAMjDvoC,SAAU,CACTmwC,MAAAA,GACC,IAAKx0C,KAAKu0C,WAAWN,WAAaj0C,KAAKu0C,WAAWP,WACjD,OAAOh0C,KAAKu0C,WAAW7kC,MAExB,MAAM+kC,GAAQz0C,KAAKosC,IAAI2B,GAAK/tC,KAAKmsC,MAAM4B,IAAM,IAE7C,IAAI2G,EAAS,CAAA,EAMb,OALI10C,KAAKu0C,WAAWP,aACnBU,EAAO10C,KAAKs0C,SAAW,OAAS,OAAUt0C,KAAKu0C,WAAWpI,MAAMwI,KAAK30C,KAAKmsC,OAAUsI,EAAO,KACxFz0C,KAAKu0C,WAAWN,WACnBS,EAAO10C,KAAKs0C,SAAW,QAAU,UAAat0C,KAAKosC,IAAIuI,KAAK30C,KAAKu0C,WAAWnI,KAAQqI,EAAO,KAEvFz0C,KAAKu0C,WAAW7kC,MAGd,CAAC1P,KAAKu0C,WAAW7kC,MAAOglC,GAFvBA,CAGT,EACAX,OAAAA,GACC,IAAK/zC,KAAKu0C,WAAWN,WAAaj0C,KAAKu0C,WAAWP,WACjD,OAAOh0C,KAAKu0C,WAAW3yC,MAExB,MAAMI,EAAS,GAOf,OANIhC,KAAKu0C,WAAW3yC,OACnBI,EAAOsE,KAAKtG,KAAKu0C,WAAW3yC,OACzB5B,KAAKu0C,WAAWP,YACnBhyC,EAAOsE,KAAK,YACTtG,KAAKu0C,WAAWN,UACnBjyC,EAAOsE,KAAK,UACNtE,CACR,GAEDgB,SAAoB,gRD9CpBgB,OAAQ,CACP4wC,QAAS,WAEVl2C,MAAO,CACNulB,KAAM,CACLrlB,KAAM+tC,MAAMC,SACZv1B,UAAU,GAEX80B,MAAO,CACNvtC,KAAM+tC,MAAMC,SACZv1B,UAAU,GAEX+0B,IAAK,CACJxtC,KAAM+tC,MAAMC,SACZv1B,UAAU,GAEXg0B,OAAQ,CACPzsC,KAAMW,MACNR,QAAS,IAEVwsC,YAAa,CACZ3sC,KAAMW,MACNR,QAAS,KAGXsF,SAAU,CACTwwC,iBAAAA,GACC,MAAMxJ,EAAS,GAef,OAdArrC,KAAKqrC,OAAOzkC,QAAQ3B,IACnB,MAAMkH,EAAO,CAAC,MACVlH,EAAM+uC,aACT7nC,EAAK,GAAK,KAAOlH,EAAMknC,MAAMwI,KAAK30C,KAAKikB,MAAM6wB,YAE1C7vC,EAAMgvC,WACT9nC,EAAK,GAAK,KAAOlH,EAAMmnC,IAAIuI,KAAK30C,KAAKikB,MAAM6wB,YAG5CzJ,EAAO/kC,KAAK,IACRrB,EACHkH,WAGKk/B,CACR,GAEDroC,SAAoB,wpBDlDnB4wC,kBAEDxI,WAAY,CACXrB,WAED/lC,OAAQ,CACP+wC,eAAgB,SAChBC,oBAAqB,cACrBxJ,YAAa,eAEd5zB,OAAAA,GACC,MAAO,CACN08B,SAAU9yC,IAAI6C,SAAS,IAAMrE,KAAKs0C,UAClCM,QAASpzC,IAAI6C,SAAS,IAAMrE,KAAK40C,SAEnC,EACAl2C,MAAO,CACNu2C,SAAU,CACTr2C,KAAMW,MACN8X,UAAU,EACVrY,UAAUC,GACFA,EAAMi7B,MAAMj2B,GAAQA,aAAgB0oC,MAAMC,WAGnDsI,UAAW,CACVt2C,KAAMW,MACN8X,UAAU,EACVrY,UAAUC,GACFA,EAAMi7B,MAAMj2B,GAClBA,aAAgB0oC,MAAMwI,UACnBhrC,OAAO+nC,UAAUjuC,KAGlBA,EAAKkoC,iBAAiBQ,MAAMwI,UACzBhrC,OAAO+nC,UAAUjuC,EAAKkoC,UAEzBloC,EAAKmoC,eAAeO,MAAMwI,UACvBhrC,OAAO+nC,UAAUjuC,EAAKmoC,QAM9BkI,SAAUz1C,QACVu2C,aAAcv2C,QACdw2C,oBAAqBx2C,QACrBy2C,WAAYz2C,SAEbN,KAAIA,KACI,CACN6F,UAAU,EACVmxC,eAAgB,KAChBC,iBAAkB,KAClBC,YAAY,IAGdpxC,SAAU,CACTuwC,OAAAA,GACC,OAAO50C,KAAKs0C,SAAW,SAAW,KACnC,EACAoB,OAAAA,GACC,OAAO11C,KAAKs0C,SAAW,MAAQ,QAChC,EACAqB,mBAAAA,GACC,OAAO31C,KAAKk1C,UAAUrvC,OAAO,CAAC0D,EAAKqsC,EAAI9uC,KACtC,MAAMqlC,EAAQyJ,EAAGzJ,OAASyJ,EACpBxJ,EAAMwJ,EAAGxJ,IAEf,GAAI7iC,EAAIpD,OAAQ,CACf,MAAM0vC,EAAYtsC,EAAIuC,MAClBvM,MAAM4I,QAAQ0tC,GACjBtsC,EAAIjD,KAAK,CACR6lC,MAAO0J,EAAU,GACjBzJ,IAAKD,EACLrlC,MAAO+uC,EAAU,KAERA,GAAa1J,GAEvB5iC,EAAIjD,KAAK,CACR6lC,MAAO0J,EACPzJ,IAAKD,GAGR,CAYA,OAVKC,GAGJ7iC,EAAIjD,KAAK,CACR6lC,QACAC,MACAtlC,UAEDyC,EAAIjD,KAAK8lC,IAPT7iC,EAAIjD,KAAK,CAAC6lC,EAAOrlC,IASXyC,GACL,IAAIusC,MAAM,GAAG,EACjB,EACAC,aAAAA,GACC,OAAK/1C,KAAKk1C,UAAUl1C,KAAKk1C,UAAU/uC,OAAS,GAAGimC,IAExCpsC,KAAKk1C,UADJl1C,KAAKk1C,UAAUY,MAAM,GAAG,EAEjC,EACA3J,KAAAA,GACC,OAAOnsC,KAAK21C,oBAAoB,GAAGxJ,KACpC,EACAC,GAAAA,GACC,OAAOpsC,KAAK21C,oBAAoB31C,KAAK21C,oBAAoBxvC,OAAS,GAAGimC,GACtE,EACAe,IAAAA,GACC,MAAMA,EAAO,GACP6I,EAAYh2C,KAAK21C,oBACrBlsC,OAAON,QAAiBlI,IAAZkI,EAAErC,OACdwB,IAAIa,GAAKA,EAAEijC,KACb,IAAK,IAAInoB,KAAQjkB,KAAKi1C,SACrB,IAAK,IAAIgB,KAAQD,EAChB7I,EAAK7mC,KAAK2d,EAAK+pB,KAAKiI,IAEtB,OAAO9I,CACR,EACA+I,eAAAA,GACC,OAAOl2C,KAAKi1C,SAASpvC,OACpB,CAAC0D,EAAK4sC,IAAS5sC,EAAIkR,OAAO,CAAC07B,EAAKnI,KAAKhuC,KAAKmsC,OAAQgK,EAAKnI,KAAKhuC,KAAKosC,OACjE,GAEF,EACAgK,YAAAA,GACC,OAAKp2C,KAAKo1C,aAEHp1C,KAAKq2C,gBAAgBr2C,KAAK+0C,eAAetrC,OAAOxE,GAASA,EAAMonC,KAAKiK,cADnE,EAET,EACAC,YAAAA,GACC,OAAKv2C,KAAKo1C,aAEHp1C,KAAKq2C,gBAAgBr2C,KAAK+0C,eAAetrC,OAAOxE,IAAUA,EAAMonC,KAAKiK,cADpEt2C,KAAKqrC,MAEd,EACAA,MAAAA,GACC,OAAOrrC,KAAKq2C,gBAAgBr2C,KAAK+0C,eAClC,EACAxJ,WAAAA,GACC,OAAOvrC,KAAKq2C,gBAAgBr2C,KAAKg1C,oBAClC,EACAwB,cAAAA,GACC,OAAOx2C,KAAKqrC,OAAOzH,KAAKxtB,GAAKA,EAAEjQ,OAChC,EACAswC,aAAAA,GACC,IAAIvsC,EAAO,UAAYlK,KAAKi1C,SAAS9uC,OAAS,SAS9C,OARInG,KAAKq1C,qBACJr1C,KAAKw2C,iBACRtsC,EAAOlK,KAAKqrC,OACV/iC,IAAI8N,GAAKA,EAAEjQ,OACT,MACA,8CACF81B,KAAK,MAEF/xB,CACR,EACAwsC,aAAAA,GACC,MAAMC,EAAY,CAAA,EAkClB,OAhCA32C,KAAK21C,oBAAoB/uC,QAAQqvC,IAChC,IAAIlI,EAAKkI,EAAK9J,MAAM2I,WACf6B,EAAU5I,KACd4I,EAAU5I,GAAM,CAAC,KAAOA,SACN9sC,IAAfg1C,EAAKnvC,OACR6vC,EAAU5I,GAAIznC,KAAK,MAAQ2vC,EAAKnvC,OACjCinC,EAAKkI,EAAK7J,IAAI0I,WACT6B,EAAU5I,KACd4I,EAAU5I,GAAM,CAAC,KAAOA,SACN9sC,IAAfg1C,EAAKnvC,OACR6vC,EAAU5I,GAAIznC,KAAK,MAAQ2vC,EAAKnvC,SAGlC9G,KAAKu2C,aAAa3vC,QAAQ,CAACykC,EAAQuL,KAClC,IAAIC,EAAM72C,KAAKi1C,SAAS2B,GACxBvL,EAAOzkC,QAAQ3B,IACd,GAAKA,EAAM+uC,YAAe/uC,EAAMgvC,SAAhC,CAGA,GAAIhvC,EAAM+uC,WAAY,CACrB,IAAIjG,EAAK9oC,EAAMknC,MAAMwI,KAAKkC,GAAK/B,WAC1B6B,EAAU5I,KACd4I,EAAU5I,GAAM,CAAC,KAAOA,EAAI,KAAOA,GACrC,CACA,GAAI9oC,EAAMgvC,SAAU,CACnB,IAAIlG,EAAK9oC,EAAMmnC,IAAIuI,KAAKkC,GAAK/B,WACxB6B,EAAU5I,KACd4I,EAAU5I,GAAM,CAAC,KAAOA,EAAI,KAAOA,GACrC,CAXC,MAeIvuC,OAAO6M,KAAKsqC,GAAWvvC,KAAK,CAACC,EAAEC,IAAMiS,SAASlS,GAAGkS,SAASjS,IAAIgB,IAAI,CAAC6jC,EAAOxmC,EAAG0G,KACnF,IAAI+/B,EAAM//B,EAAK1G,EAAI,GACnB,OAAKymC,EAIE,IAAMuK,EAAUxK,GAAOlQ,KAAK,KAAO,MAAQmQ,EAAMD,GAAS,MAHhEwK,EAAUxK,GAAO7lC,KAAK,OACf,IAAMqwC,EAAUxK,GAAOlQ,KAAK,KAAO,OAGzCA,KAAK,IACT,GAEDn8B,QAAS,CACRu2C,eAAAA,CAAgB5xC,GACf,MAAMzC,EAASzC,MAAMwS,KAAK,CAAC5L,OAAQnG,KAAKi1C,SAAS9uC,QAAS,IAAM5G,SAyBhE,OAvBAkF,EAAOmC,QAAQ3B,IACd,MAAMknC,EAAQlnC,EAAMknC,OAASnsC,KAAKk2C,gBAAgB,GAAGlI,SAC/C5B,EAAMnnC,EAAMmnC,KAAOpsC,KAAKk2C,gBAAgBl2C,KAAKk2C,gBAAgB/vC,OAAS,GAAG6nC,KAAK,GAEpF,IAAK,IAAIroC,EAAI,EAAGA,EAAI3F,KAAKi1C,SAAS9uC,OAAQR,IAAK,CAC9C,IAAImxC,EAAY92C,KAAKk2C,gBAAoB,EAAJvwC,GACjCoxC,EAAU/2C,KAAKk2C,gBAAoB,EAAJvwC,EAAQ,GAK3C,GAJIV,EAAMonC,MAAMiK,cACfQ,EAAYA,EAAUhJ,QAAQ,OAC9BiJ,EAAUA,EAAQ5I,MAAM,QAErBhC,EAAQ4K,GAAW3K,EAAM0K,EAAW,CACvC,MAAM9C,EAAa7H,GAAS2K,EACtB7C,EAAW7H,GAAO2K,EACxB/0C,EAAO2D,GAAGW,KAAK,IACXrB,EACH+uC,aACAC,YAEF,CACD,IAGMjyC,CACR,EAGAg1C,UAAAA,CAAWviC,GACV,IAAIwiC,EAAUxiC,EAAGyiC,UAGjB,OAFIziC,EAAG0iC,eACNF,GAAWj3C,KAAKg3C,WAAWviC,EAAG0iC,eACxBF,CACR,EACAG,WAAAA,CAAY3iC,GACX,IAAI4iC,EAAW5iC,EAAG6iC,WAGlB,OAFI7iC,EAAG0iC,eACNE,GAAYr3C,KAAKo3C,YAAY3iC,EAAG0iC,eAC1BE,CACR,EACAE,qBAAAA,CAAsBhzC,EAAKizC,GAC1B,IAAIC,EAAOC,EASX,OARI13C,KAAKs0C,UACRmD,EAAQlzC,EAAIomC,MAAQ3qC,KAAKo3C,YAAYp3C,KAAKQ,MAAMI,MAAQZ,KAAKQ,MAAMm3C,KAAK/M,WACxE8M,EAAYD,EAAQz3C,KAAKQ,MAAMI,KAAKypC,cAEpCoN,EAAQlzC,EAAIsmC,MAAQ7qC,KAAKg3C,WAAWh3C,KAAKQ,MAAMI,MAAQZ,KAAKQ,MAAMm3C,KAAK7M,UACvE4M,EAAYD,EAAQz3C,KAAKQ,MAAMI,KAAK2pC,cAG9BiN,EAAex3C,KAAKmsC,MAAQ/lC,KAAKC,OAAOrG,KAAKosC,IAAMpsC,KAAKmsC,OAASuL,EACzE,EAGAE,gBAAAA,GACM53C,KAAKu1C,iBACTv1C,KAAKu1C,eAAiB,IAAIsC,eAAe73C,KAAK83C,wBAC/C93C,KAAKu1C,eAAewC,QAAQ/3C,KAAKQ,MAAMI,MAElCZ,KAAKw1C,mBACTx1C,KAAKw1C,iBAAmB,IAAIwC,iBAAiBC,IACxCA,EAAU7vC,KAAK8vC,GAAKA,EAAEC,WAAWhyC,QAAU,GAAGiC,KAAKkN,KAAK4iC,EAAEC,WAAY1jC,GAAMA,EAAG2jC,SAAW3jC,EAAG2jC,QAAQ,yCACxGp4C,KAAK83C,2BAER93C,KAAKw1C,iBAAiBuC,QAAQ/3C,KAAKQ,MAAMI,KAAM,CAC9Cy3C,SAAS,EACTC,WAAW,IAGZt4C,KAAK83C,uBACN,EACAS,iBAAAA,GACKv4C,KAAKu1C,gBACRv1C,KAAKu1C,eAAeiD,aACrBx4C,KAAKu1C,eAAiB,KAElBv1C,KAAKw1C,kBACRx1C,KAAKw1C,iBAAiBgD,aACvBx4C,KAAKw1C,iBAAmB,IACzB,EACAsC,qBAAAA,GACC,MAAMW,EAAgBz4C,KAAKQ,MAAMk4C,SAAS/X,iBAAiB,sCAE3D,IAAIgY,EAAsB,CAAC,EAAG,MAC9B,IAAK,IAAIlkC,KAAMgkC,EAAcxe,SAAU,CACtC,MAAMtqB,EAAM8E,EAAGyiC,YACVyB,EAAoB,IAAMhpC,EAAMgpC,EAAoB,MACxDA,EAAsB,CAAChpC,EAAK8E,GAC9B,CAEAzU,KAAKy1C,YAAa,EACdkD,EAAoB,GACvBA,EAAoB,GAAGC,eAAe,CAAEC,SAAU,WAElD74C,KAAKQ,MAAMk4C,SAASI,SAAS,EAAG,EAElC,GAED/2C,aAAAA,GACC/B,KAAKu4C,mBACN,EACAv1C,SAAoB,0yIGzTrB+1C,GAAe,CACdz6C,KAAM,WACN8sC,WAAY,CACX+F,aAEDzyC,MAAO,CACNulB,KAAM,CACLrlB,KAAM+tC,MAAMC,SACZv1B,UAAU,IAGZhT,SAAU,CACT20C,SAAAA,GACC,OAAOh5C,KAAKikB,KAAKmqB,eAAe,CAACyI,IAAK,UAAWjJ,MAAO,OAAQC,KAAM,WACvE,EACAoL,SAAAA,GACC,OAAOj5C,KAAKikB,KAAKmqB,eAAe,CAACyI,IAAK,UAAWjJ,MAAO,UAAWC,KAAM,WAC1E,EACAqL,UAAAA,GACC,OAAOl5C,KAAKikB,KAAKmqB,eAAe,CAACyI,IAAK,UAAWjJ,MAAO,WACzD,EACAuL,WAAAA,GACC,OAAOn5C,KAAKikB,KAAKmqB,eAAe,CAACyI,IAAK,WACvC,GAED7zC,SAAoB,sSCzBrBo2C,GAAe,CACd96C,KAAM,WACN8sC,WAAY,CACX+F,aAEDzyC,MAAO,CACNulB,KAAM,CACLrlB,KAAM+tC,MAAMC,SACZv1B,UAAU,IAGZhT,SAAU,CACT40C,SAAAA,GACC,OAAOj5C,KAAKikB,KAAKmqB,eAAe,CAACiL,QAAS,QAC3C,EACAH,UAAAA,GACC,OAAOl5C,KAAKikB,KAAKmqB,eAAe,CAACiL,QAAS,SAC3C,EACAF,WAAAA,GACC,OAAOn5C,KAAKikB,KAAKmqB,eAAe,CAACiL,QAAS,UAC3C,GAEDr2C,SAAoB,qOCxBrBs2C,GAAe,CACdh7C,KAAM,YACNI,MAAO,CACNu3C,KAAM,CACLr3C,KAAM,CAAC+tC,MAAMwI,SAAUhrC,OAAQ3K,QAC/B6X,UAAU,EACVrY,SAAAA,CAAUC,GACT,GAAIA,aAAiBO,OAAQ,CAC5B,GAAIP,aAAiB0tC,MAAMwI,SAC1B,OAAO,EACR,IAAIoE,GAAW,EACXC,GAAS,EAab,OAZIv6C,EAAMktC,QACToN,EACCt6C,EAAMktC,iBAAiBQ,MAAMwI,UAC1BhrC,OAAO+nC,UAAUjzC,EAAMktC,QAGxBltC,EAAMmtC,MACToN,EACCv6C,EAAMmtC,eAAeO,MAAMwI,UACxBhrC,OAAO+nC,UAAUjzC,EAAMmtC,MAGrBmN,GAAYC,CACpB,CACA,OAAO,CACR,IAGFn1C,SAAU,CACTo1C,mBAAAA,GACC,OAAOz5C,KAAKi2C,KAAK9J,OAASnsC,KAAKi2C,KAAK7J,IAAMpsC,KAAKi2C,KAAO,CAAE9J,MAAOnsC,KAAKi2C,KACrE,EACA9J,KAAAA,GACC,OAAKnsC,KAAKy5C,oBAAoBtN,MAEvBnsC,KAAK05C,WAAW15C,KAAKy5C,oBAAoBtN,OADxC,IAET,EACAC,GAAAA,GACC,OAAKpsC,KAAKy5C,oBAAoBrN,IAEvBpsC,KAAK05C,WAAW15C,KAAKy5C,oBAAoBrN,KADxC,IAET,GAEDtsC,QAAS,CACR45C,WAAWz1B,GACHA,EAAK01B,UAAU,CAAEC,iBAAiB,KAG3C52C,SAAU,iLC3CX,ICJA62C,GAAe,CACdv7C,KAAM,UACN4E,WAAY,CACXusC,cACAqK,QDAa,CACdx7C,KAAM,UACN4E,WAAY,CACXgxC,gBACA6E,YACAK,YACAE,cAEDt1C,OAAQ,CACPstC,SAAU,WACVyD,eAAgB,SAChB75B,SAAU,YAEXxc,MAAO,CACNm4C,IAAK,CACJj4C,KAAM+tC,MAAMC,SACZv1B,UAAU,GAEX0iC,aAAcj7C,OACdk7C,oBAAqBl7C,QAEtBe,MAAO,CACN,mBACA,qBAEDtB,KAAIA,KACI,CACN07C,YAAa,KACbC,YAAa,OAGf71C,SAAU,CACT4wC,QAAAA,GACC,MAAO,CAACj1C,KAAK62C,IAAI/I,QAAQ,OAC1B,EACAoH,SAAAA,GACC,OAAIl1C,KAAKsxC,SAEDtxC,KAAKsxC,SAAShpC,IAAIstC,IACjB,CACNzJ,MAAOQ,MAAMwI,SAASgF,YAAYvE,EAAGzJ,OACrCC,IAAKO,MAAMwI,SAASgF,YAAYvE,EAAGxJ,QAK9B7sC,MAAMwS,KAAK,CAAE5L,OAAQ,IAAM,CAACiQ,EAAGzQ,IAAMgnC,MAAMwI,SAASvG,WAAW,CAAEwL,MAAOz0C,EAAI,IAErF,EACA0lC,MAAAA,GACC,OAAOrrC,KAAK+0C,eACVtrC,OAAOxE,GAASA,EAAMknC,MAAQnsC,KAAK62C,IAAI7I,KAAK,CAAEC,KAAM,KAAQhpC,EAAMmnC,IAAMpsC,KAAK62C,KAC7EzvC,KAAK,CAACC,EAAGC,IAAMD,EAAE8kC,MAAM4B,GAAKzmC,EAAE6kC,MAAM4B,IACpCzlC,IAAI/D,GAAOA,EAAI8nC,KAClB,EACAgO,YAAAA,GACC,GAAIr6C,KAAKi6C,aACJj6C,KAAKqrC,OAAOzH,KAAKxtB,GAAKA,GAAKpW,KAAKi6C,aACnC,OAAOj6C,KAAKi6C,YAEd,IAAIK,EAAQ,KAIZ,OAHIt6C,KAAKqrC,SACRiP,EAAQt6C,KAAKqrC,OAAOzH,KAAK/kC,UAEtBy7C,GAAuB,WAAdA,EAAM17C,KACX,KAED07C,CACR,EACAC,OAAAA,GACC,OAAOv6C,KAAK62C,IAAIlE,QAAQhG,MAAMC,SAAS8E,MAAM5E,QAAQ9sC,KAAKkb,UAAW,MACtE,GAEDlN,MAAO,CACNwsC,OAAAA,GACKx6C,KAAKw6C,QACJx6C,KAAKi6C,aACRj6C,KAAKwE,MAAM,mBAAoB,CAC9BS,MAAOjF,KAAKi6C,YACZ5G,QAASA,KAAQrzC,KAAKi6C,YAAc,QAItCj6C,KAAKwE,MAAM,oBAEb,GAED1E,QAAS,CACRgzC,mBAAAA,CAAoBvuC,GACM,SAArBA,EAAImwB,OAAOqc,SACd/wC,KAAKi6C,YAAc11C,EAAImwB,OAAOz1B,MAC1Be,KAAKw6C,SACRx6C,KAAKwE,MAAM,mBAAoB,CAC9BS,MAAOjF,KAAKi6C,YACZ5G,QAASA,KAAQrzC,KAAKi6C,YAAc,QAIxC,GAEDv4C,KAAAA,GACC,MAAMkN,EAAYpN,IAAIK,IAAI,OACpB24C,QAAEA,GElGH,SAA2BpU,EAASqU,GAE1C,MAAMD,EAAUh5C,IAAIK,KAAI,GAClBu0B,EAAO50B,IAAIK,KAAI,GAGftB,EAAUiB,IAAIK,KAAI,GAClB64C,EAAal5C,IAAI6C,SAAS,IAC1B7C,IAAIm5C,MAAMvU,GAGVA,EAAQnnC,OAGTmnC,EAAQnnC,MAAM27C,IACVxU,EAAQnnC,MAAM27C,IAHdxU,EAAQnnC,MAHRmnC,GAUHyU,EAAer5C,IAAI6C,SAAS,KACjC,MAAM6L,EAAQ1O,IAAIm5C,MAAMF,GAAaA,EAAUx7C,MAAQw7C,EACvD,OAAItwC,OAAO+nC,UAAUhiC,GACb,CAAC,CAAC,UAAWA,IACjB3Q,MAAM4I,QAAQ+H,GACVA,EAAM5H,IAAI,CAACrJ,EAAOqb,IAAQ,CAACA,EAAKrb,IAAQmI,KAAK,CAACC,EAAGC,IAAMD,EAAE,GAAGC,EAAE,IAC/D9H,OAAO86B,QAAQpqB,GAAO9I,KAAK,CAACC,EAAGC,IAAMD,EAAE,GAAGC,EAAE,MAIpD,SAASwzC,IAER,QAAqC75C,IAAjCy5C,EAAWz7C,MAAMorC,YACpB,OAED,MAAM/B,EAAQuS,EAAa57C,MAAM2kC,KAAKmX,GAAWA,EAAQ,GAAKL,EAAWz7C,MAAMorC,aAE/EjU,EAAKn3B,MAAQqpC,EAAQA,EAAM,GAAK,OAChCkS,EAAQv7C,MAASm3B,EAAKn3B,OAAS47C,EAAa57C,MAAM,GAAG,EACtD,CAGA,MAAM+7C,EAAW,IAAInD,eAAe,KAC/B6C,EAAWz7C,OACd67C,MAIF,SAASG,IACHP,EAAWz7C,QAGhB67C,IACAE,EAASjD,QAAQ2C,EAAWz7C,OAC5BsB,EAAQtB,OAAQ,EACjB,CACA,SAASi8C,IACJ36C,EAAQtB,OACX+7C,EAASxC,YAEX,CAaA,OAVAh3C,IAAI25C,UAAUF,GACdz5C,IAAI45C,YAAYF,GAEhB15C,IAAI65C,YAAY,KACXX,EAAWz7C,QACdi8C,IACAD,OAIK,CAAET,UAASpkB,OACnB,CFyBsBklB,CAAkB1sC,EAAW,KAEjD,MAAO,CACNA,YACA4rC,UAEF,EACAj6C,OAAAA,GACCP,KAAKk6C,YAAcl6C,KAAKQ,MAAM+E,KAAK/E,MAAMm3C,IAC1C,EACA30C,SAAoB,0rDC9GpBtE,MAAO,CACN68C,YAAa,CACZ38C,KAAM+tC,MAAMC,SACZv1B,UAAU,IAGZxX,MAAO,CACN,qBACA,eACA,QACA,mBACA,qBAEDtB,IAAAA,GACC,MAAO,CACNi9C,UAAWx7C,KAAKu7C,YAChBE,YAAa,EAEf,EACAp3C,SAAU,CACTq3C,KAAAA,GACC,IAAIpB,EAAQt6C,KAAKw7C,UAAU1N,QAAQ,OAC/B6N,EAAO37C,KAAKw7C,UAAUrN,MAAM,OAUhC,OARwB,GAApBnuC,KAAKy7C,cACJz7C,KAAKy7C,YAAc,EACtBnB,EAAQA,EAAMtM,KAAK,CAAEC,KAAMjuC,KAAKy7C,cAEhCE,EAAOA,EAAK3N,KAAK,CAAEC,KAAMjuC,KAAKy7C,eAIzB9O,MAAMiP,SAASC,cAAcvB,EAAOqB,EAC5C,GAED3tC,MAAO,CACNutC,WAAAA,GACKv7C,KAAKu7C,YAAYzM,QAAU9uC,KAAKw7C,UAAU1M,QAC7C9uC,KAAKw7C,UAAYx7C,KAAKu7C,YACtBv7C,KAAKwE,MAAM,eAAgBxE,KAAK07C,SAEhC17C,KAAKy7C,YAAcz7C,KAAKu7C,YAAYzN,QAAQ,OAAO6G,KAAK30C,KAAKw7C,UAAU1N,QAAQ,OAAQ,QAAQG,KAC3FjuC,KAAKy7C,cACRz7C,KAAKQ,MAAMs7C,KAAKt7C,MAAM+E,KAAKgzC,oBAC3Bv4C,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMu7C,OAAOtL,WAAWzwC,KAAKy7C,aAAa94C,KAAK3C,KAAKg8C,aAG5D,GAEDl8C,QAAS,CACR0wC,QAAAA,GACCxwC,KAAKy7C,YAAcz7C,KAAKQ,MAAMu7C,OAAOt3C,OAAS,EAC9CzE,KAAKQ,MAAMs7C,KAAKt7C,MAAM+E,KAAKgzC,oBAC3Bv4C,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMu7C,OAAOvL,WAAW7tC,KAAK3C,KAAKg8C,WACxC,EACAtL,QAAAA,GACC1wC,KAAKy7C,YAAcz7C,KAAKQ,MAAMu7C,OAAOt3C,OAAS,EAC9CzE,KAAKQ,MAAMs7C,KAAKt7C,MAAM+E,KAAKgzC,oBAC3Bv4C,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMu7C,OAAOrL,WAAW/tC,KAAK3C,KAAKg8C,WACxC,EACAA,UAAAA,CAAW/N,GACV,MAAMgO,EAAej8C,KAAKw7C,UAAUxN,KAAK,CAAEC,SAC3CjuC,KAAKw7C,UAAYS,EACjBj8C,KAAKy7C,YAAc,EACnBz7C,KAAKwE,MAAM,qBAAsBxE,KAAKw7C,WACtCx7C,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMs7C,KAAKt7C,MAAM+E,KAAKqyC,kBAC5B,EACAsE,SAAAA,CAAUjO,GACT,MAAM4I,EAAM72C,KAAKw7C,UAAUxN,KAAK,CAAEC,SAClC,MAAO,IAAKjuC,KAAKm8C,OAAQtF,MAC1B,GAEDt2C,OAAAA,GACCP,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMs7C,KAAKt7C,MAAM+E,KAAKqyC,kBAC5B,EACA50C,SAAU,udEtFXo5C,GAAe,CACd99C,KAAM,WACN4E,WAAY,CACXusC,cACA4M,SCFa,CACd/9C,KAAM,WACN4E,WAAY,CACXgxC,gBACA6E,YACAK,YACAE,cAEDt1C,OAAQ,CACPstC,SAAU,WACVp2B,SAAU,YAEXxc,MAAO,CACNm4C,IAAK,CACJj4C,KAAM+tC,MAAMC,SACZv1B,UAAU,GAEXilC,kBAAmBz9C,SAEpBwF,SAAU,CACT8nC,KAAAA,GACC,OAAOnsC,KAAK62C,IAAI/I,QAAQ,OAAQ,CAAEI,gBAAgB,GACnD,EACA+G,QAAAA,GACC,OAAO11C,MAAMwS,KAAK,CAAE5L,OAAQ,GAAK,CAACiQ,EAAGzQ,IAAM3F,KAAKmsC,MAAM6B,KAAK,CAAEC,KAAMtoC,IACpE,EACAuvC,SAAAA,GACC,OAAIl1C,KAAKsxC,SAEDtxC,KAAKsxC,SAAShpC,IAAIstC,IACjB,CACNzJ,MAAOQ,MAAMwI,SAASgF,YAAYvE,EAAGzJ,OACrCC,IAAKO,MAAMwI,SAASgF,YAAYvE,EAAGxJ,QAK9B7sC,MAAMwS,KAAK,CAAE5L,OAAQ,IAAM,CAACiQ,EAAGzQ,IAAMgnC,MAAMwI,SAASvG,WAAW,CAAEwL,MAAOz0C,EAAI,IAErF,GAED7F,QAAS,CACRy6C,OAAAA,CAAQt2B,GACP,OAAOA,EAAK0uB,QAAQhG,MAAMC,SAAS8E,MAAM5E,QAAQ9sC,KAAKkb,UAAW,MAClE,GAEDlY,SAAoB,o9BD1CpBtE,MAAO,CACN68C,YAAa,CACZ38C,KAAM+tC,MAAMC,SACZv1B,UAAU,IAGZxX,MAAO,CACN,qBACA,eACA,QACA,oBAEDtB,IAAAA,GACC,MAAO,CACNi9C,UAAWx7C,KAAKu7C,YAChBE,YAAa,EAEf,EACAp3C,SAAU,CACTq3C,KAAAA,GACC,IAAIpB,EAAQt6C,KAAKw7C,UAAU1N,QAAQ,OAAQ,CAAEI,gBAAgB,IACzDyN,EAAO37C,KAAKw7C,UAAUrN,MAAM,OAAQ,CAAED,gBAAgB,IAU1D,OARwB,GAApBluC,KAAKy7C,cACJz7C,KAAKy7C,YAAc,EACtBnB,EAAQA,EAAMtM,KAAK,CAAEuO,MAAOv8C,KAAKy7C,cAEjCE,EAAOA,EAAK3N,KAAK,CAAEuO,MAAOv8C,KAAKy7C,eAI1B9O,MAAMiP,SAASC,cAAcvB,EAAOqB,EAC5C,GAED3tC,MAAO,CACNutC,WAAAA,GACKv7C,KAAKu7C,YAAYzM,QAAU9uC,KAAKw7C,UAAU1M,QAC7C9uC,KAAKw7C,UAAYx7C,KAAKu7C,YACtBv7C,KAAKwE,MAAM,eAAgBxE,KAAK07C,SAEhC17C,KAAKy7C,YAAcz7C,KAAKu7C,YAAYzN,QAAQ,OAAQ,CAAEI,gBAAgB,IAAQyG,KAAK30C,KAAKw7C,UAAU1N,QAAQ,OAAQ,CAAEI,gBAAgB,IAAS,SAASqO,MAClJv8C,KAAKy7C,cACRz7C,KAAKQ,MAAMs7C,KAAKt7C,MAAM+E,KAAKgzC,oBAC3Bv4C,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMu7C,OAAOtL,WAAWzwC,KAAKy7C,aAAa94C,KAAK3C,KAAKg8C,aAG5D,GAEDl8C,QAAS,CACR0wC,QAAAA,GACCxwC,KAAKy7C,YAAcz7C,KAAKQ,MAAMu7C,OAAOt3C,OAAS,EAC9CzE,KAAKQ,MAAMs7C,KAAKt7C,MAAM+E,KAAKgzC,oBAC3Bv4C,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMu7C,OAAOvL,WAAW7tC,KAAK3C,KAAKg8C,WACxC,EACAtL,QAAAA,GACC1wC,KAAKy7C,YAAcz7C,KAAKQ,MAAMu7C,OAAOt3C,OAAS,EAC9CzE,KAAKQ,MAAMs7C,KAAKt7C,MAAM+E,KAAKgzC,oBAC3Bv4C,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMu7C,OAAOrL,WAAW/tC,KAAK3C,KAAKg8C,WACxC,EACAA,UAAAA,CAAWO,GACV,MAAMN,EAAej8C,KAAKw7C,UAAUxN,KAAK,CAAEuO,UAC3Cv8C,KAAKw7C,UAAYS,EACjBj8C,KAAKy7C,YAAc,EACnBz7C,KAAKwE,MAAM,qBAAsBxE,KAAKw7C,WACtCx7C,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMs7C,KAAKt7C,MAAM+E,KAAKqyC,kBAC5B,EACAsE,SAAAA,CAAUK,GACT,MAAM1F,EAAM72C,KAAKw7C,UAAUxN,KAAK,CAAEuO,UAClC,MAAO,IAAKv8C,KAAKm8C,OAAQtF,MAC1B,EACA/D,mBAAAA,CAAoBvuC,GACnB,OAAQA,EAAImwB,OAAOqc,QACnB,IAAK,MAEJ/wC,KAAKwE,MAAM,qBAAsBD,EAAImwB,OAAOz1B,OAC5C,MACD,IAAK,QAEJe,KAAKwE,MAAM,mBAAoB,CAAES,MAAOV,EAAImwB,OAAOz1B,QAGrD,GAEDsB,OAAAA,GACCP,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMs7C,KAAKt7C,MAAM+E,KAAKqyC,kBAC5B,EACA50C,SAAU,0XEjGXw5C,GAAe,CACdl+C,KAAM,YACN4E,WAAY,CACXusC,cACAgN,UCFa,CACdn+C,KAAM,YACN4E,WAAY,CACXgxC,gBACAwI,UCPa,CACdp+C,KAAM,YACN8sC,WAAY,CACX+F,aAEDzyC,MAAO,CACNulB,KAAM,CACLrlB,KAAM+tC,MAAMC,SACZv1B,UAAU,IAGZhT,SAAU,CACTk4C,KAAAA,GACC,MAAMI,EAAW38C,KAAKikB,KAAK6pB,QAAQ,OAAQ,CAAEI,gBAAgB,IACvD0O,EAAU58C,KAAKikB,KAAKkqB,MAAM,OAAQ,CAAED,gBAAgB,IAEpDqO,EAAQ,CACb,CAAExJ,OAAQ4J,EAAS1N,gBAAiBpB,KAAM8O,EAAStO,eACnD,CAAE0E,OAAQ6J,EAAQ3N,gBAAiBpB,KAAM+O,EAAQvO,gBAIlD,OAFIkO,EAAM,GAAGxJ,QAAUwJ,EAAM,GAAGxJ,QAC/BwJ,EAAMzwC,MACAywC,CACR,GAEDv5C,SAAU,oLDjBTo2C,YACAL,aAEDnhC,OAAAA,GACC,MAAO,CAENyzB,OAAQ7pC,IAAI6C,SAAS,KAEpB,MAAMgnC,EAASrrC,KAAKqrC,OAAO/iC,IAAIrD,IAC9B,MAAMknC,EAAQlnC,EAAMknC,MAAM2B,QAAQ,OAC5B1B,EAAMnnC,EAAMmnC,IAAI4B,KAAK,CAAEC,KAAM,IAAKH,QAAQ,OAChD,MAAO,IACH7oC,EACHknC,QACAC,SAGF,IAAK,IAAI9mC,EAAI,EAAGA,GAAI,EAAIA,IACvB,IAAK,IAAIu3C,EAAI,EAAGA,GAAI,EAAIA,IAAK,CAC5B,MAAMC,EAAY98C,KAAKi1C,SAAS3vC,GAAG0oC,KAAKhuC,KAAKk1C,UAAU2H,IACvDxR,EAAOzhC,QAAQ,CACduiC,MAAO2Q,EACP1Q,IAAK0Q,EAAU9O,KAAK,CAAEC,KAAM,IAC5B5B,KAAM,UAER,CAED,OAAOhB,IAGV,EACArnC,OAAQ,CACPqnC,OAAQ,SACRnwB,SAAU,YAEXxc,MAAO,CACNm4C,IAAK,CACJj4C,KAAM+tC,MAAMC,SACZv1B,UAAU,IAGZhT,SAAU,CACT4wC,QAAAA,GACC,MAAM9I,EAAQnsC,KAAK62C,IAAI/I,QAAQ,SAASA,QAAQ,OAAQ,CAAEI,gBAAgB,IAC1E,OAAO3uC,MAAMwS,KAAK,CAAE5L,OAAQ,GAAK,CAACiQ,EAAGzQ,IAAMwmC,EAAM6B,KAAK,CAAEuO,MAAO52C,IAChE,EACAuvC,UAASA,IACD31C,MAAMwS,KAAK,CAAE5L,OAAQ,GAAK,CAACiQ,EAAGzQ,IAAMgnC,MAAMwI,SAASvG,WAAW,CAAEX,KAAMtoC,MAG/E7F,QAAS,CACRy6C,OAAAA,CAAQt2B,GACP,OAAOA,EAAK0uB,QAAQhG,MAAMC,SAAS8E,MAAM5E,QAAQ9sC,KAAKkb,UAAW,MAClE,GAEDlY,SAAoB,s6BDxDpBtE,MAAO,CACN68C,YAAa,CACZ38C,KAAM+tC,MAAMC,SACZv1B,UAAU,IAGZxX,MAAO,CACN,qBACA,eACA,QACA,oBAEDtB,IAAAA,GACC,MAAO,CACNi9C,UAAWx7C,KAAKu7C,YAChBE,YAAa,EAEf,EACAp3C,SAAU,CACTq3C,KAAAA,GACC,IAAIpB,EAAQt6C,KAAKw7C,UAAU1N,QAAQ,SAASA,QAAQ,OAAQ,CAAEI,gBAAgB,IAC1EyN,EAAOrB,EAAMtM,KAAK,CAAEC,KAAM,KAAME,MAAM,OAE1C,GAAwB,GAApBnuC,KAAKy7C,YAAkB,CAC1B,MACMsB,EADgB/8C,KAAKw7C,UAAUxN,KAAK,CAAEgP,OAAQh9C,KAAKy7C,cACpB3N,QAAQ,SAASA,QAAQ,OAAQ,CAAEI,gBAAgB,IACpFluC,KAAKy7C,YAAc,EACtBnB,EAAQyC,EAERpB,EAAOoB,EAAe/O,KAAK,CAAEC,KAAM,KAAME,MAAM,MAEjD,CAEA,OAAOxB,MAAMiP,SAASC,cAAcvB,EAAOqB,EAC5C,GAED3tC,MAAO,CACNutC,WAAAA,GACKv7C,KAAKu7C,YAAYzM,QAAU9uC,KAAKw7C,UAAU1M,QAC7C9uC,KAAKw7C,UAAYx7C,KAAKu7C,YACtBv7C,KAAKwE,MAAM,eAAgBxE,KAAK07C,SAEhC17C,KAAKy7C,YAAcz7C,KAAKu7C,YAAYzN,QAAQ,SAAS6G,KAAK30C,KAAKw7C,UAAU1N,QAAQ,SAAU,UAAUkP,OACjGh9C,KAAKy7C,cACRz7C,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMu7C,OAAOtL,WAAWzwC,KAAKy7C,aAAa94C,KAAK3C,KAAKg8C,aAG5D,GAEDl8C,QAAS,CACR0wC,QAAAA,GACCxwC,KAAKy7C,YAAcz7C,KAAKQ,MAAMu7C,OAAOt3C,OAAS,EAC9CzE,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMu7C,OAAOvL,WAAW7tC,KAAK3C,KAAKg8C,WACxC,EACAtL,QAAAA,GACC1wC,KAAKy7C,YAAcz7C,KAAKQ,MAAMu7C,OAAOt3C,OAAS,EAC9CzE,KAAKwE,MAAM,eAAgBxE,KAAK07C,OAChC17C,KAAKQ,MAAMu7C,OAAOrL,WAAW/tC,KAAK3C,KAAKg8C,WACxC,EACAA,UAAAA,CAAWgB,GACV,MAAMf,EAAej8C,KAAKw7C,UAAUxN,KAAK,CAAEgP,WAC3Ch9C,KAAKw7C,UAAYS,EACjBj8C,KAAKy7C,YAAc,EACnBz7C,KAAKwE,MAAM,qBAAsBxE,KAAKw7C,WACtCx7C,KAAKwE,MAAM,eAAgBxE,KAAK07C,MACjC,EACAQ,SAAAA,CAAUc,GAET,MAAO,CAAEnG,IADG72C,KAAKw7C,UAAUxN,KAAK,CAAEgP,WAEnC,EACAlK,mBAAAA,CAAoBvuC,GACnB,OAAQA,EAAImwB,OAAOqc,QACnB,IAAK,OAEJ,IAAIkM,EAAYtQ,MAAMC,SAASgC,WAAW,CACzCK,gBAAiB1qC,EAAImwB,OAAOz1B,MAAM8zC,OAClC1E,cAAe9pC,EAAImwB,OAAOz1B,MAAM4uC,MAC9B,CACFuE,KAAMpyC,KAAKu7C,YAAYvI,SACvBlE,OAAQ9uC,KAAKu7C,YAAYzM,SAGrB9uC,KAAKw7C,UAAU7I,QAAQsK,EAAUnP,QAAQ,OAAQ,CAAEI,gBAAgB,IAAS,SAErEluC,KAAKw7C,UAAU7I,QAAQsK,EAAU9O,MAAM,OAAQ,CAAED,gBAAgB,IAAS,UACrFluC,KAAKwE,MAAM,qBAAsBy4C,EAAU9O,MAAM,OAAQ,CAAED,gBAAgB,KAF3EluC,KAAKwE,MAAM,qBAAsBy4C,EAAUnP,QAAQ,OAAQ,CAAEI,gBAAgB,KAI9E,MACD,IAAK,MAEJluC,KAAKwE,MAAM,qBAAsBD,EAAImwB,OAAOz1B,OAC5C,MACD,IAAK,QAEJe,KAAKwE,MAAM,mBAAoB,CAAES,MAAOV,EAAImwB,OAAOz1B,QAGrD,GAEDsB,OAAAA,GACCP,KAAKwE,MAAM,eAAgBxE,KAAK07C,MACjC,EACA14C,SAAU,mXGvGXk6C,GAAe,CACd5+C,KAAM,iBACN4E,WAAY,CACXg6C,YAAAA,IAEDl5C,OAAQ,CACP,aAEDtF,MAAO,CACNwc,SAAU,CACTtc,KAAME,OACNuY,UAAU,GAEX4M,KAAM,CACLrlB,KAAM,CAAC+c,KAAM7c,OAAQqL,OAAQwiC,MAAMC,UACnC7tC,QAAS4tC,MAAMC,SAASG,SAEzBpiC,KAAM,CACL/L,KAAME,OACNC,QAAS,QAEVo+C,eAAgB,CACfv+C,KAAMyE,SACNgU,UAAU,IAGZxX,MAAO,CACN,cACA,cACA,gBAEDtB,IAAAA,GACC,MAAO,CACNymC,MAAO,CACN6R,IAAKr1C,IAAI47C,QAAQvD,IACjBvL,KAAM9sC,IAAI47C,QAAQhB,IAClBxO,MAAOpsC,IAAI47C,QAAQZ,KAEpBtN,YAAa,CACZ2H,IAAK,CACJkD,aAAcv4C,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,oBAC3C4hC,oBAAqBx4C,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,qBAEnDk2B,KAAM,CACLgO,mBAAmB,IAGrBe,cAAe,KAEjB,EACAh5C,SAAU,CACTknC,WAAAA,GACC,IAAImG,EAAM/E,MAAMC,SAAS8E,MAAM5E,QAAQ9sC,KAAKkb,UAE5C,MAAiB,SAAblb,KAAK2K,KACD,CACN,CACC/I,MAAO,kBACPwqC,IAAKsF,EAAI5D,QAAQ,SAIb,CACN,CACClsC,MAAO,kBACPwqC,IAAKsF,EACL9I,MAAO8I,EAAI5D,QAAQ,UAAU6L,UAAU,CAAEC,iBAAiB,EAAM0D,eAAe,KAGlF,GAEDx9C,QAAS,CACRy9C,UAAAA,CAAWt4C,GACV,GAAKA,EAAMu4C,MAEX,MAAO,eAAiBv4C,EAAMu4C,KAC/B,EACAC,WAAAA,CAAYC,GACX19C,KAAK09C,cAAgBA,EACrB19C,KAAKwE,MAAM,eAAgBk5C,EAC5B,GAEDh8C,KAAAA,CAAMhD,EAAOi/C,GACZ,MAAMD,EAAgBl8C,IAAIK,IAAI,OAExBwpC,OAAEA,EAAMuS,GAAEA,GC7FX,SAAwBF,EAAeP,GAC7C,IAAIU,EAAa,EACjB,MAAMxS,EAAS7pC,IAAIK,IAAI,IACjBi8C,EAAgBt8C,IAAIK,IAAI,IACxBk8C,EAAYv8C,IAAI6C,SAAS,IAAMgnC,EAAOpsC,MAAMwb,OAAOqjC,EAAc7+C,QACjE2+C,EAAKp8C,IAAIK,IAAI,MACbm8C,EAAe,GAEfC,EAAkBA,CAAC/b,EAAGuQ,IACvBlzC,MAAM4I,QAAQ+5B,GACVuQ,EAAEh4B,OAAOynB,IACVuQ,EAAEnsC,KAAK47B,GAAIuQ,GAGbyL,EAAmBA,CAAC/R,EAAOC,KAChC,IAAIpqC,EAAS,GACb,GAAKg8C,EAAa73C,OAIjB,GAAI63C,EAAaA,EAAa73C,OAAO,GAAK,GAAKgmC,EAAM4B,GAEpDiQ,EAAaA,EAAa73C,OAAO,GAAKimC,EAAI2B,QACpC,GAAIiQ,EAAaA,EAAa73C,OAAO,GAAKgmC,EAAM4B,GAEtDiQ,EAAa13C,KAAK6lC,EAAM4B,GAAI3B,EAAI2B,SAC1B,GAAIiQ,EAAa,IAAM5R,EAAI2B,GAAK,EAEtCiQ,EAAa,GAAK7R,EAAM4B,QAClB,GAAIiQ,EAAa,GAAK5R,EAAI2B,GAChCiQ,EAAap0C,QAAQuiC,EAAM4B,GAAI3B,EAAI2B,QAC7B,CACN,IAAIjnC,EAAQk3C,EAAajS,UAAU31B,GAAKA,GAAK+1B,EAAM4B,IAEnD,GAAIjnC,EAAQ,EAAG,CAEd,GAAIk3C,EAAal3C,IAAUslC,EAAI2B,GAC9B,MAAO,GAER,IAAIoQ,EAAer3C,GAASk3C,EAAa73C,OAAS,EAElD,GAAIg4C,GAAeH,EAAal3C,EAAQ,GAAKslC,EAAI2B,GAAI,CAGpD,IAAIqQ,EAASJ,EAAal3C,GAAS,EACnCqlC,EAAQA,EAAM6B,KAAKoQ,EAASjS,EAAM4B,IAC7BoQ,GAAeH,EAAal3C,EAAQ,IAAMslC,EAAI2B,GAAK,EAGvDiQ,EAAal3C,GAASslC,EAAI2B,GAF1BiQ,EAAa9hC,OAAOpV,EAAO,EAG7B,KAAO,CAGN,GAAIk3C,EAAal3C,EAAQ,GAAKslC,EAAI2B,GAAI,CACrC,IAAIsQ,EAASL,EAAal3C,EAAQ,GAAK,EACvC9E,EAASi8C,EAAgBC,EAAiB/R,EAAM6B,KAAKqQ,EAASlS,EAAM4B,IAAK3B,GAAMpqC,EAChF,CAEA,IAAIo8C,EAASJ,EAAal3C,GAAS,EACnCqlC,EAAQA,EAAM6B,KAAKoQ,EAASjS,EAAM4B,IAClC,IAAIuQ,EAAON,EAAal3C,EAAQ,GAAK,EACrCslC,EAAMA,EAAI4B,KAAKsQ,EAAOlS,EAAI2B,IAC1BiQ,EAAa9hC,OAAOpV,EAAO,EAC5B,CACD,MAEC,GAAKA,EAUE,GAAIk3C,EAAal3C,IAAUqlC,EAAM4B,GAAI,CAE3C,GAAIiQ,EAAal3C,EAAQ,IAAMslC,EAAI2B,GAClC,MAAO,GAER,IAAIsQ,EAASL,EAAal3C,EAAQ,GAAK,EACvC9E,EAASi8C,EAAgBC,EAAiB/R,EAAM6B,KAAKqQ,EAASlS,EAAM4B,IAAK3B,GAAMpqC,EAChF,KAAO,CAGN,GAAIg8C,EAAal3C,EAAQ,GAAKslC,EAAI2B,GAAI,CACrC,IAAIsQ,EAASL,EAAal3C,EAAQ,GAAK,EACvC9E,EAASi8C,EAAgBC,EAAiB/R,EAAM6B,KAAKqQ,EAASlS,EAAM4B,IAAK3B,GAAMpqC,EAChF,CACA,IAAIs8C,EAAON,EAAal3C,GAAS,EACjCslC,EAAMA,EAAI4B,KAAKsQ,EAAOlS,EAAI2B,IAC1BiQ,EAAal3C,GAASqlC,EAAM4B,EAC7B,KA3BY,CAGX,GAAIiQ,EAAa,GAAK5R,EAAI2B,GAAI,CAC7B,IAAIsQ,EAASL,EAAa,GAAK,EAC/Bh8C,EAASi8C,EAAgBC,EAAiB/R,EAAM6B,KAAKqQ,EAASlS,EAAM4B,IAAK3B,GAAMpqC,EAChF,CACA,IAAIs8C,EAAON,EAAa,GAAK,EAC7B5R,EAAMA,EAAI4B,KAAKsQ,EAAOlS,EAAI2B,IAC1BiQ,EAAa,GAAK7R,EAAM4B,EACzB,CAmBF,MA7EAiQ,EAAa13C,KAAK6lC,EAAM4B,GAAI3B,EAAI2B,IAgFjC,OAAI5B,EAAM4B,IAAM3B,EAAI2B,GACZ/rC,GAER87C,EAAc7+C,MAAMqH,KAAK,CACxBu3C,WAAYA,IACZj/C,KAAM,UACN8tC,SAAUP,EAAMoS,YAAc,IAAMpS,EAAMwN,YAC1C3M,OAAQZ,EAAImS,YAAc,IAAMnS,EAAIuN,cAG9BsE,EAAgBd,EAAehR,EAAOC,GAAMpqC,KA0BpD,OAvBAR,IAAI65C,YAAY,KACf,MAAMK,EAAQl6C,IAAIg9C,QAAQd,GAC1B,KAAMhC,aAAiB/O,MAAMiP,UAC5B,OACD,MAAM6C,EAAWP,EAAiBxC,EAAMvP,MAAOuP,EAAMtP,KACrDhrC,QACEwe,WAAW6+B,GACX97C,KAAK+7C,IACLA,EAAQ93C,QAAQ2C,IAEC,cAAfA,EAAIggB,QACyB,YAA1BhgB,EAAItK,MAAM06B,KAAKpQ,SAEdhgB,EAAItK,MAAM06B,KAAKikB,KAClBA,EAAG3+C,MAAQsK,EAAItK,MAAM06B,KAAKikB,IAE3BvS,EAAOpsC,MAAQosC,EAAOpsC,MAAMwb,OAAOlR,EAAItK,MAAMV,MAC7Cu/C,EAAc7+C,MAAQ,UAMpB,CAAEosC,OAAQ0S,EAAWH,KAC7B,CD1CyBe,CAAejB,EAAeh/C,EAAMy+C,gBAM3D,OAJA37C,IAAIwM,MAAM4vC,EAAIgB,IACbjB,EAAQkB,KAAK,YAAaD,KAGpB,CACNlB,gBACArS,SACAuS,KAEF,EACA9mC,OAAAA,GACC9W,KAAKid,KACH3H,KAAKi+B,GAAU5vB,cACfhhB,KAAK4G,GACEvJ,KAAKq9C,cAAgB9zC,EAAIhL,KAAK+J,IAAImM,IAAE,CAC1C7H,GAAI6H,EAAGqqC,OACP3S,MAAO13B,EAAGsqC,OACV3S,IAAK33B,EAAGuqC,QAGZ,EACAh8C,SAAoB,q0CErGrBi8C,GAAe,CACdtmB,WAAUA,KACF,CACN/d,OAAQ,MACRC,IAAK,yCAGP+d,YAAWA,KACH,CACNhe,OAAQ,MACRC,IAAK,2CCpBR,IAAAqkC,GAAe,CACd5gD,KAAM,0BACN4E,WAAY,CACXg6C,gBAEDx+C,MAAO,CACNsc,SAAUxb,OACV2/C,cAAe3/C,QAEhBjB,KAAIA,KACI,CACNq/C,GAAI,OAGNv5C,SAAS,CACR+6C,UAAAA,GACC,OAAKp/C,KAAKm/C,eAAeE,YAAcC,MAAM,IAAI3jC,KAAK3b,KAAKm/C,eAAeE,aAClE1S,MAAMC,SAAS8E,MAAM5E,QAAQ9sC,KAAKgb,SAASE,UAAUqjC,YACtDv+C,KAAKm/C,eAAeE,UAC5B,EACAE,WAAAA,GACC,OAAKv/C,KAAKm/C,eAAex0C,MAAS,CAAC,MAAO,OAAQ,SAASzL,SAASc,KAAKm/C,eAAex0C,KAAKy1B,eAEtFpgC,KAAKm/C,eAAex0C,KAzBK,MA0BjC,EACA60C,SAAAA,GACC,OAAIF,MAAM/lC,SAASvZ,KAAKm/C,eAAeh7B,QAC/B,KACDnkB,KAAKm/C,cAAch7B,KAC3B,EACAs7B,OAAAA,GACC,OAAuB,OAAnBz/C,KAAKw/C,UACD,GACHx/C,KAAK49C,GAG0B,YAAhC59C,KAAKmY,GAAGsrB,cAAcxkC,MAClBe,KAAK49C,GAAG8B,oBAET1/C,KAAK49C,GAAGroB,YALP,EAMT,GAEDz1B,QAAS,CACR6/C,gBAAAA,CAAiB9I,EAAK+I,GACrB,OAAO5/C,KAAK6/C,iBAAiBD,EAAS/I,EACvC,EACAgJ,gBAAAA,CAAiBD,EAAS/I,GACzB,MAAMlsC,EAAOi1C,EAAQ,GAAGtf,cAAgBsf,EAAQ9J,MAAM,GAChDuJ,EAAaxI,EAAI0H,YAEvBv+C,KAAK8/C,QAAQx5C,KAAK,CACjBhI,KAAM,SACNuV,OAAQ,CACPlJ,OACA00C,aACAl7B,MAAOnkB,KAAKw/C,YAGf,EACArC,cAAAA,CAAehR,EAAOC,GACrB,MAAO,CACNpsC,KAAKid,KAAK3H,KAAKi+B,GAAUG,SAAS1zC,KAAKm/C,cAAch7B,MAAOgoB,EAAMoS,YAAanS,EAAImS,cACnFv+C,KAAKid,KAAK3H,KAAKi+B,GAAU1vB,wBAAwBsoB,EAAMoS,YAAanS,EAAImS,cAE1E,GAEDznC,OAAAA,GACwB,OAAnB9W,KAAKw/C,WAETx/C,KAAKid,KACH3H,KAAKi+B,GAAUI,MAAM3zC,KAAKm/C,eAAeh7B,QACzCxhB,KAAK4G,IACLvJ,KAAK49C,GAAKr0C,EAAIhL,MAEjB,EACAyE,SAAkB,woBC3EnB,IAAA+8C,GAAe,CACdzhD,KAAM,iBACN4E,WAAY,CACXg6C,gBAEDx+C,MAAO,CACNsc,SAAUxb,OACV2/C,cAAe3/C,QAEhBjB,KAAIA,KACI,CACNimB,uBAAwB,KACxBw7B,sBAAuB,KACvBC,qBAAsB,KACtBhlC,IAAK,KACL0G,eAAe,EACfD,WAAW,IAGbrd,SAAS,CACR+6C,UAAAA,GACC,OAAKp/C,KAAKm/C,eAAeE,YAAcC,MAAM,IAAI3jC,KAAK3b,KAAKm/C,eAAeE,aAClE1S,MAAMC,SAAS8E,MAAM5E,QAAQ9sC,KAAKgb,SAASE,UAAUqjC,YACtDv+C,KAAKm/C,eAAeE,UAC5B,EACAE,WAAAA,GACC,OAAKv/C,KAAKm/C,eAAex0C,MAAS,CAAC,MAAO,OAAQ,SAASzL,SAASc,KAAKm/C,eAAex0C,KAAKy1B,eAEtFpgC,KAAKm/C,eAAex0C,KA9BK,MA+BjC,EACAu1C,aAAAA,GACC,IAAKlgD,KAAKggD,wBAA0BhgD,KAAKigD,uBAAyBjgD,KAAKib,IACtE,OAAO,EAER,IAAIrc,GAAO,EAGX,GAFAA,EAAOoB,KAAK0hB,UAAY,UAAY9iB,EACpCA,EAAOoB,KAAK2hB,cAAgB,SAAW/iB,GACnC,IAAUA,EAEb,OAGD,MAAMuhD,EAAO,CAAE/N,KAAMpyC,KAAKgb,SAASE,UAC7BixB,EAAQQ,MAAMC,SAClBC,QAAQ7sC,KAAKggD,sBAAuBG,GACpCC,gBACIpB,EAAOrS,MAAMC,SACjBC,QAAQ7sC,KAAKigD,qBAAsBE,GACnCC,gBAEIC,EAAgB/sC,2BAA2BC,SAA3BD,6CAER1U,EACX,aAAeoB,KAAKib,IACpB,UAAYkxB,EACZ,SAAW6S,EAEd,MAAO,CACN,CAAEl+C,MAAO,QAAS6nC,KAAM,yBAA0B2X,KAAMD,EAAgB,iBACxE,CAAEv/C,MAAO,MAAO6nC,KAAM,uBAAwB2X,KAAMD,EAAgB,eACpE,CAAEv/C,MAAO,QAAS6nC,KAAM,yBAA0B2X,KAAMD,EAAgB,sCACxE,CAAEv/C,MAAO,QAAS6nC,KAAM,yBAA0B2X,KAAMD,EAAgB,sCAE1E,GAEDvgD,QAAS,CACR6/C,gBAAAA,CAAiB9I,EAAK+I,GACrB,OAAO5/C,KAAK6/C,iBAAiBD,EAAS/I,EACvC,EACAgJ,gBAAAA,CAAiBD,EAAS/I,GACzB,MAAMlsC,EAAOi1C,EAAQ,GAAGtf,cAAgBsf,EAAQ9J,MAAM,GAChDuJ,EAAaxI,EAAI0H,YAEvBv+C,KAAK8/C,QAAQx5C,KAAK,CACjBhI,KAAM,WACNuV,OAAQ,CACPlJ,OACA00C,eAGH,EACA5B,WAAAA,CAAYC,GACX19C,KAAKid,KACH3H,KAAKi+B,GAAUvvB,4BACf05B,EAActR,IAAI0B,QAAQ,QAAQyQ,cAElC57C,KAAK4G,IACLvJ,KAAKwkB,uBAAyBjb,EAAIhL,KAAKimB,uBACvCxkB,KAAKggD,sBAAwBz2C,EAAIhL,KAAK4tC,MACtCnsC,KAAKigD,qBAAuB12C,EAAIhL,KAAKygD,MAExC,EACA7B,cAAAA,CAAehR,EAAOC,GACrB,MAAO,CACNpsC,KAAKid,KAAK3H,KAAKi+B,GAAUE,eAAetH,EAAMoS,YAAanS,EAAImS,cAC/Dv+C,KAAKid,KAAK3H,KAAKi+B,GAAU1vB,wBAAwBsoB,EAAMoS,YAAanS,EAAImS,cAE1E,GAEDznC,OAAAA,GACC9W,KAAKid,KACH3H,KAAK2pC,GAAYrmB,eACjBj2B,KAAK4G,IACLvJ,KAAKib,IAAM1R,EAAIhL,KAAK0c,IACpBjb,KAAK2hB,cAAgBpY,EAAIhL,KAAKojB,cAC9B3hB,KAAK0hB,UAAYnY,EAAIhL,KAAKmjB,WAE7B,EACA1e,SAAkB,onCC/GnBu9C,GAAe,CACdr9C,WAAY,CACX7E,WAED8E,OAAQ,CACP9E,GAEDK,MAAO,CACN8hD,eAAsB,KAANjhD,MAChBg2B,YAAaz2B,OAObsE,cAAeC,SACfC,gBAAiBD,SACjBE,uBAAwBF,SACxBG,cAAeH,SACfI,eAAgBJ,UAEjB9E,KAAMA,KAAAA,CACLyD,QAAQ,IAETzB,OAAAA,GACCP,KAAKxB,MAAQwB,KAAKQ,MAAMkD,eAAelF,KACxC,EACAmC,KAAAA,CAAME,GACL,OAAOxC,EAAQsC,MAAMiD,KAAK5D,KAAnB3B,CAAyB,KAAMwC,EACvC,EACAmC,SAAU,o8BClBXy9C,GAAe,CACdpsB,iBAAiBtQ,IAET,CACNnJ,OAAQ,MACRC,IAAK,yCACLhH,OAAQ,CAAEkQ,oBAGZuQ,UAASA,CAAC9P,EAAwBiI,KAC1B,CACN7R,OAAQ,MACRC,IAAK,6BAA6B2J,KAA0BiI,MAG9D8H,qBAAqB9H,IACb,CACN7R,OAAQ,MACRC,IAAK,qCAAqC4R,OCjC7C,MAAMi0B,GAAQ,CAAA,EAEd,IAAAhS,GAAe,CACdhwC,MAAM,CACLiiD,iBAAkB7hD,OAClB2tB,qBAAsBtiB,QAEvB5L,KAAMA,KAAAA,CACLg3B,YAAa,KACbqrB,oBAAqB,KACrBh2B,SAAU,KACVi2B,eAAgB,KAChBltB,QAAS,KACTmtB,KAAM,KACNC,SAAU,KACV/+C,QAAQ,EACRg/C,KAAM,OAEP38C,SAAU,CACT48C,gBAAAA,GACC,IAAIC,EAAgB,CAAA,EAKpB,OAJAlhD,KAAKghD,KAAKG,SAASv6C,QAAQwP,IAC1B,IAAI9X,IAAS8X,EAAEgrC,UAAY,IAAM,KAAOhrC,EAAEirC,SAAW,IAAM,KAAOjrC,EAAEkrC,UAAY,IAAM,KAAOlrC,EAAEmrC,WAAa,KAAKlkB,OACjH6jB,EAAc5iD,GAAQgV,2BAA2BC,SAAWD,2BAA2BE,UAAY,oBAAoB4C,EAAE6E,QAEnHimC,CACR,EACAM,WAAAA,GACC,OAAOxhD,KAAKghD,KAAKG,SAAS74C,IAAK8N,KAAMA,EAAEgrC,UAAY,IAAM,KAAOhrC,EAAEirC,SAAW,IAAM,KAAOjrC,EAAEkrC,UAAY,IAAM,KAAOlrC,EAAEmrC,WAAa,KAAKlkB,OAC1I,EACAokB,SAAAA,GACC,OAAOzhD,KAAKghD,KAAKS,WAAazhD,KAAKghD,KAAKS,UAAUt7C,OAASnG,KAAKghD,KAAKS,UAAUn5C,IAAI8N,KAAOA,EAAEgrC,UAAY,IAAM,KAAOhrC,EAAEirC,SAAW,IAAM,KAAOjrC,EAAEkrC,UAAY,IAAM,KAAOlrC,EAAEmrC,WAAa,KAAKlkB,QAAU,IACzM,EACAqkB,EAAAA,GACC,OAAO1hD,KAAKghD,KAAKU,GAAGC,wBAA2B3hD,KAAKghD,KAAKU,GAAGC,wBAA0B,IAAM3hD,KAAKghD,KAAKU,GAAGnsB,YAAe,EACzH,EACAqsB,SAAAA,GACC,OAAK5hD,KAAKghD,KAAKY,WAAc5hD,KAAKghD,KAAKY,UAAUz7C,OAE1CnG,KAAKghD,KAAKY,UAAUt5C,IAAI8N,KAAOA,EAAEgrC,UAAY,IAAM,KAAOhrC,EAAEirC,SAAW,IAAM,KAAOjrC,EAAEkrC,UAAY,IAAM,KAAOlrC,EAAEmrC,WAAa,KAAKlkB,QADlI,CAAC,IAEV,EACAwkB,WAAAA,GACC,OAAK7hD,KAAKghD,KAAKa,aAAgB7hD,KAAKghD,KAAKa,YAAY17C,OAE9CnG,KAAKghD,KAAKa,YAAYv5C,IAAI8N,KAAOA,EAAEgrC,UAAY,IAAM,KAAOhrC,EAAEirC,SAAW,IAAM,KAAOjrC,EAAEkrC,UAAY,IAAM,KAAOlrC,EAAEmrC,WAAa,KAAKlkB,QADpI,IAET,EACAykB,WAAAA,GACC,OAAK9hD,KAAKghD,KAENhhD,KAAKghD,KAAKe,SACN/hD,KAAKghD,KAAKe,SACb/hD,KAAKghD,KAAKgB,OAERhiD,KAAKghD,KAAKiB,mBAAqBjiD,KAAKghD,KAAKgB,OAAOhiD,KAAKghD,KAAKiB,mBAAqBjiD,KAAKghD,KAAKiB,kBAAoBziD,OAAO6M,KAAKrM,KAAKghD,KAAKgB,QAAQn5C,QAD1I,KAJA,IAMT,GAEDiO,OAAAA,GACC9W,KAAKid,KAAK3H,KAAKmrC,GAASnsB,UAAUt0B,KAAK2gD,iBAAkB3gD,KAAKysB,uBAC7D9pB,KACA4G,GAAOA,EAAIhL,MACVoE,KAAKpE,IACNiB,OAAO0iD,OAAOliD,KACb,CACCu1B,YAAch3B,EAAKg3B,YACnBqrB,oBAAqBriD,EAAKqiD,oBAC1Bh2B,SAAUrsB,EAAKqsB,SACfi2B,eAAgBtiD,EAAKsiD,eACrBltB,QAASp1B,EAAKo1B,QACdmtB,KAAMviD,EAAKuiD,KACXC,SAAUxiD,EAAKwiD,UAAY,QAI1BL,GAAM1gD,KAAKysB,sBACdzsB,KAAKghD,KAAON,GAAM1gD,KAAKysB,sBAEvB7Y,MAAMrI,IAAI+H,2BAA2BC,SAAWD,2BAA2BE,UAAY,6BAA+BxT,KAAK2gD,iBAAmB,IAAM3gD,KAAKysB,sBAAsB9pB,KAAK4G,IACnLvJ,KAAKghD,KAAON,GAAM1gD,KAAKysB,sBAAwBljB,EAAIhL,KAAKuV,QAAU,KAChEI,MAAM,IAAMlU,KAAKghD,KAAO,CAAA,EAE7B,EACAh+C,SAAkB,29HCnFnB,MAAM0a,GAAa,CAAA,EACb8lB,GAAiB,CAAA,EAEvB,SAASW,GAAgB/pB,EAAKoD,GAC7B,OAAOpD,EAAI3Q,OAAO2M,GAAKA,EAAEoH,UAAYA,GAAU3X,OAAO,CAAC0D,EAAK26B,KACtD36B,EAAI26B,EAAKF,UACbz6B,EAAI26B,EAAKF,QAAUE,EAAKD,MAClB16B,GACL,CAAA,EACJ,CACA,SAAS44C,GAAW3kC,GACnB,KAAOgmB,GAAehmB,GAAUrX,QAAQ,CACvC,IAAIsB,EAAI+7B,GAAehmB,GAAU1R,MACjCrE,EAAE,GAAGxI,MAAQwlC,GAAwBjnB,EAAU/V,EAAE,GAAIA,EAAE,IACvDjG,IAAI4gD,WAAW36C,EAAE,GAElB,CACD,CAoBA,SAASg9B,GAAwBjnB,EAAUwmB,EAAQnwB,GAClD,IAAI7R,EAAS0b,GAAWF,GAAUwmB,GAClC,OAAKhiC,GAED6R,IACH7R,EAASA,EAAO6gB,QAAQ,eAAgB,CAAC0hB,EAAOC,SAAsBvjC,IAAf4S,EAAO2wB,GAAoBD,EAAQ1wB,EAAO2wB,KAC3FxiC,GAHC,aAAegiC,EAAS,IAIjC,CAGA,MAAMlM,GAAU,CACfsM,KAAAA,CAAM5mB,EAAUwmB,EAAQnwB,GAQvB,QAPe5S,IAAX4S,IACFtU,MAAM4I,QAAQqV,IAAgC,GAAnBA,EAASrX,QACpCqX,EAAS6mB,OAAuC,GAA9B7mB,EAAS6mB,MAAM,KAAKl+B,UAEvC0N,EAASmwB,GACRxmB,EAAUwmB,GAAUxmB,EAAS6mB,MAAQ7mB,EAAS6mB,MAAM,KAAO7mB,QAE9Cvc,IAAX+iC,EAEH,OADAl8B,QAAQC,MAAM,iBACP,GAER,IAAK2V,GAAWF,GAAW,CAE1B,IAAI6kC,EAAa,GACf,QAA6CphD,IAAzCuY,OAAO8oC,8BAA6C,CACvD,IAAIC,EAAepe,GAAgBme,8BAA+B9kC,QACxCvc,IAAzBshD,EAAave,KACfqe,EAAaE,EAAave,GAE5B,CAEA,IAAKtmB,GAAWF,IAA0D,IAA7Che,OAAO6M,KAAKqR,GAAWF,IAAWrX,OAAc,CAC5EuX,GAAWF,QAAYvc,EACvB,IAAIqjC,EAAM9iC,IAAIK,IAAIwgD,GAElB,OAxDJ,SAAkB7kC,EAAU8mB,EAAKN,EAAQnwB,GAExC,GAAI2vB,GAAehmB,GAIlB,OAHAgmB,GAAehmB,GAAUlX,KAAK,CAACg+B,EAAKN,EAAQnwB,SACxC6J,GAAWF,IACd2kC,GAAW3kC,IAGbgmB,GAAehmB,GAAY,CAAC,CAAC8mB,EAAKN,EAAQnwB,IAE1CD,MAAMrI,IAAI+H,2BAA2BC,SAAWD,2BAA2BE,UAAY,kCAAoCgK,GAAU7a,KAAK4G,IACrIA,EAAIhL,KAAKuV,OACZ4J,GAAWF,GAAY2mB,GAAgB56B,EAAIhL,KAAKuV,OAAQ0J,GAExDE,GAAWF,GAAY,CAAA,EAExB2kC,GAAW3kC,KACTtJ,MAAMuH,GAAO3T,QAAQC,MAAM0T,GAC/B,CAqCI+mC,CAAShlC,EAAU8mB,EAAKN,EAAQnwB,GACzBywB,CACR,CACD,CACA,IAAItiC,EAASyiC,GAAwBjnB,EAAUwmB,EAAQnwB,GACvD,OAAOrS,IAAIK,IAAIG,EAChB,EACAoW,CAAAA,CAAEoF,EAAUwmB,EAAQnwB,GACnB,OAAOrS,IAAIihD,MAAMziD,KAAKokC,MAAM5mB,EAAUwmB,EAAQnwB,GAC/C,GAGD,IAAAhR,GAAe,CACdtE,KAAMA,KACE,CACN4K,EAAG2uB,MCvFN4qB,GAAe,CACdhkD,MAAM,CACL+5B,KAAK,CACJ75B,KAAKW,MACLR,QAAQ,MAET4jD,gBAAiBpjD,MACjBqjD,UAAWrjD,MACXsjD,mBAAoB,CACnBxrC,UAAS,EACTtY,SAAQ,EACRH,KAAKC,UAGPN,KAAIA,KACG,CAAA,GAIPuB,QAAQ,CACPgjD,YAAa,SAAUC,GACtB,OAAK/iD,KAAKgjD,QAAQD,KAAcA,EAASE,iBAAiB98C,SAGvC,8BAAf48C,EAASn2C,KAAuC5M,KAAK6iD,oBAGlD,KACR,EACAK,UAAW,SAAUH,GACpB,OAAIA,EAASE,iBAAiB98C,OAAS,EAAU,KAC1C48C,EAASG,WAAa,IAC9B,EACAF,QAAQD,GACFA,EACDxjD,MAAM4I,QAAQ46C,EAASE,kBAAoBF,EAASE,gBAAgB98C,OAEhE,KAIA48C,EAASC,SAAW,KAPN,KAUvBG,WAAAA,CAAYJ,GACX,OAAGA,EAAS/e,OACJhkC,KAAKmY,GAAGC,EAAE2qC,EAAS/e,QAEnB+e,EAASzkD,IAElB,GAED0E,SAAiB,87CCpClBogD,GAAe,CACdptB,UAASA,CAACC,EAAMzR,KACR,CACN5J,OAAQ,MACRC,IAAK,qCAAqCob,KAAQzR,OChBrD6+B,GAAgB,CAEZ3kD,MAAM,CACFuG,MAAM,CACFrG,KAAKY,OACL6X,UAAS,EACTtY,QAAQ,MAElB0gB,gBAAiB,CAChB7gB,KAAME,OACNuY,UAAU,EACVtY,QAAS,MAEVukD,MAAO,CACN1kD,KAAME,OACNuY,UAAU,EACVtY,QAAS,MAGVwkD,gBAAiB,CAChB3kD,KAAMY,OACN6X,UAAU,EACVtY,QAAS,OAGRR,KAAIA,KACO,CACHyD,QAAQ,EACRy2B,KAAM,GACf+qB,gBAAe,EACfX,oBAAoB,EACpBY,qBAAsB,KAGrBtgD,OAAO,CAAC9E,GACR6E,WAAW,CACP7E,UACNqkD,WAED1+C,OAAQ,CAAC,2BACNlE,QAAQ,CAEJ4jD,YAAa,WAClB1jD,KAAKwjD,gBAAiB,CACjB,EACAG,UAAW,WAuBhB,GAtBK3jD,KAAKujD,gBASTvjD,KAAKwjD,gBAAiB,EARVxjD,KAAKid,KACf3H,KAAK8tC,GAAUptB,UAAUh2B,KAAKiF,MAAMwnB,qBAAuBzsB,KAAKyf,iBAAmBzf,KAAKiF,MAAMuf,yBAC/E7hB,KAAK4G,IACbA,EAAIhL,OACPyB,KAAKy4B,KAAOlvB,EAAIhL,QAQnByB,KAAK4jD,yBACR5jD,KAAKod,QAAQ8b,QAAQ7B,QAAQO,qBAAqB53B,KAAK4jD,wBAAyB5jD,KAAKiF,MAAM8e,gBAAkB/jB,KAAKiF,MAAMwnB,sBACtH9pB,KAAKpE,GAAQA,EAAKA,MAClBoE,KAAK4G,IACLvJ,KAAKyjD,qBAAuBl6C,EAAI0xB,UAK/Bj7B,KAAKyf,iBAAmBzf,KAAKiF,MAChC,OAAOjF,KAAKod,QAAQ8b,QAAQ7B,QAAQM,4BAA4B33B,KAAKyf,gBAAiBzf,KAAKiF,MAAM8e,gBAAkB/jB,KAAKiF,MAAMwnB,sBAC5H9pB,KAAKpE,GAAQA,EAAKA,MAClBoE,KAAK4G,IACDhK,MAAM4I,QAAQoB,IAAQA,EAAIpD,OAAS,EACtCnG,KAAK6iD,oBAAqB,EAE1B7iD,KAAK6iD,oBAAqB,GAKzB,GAEPtiD,OAAAA,GACOP,KAAKxB,MAAQwB,KAAKQ,MAAMkD,cAC5B,EACH3B,aAAAA,GACC/B,KAAKQ,MAAMkD,eAAexD,MAC3B,EACG8C,SAAiB,o+BC3FrB6gD,GAAe,CACd3gD,WAAY,CACX4gD,wBCDa,CACd5gD,WAAY,CACX6gD,0BCKa,CACd7gD,WAAW,CACVmgD,iBAEDlgD,OAAQ,CACPN,IAEDmB,OAAQ,CAAC,oBACTtF,MAAO,CACN+tB,qBAAsBtiB,OACtBorB,YAAaz2B,OACbklD,gBAAiBllD,OACjBmlD,OAAQnlD,OACR0+C,MAAO1+C,OACPkjD,OAAQnjD,QACRqlD,SAAUrlD,QACVslD,OAAQrlD,OACRslD,UAAW7kD,MACX8kD,MAAOvlD,OACPwlD,SAAU/kD,MACVqhD,oBAAqB9hD,OACrB8rB,SAAU,CAAC9rB,OAAQqL,QACnB02C,eAAgB/hD,OAChB60B,QAAS70B,OACTgiD,KAAMhiD,OACNiiD,SAAU52C,OACVo6C,QAAS1lD,QACT2lD,WAAY1lD,QAEbP,KAAMA,KACE,CACNiiD,eAAgB,KAChBQ,KAAM,KACNvoB,KAAM,KACNgsB,oBAAqB,OAGvBpgD,SAAU,CACTqgD,UAAAA,GAEC,GAAoB,MAAhB1kD,KAAKukD,QAET,OAAIvkD,KAAKukD,QAED,qBAIA,mBAET,EACAI,2BAAAA,GACC,MAAoB,4BAAb3kD,KAAKy4B,IACb,EACAmsB,SAAAA,GACC,OAAQ5kD,KAAKy4B,OAASl5B,MAAM4I,QAAQnI,KAAKy4B,OAASl5B,MAAM4I,QAAQnI,KAAKy4B,OAA6B,GAApBz4B,KAAKy4B,KAAKtyB,MACzF,EACA0+C,UAASA,KAAW,CAAA,GAMpBC,KAAAA,GACC,MAAMC,EAAgD,YAAhC/kD,KAAKmY,GAAGsrB,cAAcxkC,MAAsB,EAAI,EACtE,OAAGe,KAAKkkD,UAAYlkD,KAAKskD,UAAUn+C,OAC3BnG,KAAKskD,SAASS,GACZ/kD,KAAKkkD,UAAYlkD,KAAKokD,WAAWj+C,OACnCnG,KAAKokD,UAAUW,GACT,IACf,EACAC,0BAAAA,GACC,OAAOhlD,KAAKwgD,gBAAkBxgD,KAAKwgD,eAAer6C,OAAS,CAC5D,GAEDrG,QAAS,CAERmlD,SAAAA,CAAUx4B,EAAuBzsB,KAAKysB,qBAAsBk0B,EAAmB3gD,KAAK2gD,kBACnF,OAAO3gD,KAAKid,KACV3H,KAAK8tC,GAAUptB,UAAUvJ,EAAsBk0B,IAC/Ch+C,KAAK4G,IACLvJ,KAAKy4B,KAAOlvB,EAAIhL,OAEhB2V,MAAOnM,IACP/H,KAAK+6B,UAAUoF,kBAAkBp4B,GACjC/H,KAAKy4B,KAAO,IAEf,EAEAuqB,QAAQD,GACFA,EACDxjD,MAAM4I,QAAQ46C,EAASE,kBAAoBF,EAASE,gBAAgB98C,OAChE,IAGA48C,EAASC,SAAW,KALN,KAQvBkC,YAAAA,CAAanC,GACO,+BAAfA,EAASn2C,IAEa,yCAAfm2C,EAASn2C,GADnB4M,OAAOyb,SAASqQ,KAAOyd,EAASC,SAIhChjD,KAAKykD,oBAAsB1B,EAC3BvhD,IAAI2jD,SAAS,KACZnlD,KAAKQ,MAAM4kD,aAAajlD,SAG3B,EACAklD,cAAAA,GAEMrlD,KAAKglD,4BAEVzE,GAAa5/C,MAAM,CAClB6/C,eAAgBxgD,KAAKwgD,eACrBjrB,YAAav1B,KAAKu1B,aAEpB,EACA+vB,SAAAA,GACMtlD,KAAKghD,OACThhD,KAAKghD,MAAO,EAEZuE,GAAO5kD,MAAM,CACZ8rB,qBAAsBzsB,KAAKysB,qBAC3B8I,YAAav1B,KAAKu1B,YAClByuB,gBAAiBhkD,KAAKgkD,gBACtBpD,oBAAqB5gD,KAAK4gD,oBAC1Bh2B,SAAU5qB,KAAK4qB,SACf+1B,iBAAkB3gD,KAAK2gD,iBACvBE,eAAgB7gD,KAAK6gD,eACrBltB,QAAS3zB,KAAK2zB,QACdmtB,KAAM9gD,KAAK8gD,KACXC,SAAU/gD,KAAK+gD,WACbp+C,KAAK,IAAM3C,KAAKghD,MAAO,GAAO9sC,MAAM,IAAMlU,KAAKghD,MAAO,GAE3D,GAEDhzC,MAAM,CACL2yC,gBAAAA,CAAiB/B,GAChB5+C,KAAKilD,UAAUjlD,KAAKysB,qBAAsBmyB,EAC3C,GAED9nC,OAAAA,GACC9W,KAAKid,KACH3H,KAAKmrC,GAASlsB,qBAAqBv0B,KAAKysB,uBACxC9pB,KAAK4G,GAAOA,EAAIhL,MAChBoE,KAAK6iD,IACLxlD,KAAKwgD,eAAiBgF,GAEzB,EACAjlD,OAAAA,GACCP,KAAKilD,UAAUjlD,KAAKysB,qBAAsBzsB,KAAK2gD,iBAChD,EACA39C,SAAkB,g0GD7JlBG,OAAQ,CACPN,IAEDnE,MAAO,CACN62B,YAAaz2B,OACb2mD,QAAS3mD,OACT8rB,SAAU,CAAC9rB,OAAOqL,QAClBu7C,IAAKnmD,MACLomD,mBAAoB7mD,QAErBuF,SAAU,CACTuhD,mBAAAA,GACC,MAAO,IAAK,IAAIC,IACf7lD,KAAK0lD,IACJp9C,IAAIs1C,GAAM,CACVA,EAAGnxB,qBACHmxB,KAEA3jB,SACH,GAEDn6B,QAAS,CACR6sB,KAAKixB,GACGA,EAAGsG,WAAWtG,EAAGyG,OAASzG,EAAGuG,SAAiB,MAGvDnhD,SAAU,mkBD3BV4U,OAAAA,GACC,MAAO,CACN+oC,iBAAkBn/C,IAAI6C,SAAS,IAAMrE,KAAK4qB,UAE5C,EACAlsB,MAAO,CACNksB,SAAU,CAAC9rB,OAAQqL,QACnBu7C,IAAKnmD,OAEN8E,SAAU,CACTsR,KAAAA,GAAU,OAAoB,OAAb3V,KAAK0lD,GAAc,EACpCI,aAAAA,GACC,MAAO,IAAK,IAAID,IACf7lD,KAAK0lD,IACJp9C,IAAIs1C,GAAM,CACVA,EAAG34B,eAAiB,IAAM24B,EAAGhzB,SAC7B,CACC3F,eAAgB24B,EAAG34B,eACnBsQ,YAAaqoB,EAAGmI,eAChBJ,mBAAoB/H,EAAG+H,mBACvBF,QAAS7H,EAAGgD,oBACZh2B,SAAUgzB,EAAGhzB,aAGdqP,UAAU7yB,KAAK,CAACC,EAAGC,IAAMD,EAAEkuB,YAAY6K,eAAiB94B,EAAEiuB,YAAY6K,cAAgB/4B,EAAEujB,SAAWtjB,EAAEsjB,SAAWvjB,EAAEkuB,YAAY6K,cAAgB94B,EAAEiuB,YAAY6K,cAC/J,GAEDtgC,QAAS,CACRkmD,iBAAAA,CAAkBzuB,GACjB,OAAOv3B,KAAK0lD,IAAIj8C,OAAOm0C,GAAMA,EAAG34B,gBAAkBsS,EAAYtS,gBAAkB24B,EAAGhzB,UAAY2M,EAAY3M,SAC5G,GAED5nB,SAAU,8UGhCXijD,GAAe,CACd/iD,WAAY,CACX2gD,iBAED1gD,OAAQ,CACPN,IAEDtE,KAAMA,KACE,CACN2nD,WAAW,EACXzmC,gBAAiB,KACjBimC,IAAK,CAAA,EACLS,gBAAiB,OAGnB9hD,SAAU,CACTsR,KAAAA,GACC,OAAgC,OAAzB3V,KAAKyf,mBAA8Bzf,KAAKkmD,WAAkC,OAArBlmD,KAAK2tC,QAAQ+X,IAC1E,EACA/X,OAAAA,GACC,OAA6B,OAAzB3tC,KAAKmmD,gBACD,CAAEv7B,SAAU,KAAM86B,IAAK,UACQzkD,IAAnCjB,KAAK0lD,IAAI1lD,KAAKmmD,mBACjBnmD,KAAK0lD,IAAI1lD,KAAKmmD,iBAAmB,CAChCv7B,SAAU5qB,KAAKmmD,gBACfT,IAAK,MAEN9xC,MAAMrI,IAAI+H,2BAA2BC,SAAWD,2BAA2BE,UAAY,4BAA8BxT,KAAKmmD,iBAAiBxjD,KAAK4G,IAC/IvJ,KAAK0lD,IAAI1lD,KAAKmmD,iBAAiBT,IAAMn8C,EAAIhL,KAAKuV,QAAU,GACxD9T,KAAKkmD,WAAY,KAGZlmD,KAAK0lD,IAAI1lD,KAAKmmD,iBACtB,EACAC,UAAAA,GACC,IAAI1U,EAAM/1B,KAAK+1B,MACX0U,EAAa,KACbC,EAAiB,EAgBrB,OAfArmD,KAAKyf,gBAAgB7Y,QAAQ0/C,IAC5B,IAAIna,EAAQ,IAAIxwB,KAAK2qC,EAAIna,OACrBC,EAAM,IAAIzwB,KAAK2qC,EAAItH,MACvB,GAAItN,GAAOvF,GAASuF,GAAOtF,EAG1B,OAFAga,EAAaE,EAAI9hC,4BACjB6hC,EAAiB,GAGlB,IAAI1R,EAAOvuC,KAAKoJ,IAAIpJ,KAAKmgD,IAAI7U,EAAMvF,GAAQ/lC,KAAKmgD,IAAI7U,EAAMtF,KACvC,OAAfga,GAAuBzR,EAAO0R,KACjCD,EAAaE,EAAI9hC,uBACjB6hC,EAAiB1R,KAIZyR,CACR,EACAI,cAAAA,GACC,OAAOxmD,KAAKyf,gBAAgB,GAAG+E,wBAA0BxkB,KAAKmmD,eAC/D,EACAM,aAAAA,GACC,OAAOzmD,KAAKyf,gBAAgBzf,KAAKyf,gBAAgBtZ,OAAO,GAAGqe,wBAA0BxkB,KAAKmmD,eAC3F,GAEDrmD,QAAS,CACR4mD,OAAAA,GACC1mD,KAAKQ,MAAMif,gBAAgBknC,gBAC3B3mD,KAAKQ,MAAMif,gBAAgBmhB,cAAc,IAAIF,MAAM,SAAU,CAAEyJ,SAAS,IACzE,EACAyc,OAAAA,GACC5mD,KAAKQ,MAAMif,gBAAgBknC,gBAC3B3mD,KAAKQ,MAAMif,gBAAgBmhB,cAAc,IAAIF,MAAM,SAAU,CAAEyJ,SAAS,IACzE,EACA0c,YAAAA,CAAaviB,GACZtkC,KAAK8/C,QAAQx5C,KAAK,aAAag+B,IAChC,GAEDxtB,OAAAA,GACClD,MAAMrI,IAAI+H,2BAA2BC,SAAWD,2BAA2BE,UAAY,wCAAwC7Q,KAAK4G,IACnIvJ,KAAKyf,gBAAkBlW,EAAIhL,KAAKuV,QAAU,GAC1C,MAAMgzC,EAAwB9mD,KAAK+mD,OAAOlzC,OAAO4L,gBAC7CqnC,GAAyB9mD,KAAKyf,gBAAgBhW,OAAOu9C,GAAKA,EAAExiC,wBAA0BsiC,GAAuB3gD,OAChHnG,KAAKmmD,gBAAkBW,EAEvB9mD,KAAKmmD,gBAAkBnmD,KAAKomD,YAE/B,EACAa,iBAAAA,CAAkBC,EAAIn1C,EAAMo1C,GACvBD,EAAGrzC,OAAO4L,iBAAmBzf,KAAKyf,gBAAgBhW,OAAOu9C,GAAKA,EAAExiC,wBAA0B0iC,EAAGrzC,OAAO4L,iBAAiBtZ,QAAU+gD,EAAGrzC,OAAO4L,iBAAmBzf,KAAKmmD,kBACpKnmD,KAAKmmD,gBAAkBe,EAAGrzC,OAAO4L,iBAClC0nC,GAED,EACAnkD,SAAU,4pDC7EJ,MAAMokD,GAAgB,CAC5BvnD,MAAO,CAAC,eACRnB,MAAO,CACN2oD,QAAS,CACRzoD,KAAMC,SAEPyoD,YAAa,CACZjwC,UAAU,EACVzY,KAAMyE,UAEPkkD,sBAAuB,CAAA,GAExBv5C,MAAO,CAINq5C,QAAS,SAAUzI,EAAU4I,GAC5BxnD,KAAKynD,WACN,GAEDlpD,KAAM,WACL,MAAO,CACNsd,SAAS,EACT9T,OAAO,EACP2/C,aAAc,KAEhB,EACA5wC,QAAS,WACR9W,KAAKynD,WACN,EACA3nD,QAAS,CAIR2nD,UAAW,WAMV,GALAznD,KAAK6b,SAAU,EACf7b,KAAK+H,OAAQ,EACb/H,KAAK0nD,aAAe,KAGW,mBAApB1nD,KAAKsnD,YAChB,CAEQ,IAAIK,EAAoB3nD,KAAKsnD,YAAYtnD,KAAKunD,uBAGjDI,aAA6BvmD,QAEhCumD,EACEhlD,KAAK3C,KAAK4nD,gBACV1zC,MAAMlU,KAAK6nD,cACXC,QAAQ9nD,KAAK+nD,gBAIf/nD,KAAKgoD,SAAS,mDAEhB,MAGChoD,KAAKgoD,SAAS,yCAEhB,EAIAA,SAAU,SAASN,GAClB1nD,KAAK6b,SAAU,EACf7b,KAAK+H,OAAQ,EACb/H,KAAK0nD,aAAeA,CACrB,EAIAE,eAAgB,SAASzzC,GACxBnU,KAAKwE,MAAM,cAAe2P,EAAWA,EAAS5V,UAAO0C,EACtD,EAIA4mD,aAAc,SAAS9/C,GAClBA,EAAMoM,UAAU5V,MAAMuV,OACzB9T,KAAKgoD,SAASjgD,EAAMoM,SAAS5V,KAAKuV,QAC1B/L,EAAMxJ,MAAM08B,QACpBj7B,KAAKgoD,SAASjgD,EAAMxJ,KAAK08B,SAEzBj7B,KAAKgoD,SAASjgD,EAAMkzB,QACtB,EAIA8sB,eAAgB,WACf/nD,KAAK6b,SAAU,CAChB,GAED7Y,SAAU,0RClGLilD,GAA8B,8BAKpC,IAAAC,GAAe,CACdxpD,MAAO,CACNypD,QAAS,CACRvpD,KAAMW,MACNR,QAAS,IAEVqpD,QAAS,CACRxpD,KAAMW,MACNR,QAAS,IAEVspD,OAAQ,CACPzpD,KAAMW,MACNR,QAAS,KAGXc,MAAO,CACNyoD,aAAc,CAAC,YACfC,kBAAmB,CAAC,gBACpBpqC,iBAAkB,CAAC,qBAEpB5f,KAAM,WACL,MAAO,CACNiqD,cAAe,GAEjB,EACAnkD,SAAU,CACTyjC,KAAAA,GACC,OAAO9nC,KAAKooD,QAAQviD,OAAO,CAACwB,EAAEohD,KAC7B,IAAI7pD,EAAO6pD,EAAE7pD,KAAKwhC,cAgBlB,OAfIxhC,EAAKkL,QAAQ,QAAU,EAC1BzC,EAAEohD,EAAEnqD,MAAQ,UAEZM,EAAKkL,QAAQ,YAAc,GAC3BlL,EAAKkL,QAAQ,SAAW,GACxBlL,EAAKkL,QAAQ,WAAa,EAE1BzC,EAAEohD,EAAEnqD,MAAQ,OAEZM,EAAKkL,QAAQ,cAAgB,GAC7BlL,EAAKkL,QAAQ,SAAW,EAExBzC,EAAEohD,EAAEnqD,MAAQ,OAEZ+I,EAAEohD,EAAEnqD,MAAQ,GACN+I,GACL,CAAA,EACJ,GAED2G,MAAO,CACNq6C,MAAAA,CAAOnmB,GACNliC,KAAKwoD,cAAgBtmB,CACtB,GAEDpiC,QAAS,CACRwoD,YAAAA,CAAa/jD,GACZvE,KAAKwE,MAAM,eAAgBD,EAAImkD,cAAczpD,MAC9C,EACAspD,iBAAAA,GACC,MAAMI,EAAiB3oD,KAAKwoD,cAAc/+C,OAAOgL,GAAMA,EAAGnW,MAAQ2pD,IAC9DU,EAAel/C,OAAOgL,GAAsB,IAAhBA,EAAGjG,WAAiBrI,OACnDgW,MAAM,sCAENnc,KAAKwE,MAAM,oBAAqBmkD,EAClC,EACAC,QAAAA,CAASrkD,GACRvE,KAAKwoD,cAAcliD,KAAK,CACvBhI,KAAM2pD,IAER,EACAY,WAAAA,CAAY/hD,GACX9G,KAAKwoD,cAActsC,OAAOpV,EAAO,EAClC,GAED9D,SAAU,+zJC3EX8lD,GAAe,CACdpqD,MAAO,CACN2pD,OAAQ9oD,MACRwpD,SAAU,CACTnqD,KAAMW,MACNR,QAAS,IAEViqD,MAAO,CACNpqD,KAAMY,OACNT,QAAS,CAAA,IAGXc,MAAO,CACNK,KAAM,CAAC,aACPC,KAAM,CAAC,cAER5B,KAAM,WACL,MAAO,CACN0qD,eAAgB,GAElB,EACAj7C,MAAO,CACN+6C,QAAAA,CAAS7mB,GACRliC,KAAKipD,eAAiB/mB,CACvB,GAEDpiC,QAAS,CACRO,MAAAA,CAAO0hC,IACoC,GAAtC/hC,KAAKipD,eAAen/C,QAAQi4B,IAE/B/hC,KAAKipD,eAAe/sC,OAAOlc,KAAKipD,eAAen/C,QAAQi4B,GAAQ,GAC/D/hC,KAAKwE,MAAM,OAAQu9B,KAInB/hC,KAAKipD,eAAe3iD,KAAKy7B,GACzB/hC,KAAKwE,MAAM,OAAQu9B,GAErB,GAED/+B,SAAU,meC3CX,MAAMkmD,GAAgB,CACrBC,UAAW,gBACXC,KAAM,gBACNC,IAAK,cACLrpB,KAAM,eACNspB,KAAM,UACNC,IAAK,eAEAC,GAAiB,CACtBL,UAAW,wBACXC,KAAM,mBACNC,IAAK,kBACLrpB,KAAM,mBACNspB,KAAM,mBACNC,IAAK,oBAON,IAAAE,GAAe,CACd/qD,MAAO,CACNgrD,UAAWlqD,OACXgD,OAAQ,CACP5D,KAAM,CAACC,QAASC,OAAQuE,SAAU9D,MAAOC,QACzCT,SAAS,GAEV4qD,UAAW,CAAC7qD,OAAQS,MAAOC,SAE5B6E,SAAU,CACTulD,aAAAA,GACC,IAAK5pD,KAAKwC,OACT,OAAO,EAER,IAAIA,EAASxC,KAAKwC,OAElB,GAAIA,aAAkBa,SACrB,MAAO,CAACb,GAET,GAAe,OAAXA,EACH,MAAO,GAQR,IANoB,IAAhBxC,KAAKwC,SACRA,EAAS,CAAC,QAEoC,oBAA3ChD,OAAO4V,UAAUC,SAASC,KAAK9S,KAClCA,EAASA,EAAO6hC,MAAM,MAED,iBAAX7hC,IAAwBjD,MAAM4I,QAAQ3F,GAAS,CACzD,IAAIqnD,EAAY,GAChB,IAAK,IAAIhzC,KAAKrU,EAAQ,CACrB,IAAmB5D,EAAf6I,EAAIjF,EAAOqU,GAEVpP,IAGqC,oBAAtCjI,OAAO4V,UAAUC,SAASC,KAAK7N,GAErB,QADb7I,EAAOoB,KAAK8pD,sBAAsBriD,IAEjCoiD,EAAUvjD,KAAK,CACdqiC,KAAM,YAAcugB,GAActqD,GAClCgqC,MAAOnhC,IAAMoP,EAAI2yC,GAAe5qD,GAAQiY,EACxCkzC,UAAWnrD,IAIA,QADZA,EAAOoB,KAAK8pD,sBAAsBjzC,IAEjCgzC,EAAUvjD,KAAK,CACdqiC,KAAM,YAAcugB,GAActqD,GAClCgqC,MAAOnhC,EACPsiD,UAAWnrD,IAGZud,MAAM,WAAatF,EAAI,QAAUpP,EAAI,sCAGhB,iBAANA,GAAmBlI,MAAM4I,QAAQV,GAiBrC,QADb7I,EAAOoB,KAAK8pD,sBAAsBjzC,IAEjCgzC,EAAUvjD,KAAK,CACdqiC,KAAM,YAAcugB,GAActqD,GAClCgqC,MAAO4gB,GAAe5qD,GACtBmrD,UAAWnrD,IAGZud,MAAMtF,EAAI,0CAtBE,QADbjY,EAAOoB,KAAK8pD,sBAAsBjzC,UAEb5V,IAAhBwG,EAAEsiD,YACLtiD,EAAEsiD,UAAYnrD,QACCqC,IAAZwG,EAAEmhC,QACLnhC,EAAEmhC,MAAQ4gB,GAAe5qD,SACXqC,IAAXwG,EAAEkhC,OACLlhC,EAAEkhC,KAAOugB,GAActqD,IACxBirD,EAAUvjD,KAAKmB,UAECxG,IAAZwG,EAAEmhC,QACLnhC,EAAEmhC,MAAQ/xB,GACXgzC,EAAUvjD,KAAKmB,IAclB,CACAjF,EAASqnD,CACV,CAEA,GAAItqD,MAAM4I,QAAQ3F,GAClB,CA4BC,GA3BAA,EAASA,EAAO8F,IAAImM,IACnB,GAA2C,oBAAvCjV,OAAO4V,UAAUC,SAASC,KAAKb,GAA2B,CAC7D,IAAIs1C,EAAY/pD,KAAK8pD,sBAAsBr1C,GAC3C,OAAkB,OAAds1C,EACI,KACD,CACNphB,KAAM,YAAcugB,GAAca,GAClCnhB,MAAO4gB,GAAeO,GACtBA,YAEF,CAEA,GAAIt1C,aAAcpR,SACjB,MAAO,CACN0mD,UAAWt1C,GAGb,GAAkB,iBAAPA,IAAoBlV,MAAM4I,QAAQsM,IAAc,OAAPA,EAAa,CAChE,GAAIA,EAAGs1C,qBAAqB1mD,SAC3B,OAAOoR,EACR,GAAIzU,KAAKgqD,sBAAsBv1C,EAAGs1C,WACjC,OAAOt1C,CACT,CAEA,OAAO,OACLhL,OAAOgL,GAAa,OAAPA,GAEZjS,EAAO2D,OAAS,EACnB,OAAO3D,EAER,GAAIA,EAAOiH,OAAOgL,GAAMA,EAAGm0B,OAASn0B,EAAGk0B,MAAMxiC,QAAU3D,EAAO2D,OAC7D,OAAO3D,EAER2Z,MAAM,mBACP,CAEA,MAAO,EACR,GAEDrc,QAAS,CACRgqD,qBAAAA,CAAsB55C,GACrB,IAAI+5C,EAAU/5C,EAAMkwB,cAEpB,MAAe,aAAX6pB,EACI,YAEJ,CAAC,OAAQ,MAAO,OAAQ,OAAQ,OAAO/qD,SAAS+qD,GAC5CA,EAED,IACR,EACAD,qBAAAA,CAAsB95C,GACrB,IAAI65C,EAAY/pD,KAAK8pD,sBAAsB55C,GAC3C,IAAK65C,EAEJ,OADA5tC,MAAMjM,EAAQ,uCACP,EAER,GAAiB,QAAb65C,IACEvwC,OAAO0wC,KAEX,OADA/tC,MAAM,4BACC,EAGT,GAAiB,OAAb4tC,EAAoB,CACvB,IAAKvwC,OAAO2wC,MAEX,OADAhuC,MAAM,6BACC,EAGR,IADU,IAAIguC,MAAMC,MAAM,CAAA,GACjBC,UAER,OADAluC,MAAM,sCACC,CAET,CACA,OAAO,CACR,EACAmuC,QAAAA,CAAS9nD,GACRxC,KAAK0pD,UAAUY,SAAS9nD,EAAOunD,UAAWvnD,EAAOyU,KAAMzU,EAAO3B,QAC/D,GAEDmC,SAAU,4pCC/MX,MAAMunD,GAAiB,IAAIC,QAE3B,IAAAC,GAAe,CACdlqD,OAAAA,CAAQkU,EAAI4xB,GACX,IAAIjO,GAAO,EACXmyB,GAAe/+C,IAAIiJ,EAAIlQ,IACtB,IAAK6zB,EACJ,OAED,GAAI3jB,EAAGlC,SAAShO,EAAIE,QACnB,OAED,MAAMimD,EAAWjqD,UAAU+9B,SAASmsB,YAAYl2C,GAC5Ci2C,GACHA,EAASxqD,SAEXuU,EAAGkF,iBAAiB,oBAAqB,KACxCye,GAAO,IAER3jB,EAAGkF,iBAAiB,mBAAoB,KACvCye,GAAO,IAER/1B,SAASsX,iBAAiB,QAAS4wC,GAAeh/C,IAAIkJ,IAAK,EAC5D,EACA1S,aAAAA,CAAc0S,EAAI4xB,GACjBhkC,SAASunC,oBAAoB,QAAS2gB,GAAeh/C,IAAIkJ,WAClDA,EAAGm2C,uBACX,GClBcpxC,OAAOqxC,WAAWC,aAAa,SAAU,QAAS,CAChEC,oBAAAA,CAAqB3C,EAAS4C,GAC7B,IAAIC,EAAY,EAChBC,EAAalrD,KAAKmrD,MAAMC,WAAWhlB,QAAQ11B,YAC3C26C,EAAM,EACNC,GAAU,EAEVlD,EAAQxhD,QAAQ,CAAC2kD,EAAQ5lD,KACnB4lD,EAAOC,YACXD,EAAOE,qBAGJzrD,KAAKmrD,MAAMtqD,QAAQ6qD,iBAAmBH,EAAOI,QAAQC,WAAWC,QAAUN,EAAOM,UAAYN,EAAOO,WAAWC,UAClHT,EAAUC,GAGPA,EAAOM,UACVZ,GAAaM,EAAOS,cAIlBV,GACHD,EAAMH,EAAaD,EAAYK,EAAQU,WAEnChsD,KAAKmrD,MAAMtqD,QAAQ6qD,kBAAoB1rD,KAAKmrD,MAAMc,UAAU,oBAAoB,KACnFX,EAAQY,SAAS,GACjBlsD,KAAKmrD,MAAMQ,QAAQD,iBAAiB3yC,UAGjCsyC,EAAM,EACTC,EAAQY,SAASb,GAEjBC,EAAQG,qBAGLzrD,KAAKmrD,MAAMtqD,QAAQ6qD,kBAAoB1rD,KAAKmrD,MAAMc,UAAU,oBAAoB,IACnFjsD,KAAKmrD,MAAMQ,QAAQD,iBAAiB3yC,QAGvC,IC/BD,IAAAozC,GAAe,CACdhuC,iBAAiBC,IACT,CACNxD,OAAQ,OACRC,IAAK,2CACLhH,OAAQ,CACPwK,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBC,iBAAkBH,EAASG,oBAI9BC,mBAAmBJ,IACX,CACNxD,OAAQ,OACRC,IAAK,6CACLhH,OAAQ,CACPwK,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBG,SAAUL,EAASK,YAItBC,kBAAkBN,IACV,CACNxD,OAAQ,OACRC,IAAK,4CACLhH,OAAQ,CACPwK,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBK,aAAcP,EAASO,gBAI1BC,eAAeR,IACP,CACNxD,OAAQ,OACRC,IAAK,yCACLhH,OAAQ,CACPwK,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBO,YAAaT,EAASS,eAIzBC,kBAAkBV,IACV,CACNxD,OAAQ,OACRC,IAAK,4CACLhH,OAAQ,CACPwK,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBO,YAAaT,EAASS,eAIzBE,cAAcX,IACN,CACNxD,OAAQ,MACRC,IAAK,oCACLhH,OAAQ,CACPwK,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,WACrBG,SAAUL,EAASK,YAItBO,UAAUZ,IACF,CACNxD,OAAQ,MACRC,IAAK,oCACLhH,OAAQ,CACPwK,eAAgBD,EAASC,eACzBC,WAAYF,EAASE,eC3DrB8tC,GAAQ,EAKL,MAAMC,GAAiB,CAC7BnpD,WAAY,CACXkkD,iBACAc,gBACAY,iBACAW,kBAEDre,WAAY,CACXqf,sBAED5qD,MAAO,CACN,aACA,YACA,aACA,eAEDnB,MAAO,CACN4tD,aAAcjpD,SACdvC,MAAOhC,OACPytD,YAAaztD,OACb0tD,SAAU,CACT5tD,KAAMC,QACNE,SAAS,GAEVuf,WAAY,CACX1f,KAAME,QAEP2tD,iBAAkBjtD,OAClBktD,gBAAiBntD,MACjBotD,UAAW9tD,QACX+tD,eAAe/tD,QACfguD,OAAQhuD,QACRiuD,kBAAmBhuD,OACnBwrD,SAAU,CACT1rD,KAAM,CAACC,QAASC,OAAQuE,SAAU9D,MAAOC,QACzCT,SAAS,GAEVguD,WAAYluD,QACZmuD,YAAa,CAACluD,OAAQS,MAAOC,QAC7BytD,eAAgBpuD,QAChBquD,YAAapuD,OACbquD,SAAUruD,OAEVsuD,QAAStuD,OACTuuD,cAAevuD,OACfwuD,UAAWzuD,QACX0uD,iBAAkB,CACjB3uD,KAAMC,QACNE,SAAS,IAGXR,KAAM,WACL,MAAO,CACNivD,KAAM,EAENC,WAAY,KACZC,cAAc,EACdrF,OAAQ,KACRsF,QAAS,KACTC,gBAAiB,KACjB3E,eAAgB,KAChBtqC,aAAc,KAEdkvC,iBAAkB,KAClBC,eAAgB,KAGhBC,kBAAkB,EAClBC,qBAAsB,KACtBC,2BAA4B,KAC5BC,qBAAsB,KAEtBC,YAAa,KAEbzE,UAAW,KACX0E,YAAY,EACZC,sBAAsB,EACtBC,aAAc,GACdC,YAAa,CACZnnD,MAAM,EACNghD,SAAS,EACT3+C,QAAQ,EACR+kD,cAAc,EACdnoC,OAAO,EACPyN,MAAM,GAGT,EACAzvB,SAAU,CACToqD,iBAAAA,GACC,OAAKzuD,KAAKqoD,QAAWroD,KAAKipD,eAEnBjpD,KAAKqoD,OAAO5+C,OAAOhE,QAAKzF,KAAKipD,eAAen/C,QAAQrE,IADnD,IAET,EACAipD,YAAAA,GACC,OAAK1uD,KAAK2tD,QAEH35C,KAAKC,MAAMD,KAAK0mB,UAAU16B,KAAK2tD,UAD9B,EAET,EACAgB,eAAAA,GACC,IAAItG,EAASr0C,KAAKC,MAAMD,KAAK0mB,UAAU16B,KAAKqoD,UAAY,GACpDY,EAAiBj1C,KAAKC,MAAMD,KAAK0mB,UAAU16B,KAAKipD,kBAAoB,GAEpEb,EAAU,KAOd,GAJIpoD,KAAKysD,kBAAoBzsD,KAAKysD,iBAAiBvvB,eAAe,aACjEkrB,EAAUpoD,KAAKysD,iBAAiBrE,UAG5B7oD,MAAM4I,QAAQigD,IAAa7oD,MAAM4I,QAAQigD,IAAYA,EAAQjiD,OAASkiD,EAAOliD,OAClF,CACCiiD,EAAU,GAGV,IAAK,IAAIrmB,KAASsmB,EAClB,CAEC,IAAIkD,EAAS,CACZzqD,MAAOihC,EACPA,MAAOA,GAIRwpB,EAAOM,QAAU5C,EAAen/C,QAAQi4B,IAAU,EAGlDqmB,EAAQ9hD,KAAKilD,EACd,CACD,MAIC,IAAK,IAAIqD,KAAOxG,EAKfwG,EAAI/C,QAAU5C,EAAen/C,QAAQ8kD,EAAI7sB,QAAU,IAAkC,GAA7BsmB,EAAOv+C,QAAQ8kD,EAAI7sB,OAEvE6sB,EAAI1xB,eAAe,eACtB0xB,EAAIC,UAAYD,EAAI/C,SAIvB,OAAOzD,CACR,EACA0G,oBAAAA,GACC,OAAK9uD,KAAKouD,WAEHpuD,KAAK0pD,UAAUqF,aAAatlD,OAAOmlD,IACzC,IAAII,EAAMJ,EAAIK,gBACd,OAAQD,EAAIjD,QAAUiD,EAAIluD,OAA0B,sBAAjBkuD,EAAIjF,YACrCzhD,IAAIsmD,GAAOA,EAAIM,YAJV,EAKT,EACAC,UAAAA,GACC,OAAKnvD,KAAKouD,WAEHpuD,KAAK0pD,UAAUqF,aAAalpD,OAAO,CAAC0D,EAAKqlD,KAC/CrlD,EAAIqlD,EAAIM,YAAcN,EAAIK,gBAAgBnuD,MACnCyI,GACL,CAAA,GAJK,CAAA,CAKT,EACA6lD,OAAAA,GACC,OAAKpvD,KAAKwtD,KAEH,IAAMxtD,KAAKwtD,KADV,EAET,EACA6B,gBAAAA,GACC,IAAKrvD,KAAK2uD,kBAAoB3uD,KAAK4tD,gBAClC,MAAO,GACR,MAAM0B,EAAetvD,KAAK2uD,gBAAgB9oD,OAAO,CAACwB,EAAEohD,KACnDphD,EAAEohD,EAAE1mB,OAAS0mB,EAAE3nD,MACRuG,GACL,CAAA,GACH,OAAOrH,KAAK4tD,gBAAgBtlD,IAAImM,IAAE,IAASA,EAAQ3T,MAAOwuD,EAAa76C,EAAGnW,QAC3E,GAEDwB,QAAS,CACRyvD,WAAAA,GACKvvD,KAAK2sD,UACR3sD,KAAK0pD,UAAUvgB,UAEfnpC,KAAKgf,WACP,EACA,mBAAMwwC,GACL,IAAI7iD,EAAc,iCACd3M,KAAKmY,WACFnY,KAAKmY,GAAG0E,aAAa,MAC3BlQ,EAAc3M,KAAKmY,GAAGC,EAAE,2BAGpBpY,KAAK2sD,iBAEH,IAAIvrD,QAAQC,IACjB,MAAMod,EAAWjF,OAAOyb,SAASw6B,KAAOj2C,OAAOyb,SAASw6B,KAAK3Z,MAAM,GAAK,KAElE4Z,EAAqBnxD,IAC1ByB,KAAK2vD,cAAcpxD,GACnB8C,KAGgB,OAAbod,EACHze,KAAK4vD,eACJxxC,GAAYpe,KAAKid,KAAK3H,KAAK62C,GAAUntC,UAAUZ,IAC/C,KACAsxC,GAGD1vD,KAAK4vD,eACJxxC,GAAYpe,KAAKid,KAAK3H,KAAK62C,GAAUptC,cAAcX,IACnD,CAAEK,YACFixC,KAMJ,IAAIjD,EAAmB,CACrBoD,OAAQ,uBACRC,gBAAgB,EAChBC,eAAe,CACdC,SAAS,GAEVrjD,cACA4hD,YAAavuD,KAAKuuD,eACZvuD,KAAKysD,kBAAoB,CAAA,GAmCjC,QAhCgCxrD,IAA5BwrD,EAAiBt9C,aACWlO,IAA/BwrD,EAAiBl3C,gBACctU,IAA/BwrD,EAAiBv3C,YACjBu3C,EAAiBt9C,OAAS,KAGtBnP,KAAK2sD,UAITF,EAAiBrE,QAAQxhD,QAAQgoD,SACZ3tD,IAAhB2tD,EAAI/C,UACP+C,EAAI/C,SAAU,MALhBY,EAAiBluD,KAAOyB,KAAK0uD,aAC7BjC,EAAiBrE,QAAUpoD,KAAK2uD,kBAQ7BlC,EAAiBwD,YAAexD,EAAiBrE,SAAWqE,EAAiBrE,QAAQ3+C,OAAOgL,GAAsB,gBAAhBA,EAAGs1C,WAA6B5jD,UACrInG,KAAKquD,sBAAuB,GAEzBruD,KAAKotD,UAEJptD,KAAKqtD,gBAAeZ,EAAiByD,UAAW,GAEpDzD,EAAiB3lD,MAAQ9G,KAAKotD,SAI/BptD,KAAK0pD,UAAY,IAAImB,UACpB7qD,KAAKQ,MAAM2qD,MACXsB,GAGGltD,MAAM4I,QAAQnI,KAAK0sD,kBAAoB1sD,KAAK0sD,gBAAgBvmD,OAAS,EAGxE,IAAK,IAAI5B,KAAOvE,KAAK0sD,gBACpB1sD,KAAK0pD,UAAUyG,GAAG5rD,EAAIU,MAAOV,EAAI2J,SAEnClO,KAAK0pD,UAAUyG,GAAG,aAAc,KAAOnwD,KAAKouD,YAAa,EAAMpuD,KAAKwE,MAAM,gBAC1ExE,KAAK0pD,UAAUyG,GAAG,sBAAuB5xD,IACxCyB,KAAKsuD,aAAe/vD,IAIjByB,KAAKqtD,eAAiBrtD,KAAKotD,SAC9BptD,KAAK0pD,UAAUyG,GAAG,cAAe5xD,IAChC,IAAI6xD,EAAW,GAGf,IAAK,IAAIC,EAAW,EAAGA,EAAW9xD,EAAK4H,OAAQkqD,IAC/C,CACC,IAAIC,EAAQ/xD,EAAK8xD,GAGbC,EAAMtwD,KAAKqtD,gBAGVrtD,KAAK+C,YAAYxE,EAAM+xD,IAAQF,EAAS9pD,KAAK+pD,EAEnD,CAGA,IAAK,IAAIrqC,EAAU,EAAGA,EAAUoqC,EAASjqD,OAAQ6f,IAGhDznB,EAAK2d,OAAOk0C,EAASpqC,GAAWA,EAAS,KAIxChmB,KAAK2sD,WACR3sD,KAAK0pD,UAAUyG,GAAG,aAAc,KAC/B,MAAMjmD,EAAOlK,KAAK0pD,UAAUqF,aAC5B/uD,KAAKqoD,OAASn+C,EAAK5B,IAAIsmD,GAAOA,EAAIM,YAClClvD,KAAKipD,eAAiB/+C,EAAKT,OAAOmlD,GAAOA,EAAI2B,aAAajoD,IAAIsmD,GAAOA,EAAIM,YACrElvD,KAAK0pD,UAAU7oD,QAAQ0tD,YAAYC,cACtCxuD,KAAKwwD,qBAKRxwD,KAAK0pD,UAAUyG,GAAG,eAAgBhI,IACjCnoD,KAAK0tD,aAAevF,EAAQhiD,OAAS,GAEvC,EACAsqD,eAAAA,GACKzwD,KAAK0pD,YACJ1pD,KAAKouD,WACRpuD,KAAK0wD,mBAEL1wD,KAAK0pD,UAAUyG,GAAG,aAAcnwD,KAAK0wD,kBAExC,EACAA,gBAAAA,GACC1wD,KAAKquD,qBAAuBruD,KAAKysD,iBAAiBwD,YAAcjwD,KAAK2uD,gBAAgBllD,OAAOgL,GAAsB,gBAAhBA,EAAGs1C,WAA6B5jD,OAClInG,KAAK0pD,UAAUiH,WAAW3wD,KAAK2uD,iBAC/B3uD,KAAK0pD,UAAUvgB,QAAQnpC,KAAK0uD,cAC5B1uD,KAAKwwD,kBACN,EACAI,YAAAA,GAEuB5wD,KAAK0pD,UAAUmH,mBACrBjqD,QAAQ6C,IACvBzJ,KAAK0pD,UAAUoH,qBAAqBrnD,EAAOs4B,MAAO,MAEnD/hC,KAAK0pD,UAAUqH,cACf/wD,KAAK0tD,cAAe,CACrB,EACA8C,gBAAAA,GAEyBxwD,KAAK0pD,UAAUmH,mBACvBjqD,QAAQ6C,IACvBzJ,KAAK0pD,UAAUoH,qBAAqBrnD,EAAOs4B,MAAOt4B,EAAOxK,QAE3D,EAIA+f,SAAAA,GAC6B,OAAxBhf,KAAK8tD,eACR9tD,KAAK4vD,eACJxxC,GAAYpe,KAAKid,KAAK3H,KAAK62C,GAAUntC,UAAUZ,IAC/C,KACApe,KAAKgxD,QAGNhxD,KAAK4vD,eACJxxC,GAAYpe,KAAKid,KAAK3H,KAAK62C,GAAUptC,cAAcX,IACnD,CACCK,SAAUze,KAAK8tD,gBAEhB9tD,KAAKgxD,OAER,EACArB,aAAAA,CAAcpxD,GACbyB,KAAKmuD,YAAc5vD,EACnByB,KAAKytD,WAAalvD,EAAKkvD,WACvBztD,KAAK2tD,QAAUpvD,EAAKovD,QACpB3tD,KAAK4tD,gBAAkBrvD,EAAKqvD,gBAE5B5tD,KAAKqoD,OAAS9pD,EAAK8pD,OACnBroD,KAAKipD,eAAiB1qD,EAAK0qD,eAC3BjpD,KAAK2e,aAAe,GAEpB,IAAK,IAAIhZ,EAAI,EAAGA,EAAIpH,EAAKqvD,gBAAgBznD,OAAQR,IAEhD,IAAK,IAAIoE,EAAI,EAAGA,EAAIxL,EAAK4pD,QAAQhiD,OAAQ4D,IAExC,GAAIxL,EAAKqvD,gBAAgBjoD,GAAGrH,MAAQC,EAAK4pD,QAAQp+C,GAAGzL,KACpD,CACC,IAAImL,EAASlL,EAAK4pD,QAAQp+C,GAC1BN,EAAO7K,KAAOL,EAAKqvD,gBAAgBjoD,GAAG/G,KAEtCoB,KAAK2e,aAAarY,KAAKmD,EAExB,CAGH,EAIAunD,MAAAA,CAAO78C,GACN,IAAI5V,EAAO4V,EAEXnU,KAAK2vD,cAAcpxD,IAGG,IAAlByB,KAAKwsD,SAERxsD,KAAKixD,YAAY1yD,GAIjByB,KAAKkxD,gBAAgB3yD,GAEtByB,KAAKywD,iBACN,EAIAQ,WAAAA,CAAY1yD,GACX,IAAI4pD,EAAU5pD,EAAKiuD,SAASrE,QACxBgJ,EAAkB5yD,EAAKiuD,SAAS2E,gBAChCC,EAAe,GAEnB,IAAK,IAAIC,EAAe,EAAGA,EAAelJ,EAAQhiD,OAAQkrD,IAC1D,CACC,IAAI/Q,EAAO6H,EAAQkJ,GAAc/Q,KAErB,MAARA,IAAcA,EAAO,KAEzB8Q,EAAaA,EAAajrD,QAAU,CACnCyG,GAAIu7C,EAAQkJ,GAAcC,UAC1BhR,KAAMA,EAAO6H,EAAQkJ,GAAcC,UACnC/E,YAAapE,EAAQkJ,GAAcE,KACnCnqD,KAAMiqD,EACNG,YAAaxxD,KAAKyxD,qBAEpB,CAEA,IAAK,IAAIJ,EAAe,EAAGA,EAAeF,EAAgBhrD,OAAQkrD,IAClE,CACC,IAAI/Q,EAAO6Q,EAAgBE,GAAc/Q,KAE7B,MAARA,IAAcA,EAAO,KAEzB8Q,EAAaA,EAAajrD,QAAU,CACnCyG,GAAIukD,EAAgBE,GAAcC,UAClChR,KAAMA,EAAO6Q,EAAgBE,GAAcC,UAC3C/E,YAAa4E,EAAgBE,GAAcE,KAC3CG,qBAAsBP,EAAgBE,GAAcK,qBACpDC,mBAAoBR,EAAgBE,GAAcM,mBAClDC,mBAAoBT,EAAgBE,GAAcO,mBAClDxqD,KAAMiqD,EACNG,YAAaxxD,KAAKyxD,qBAClBI,qBAAsB7xD,KAAK8xD,0BAE7B,CAEA9xD,KAAK6tD,iBAAmBuD,EAExBpxD,KAAKwE,MACJ,aACA,CACC87C,KAAM,IACNiM,YAAa,UACb5jB,KAAM,SACNopB,SAAUX,GAGb,EAIAF,eAAAA,CAAgB3yD,GACf,IAAI4pD,EAAU5pD,EAAKiuD,SAASrE,QACxBgJ,EAAkB5yD,EAAKiuD,SAAS2E,gBAChCC,EAAe,GAEnB,IAAK,IAAIC,EAAe,EAAGA,EAAelJ,EAAQhiD,OAAQkrD,IAE9ClJ,EAAQkJ,GAAc/Q,KAIjC8Q,EAAaA,EAAajrD,QAAU,CACnCyG,GAAIu7C,EAAQkJ,GAAcC,UAC1BU,OAAQ7J,EAAQkJ,GAAcC,UAC9B/E,YAAapE,EAAQkJ,GAAcE,MAIrC,IAAK,IAAIF,EAAe,EAAGA,EAAeF,EAAgBhrD,OAAQkrD,IAEtDF,EAAgBE,GAAc/Q,KAIzC8Q,EAAaA,EAAajrD,QAAU,CACnCyG,GAAIukD,EAAgBE,GAAcC,UAClCU,OAAQb,EAAgBE,GAAcC,UACtC/E,YAAa4E,EAAgBE,GAAcE,MAI7CvxD,KAAK6tD,iBAAmBuD,CACzB,EAIAxB,cAAAA,CAAetI,EAAaC,EAAuB0K,GAElDjyD,KAAKguD,qBAAuB1G,EAGC,MAAzBC,IAA+BA,EAAwB,CAAA,GAG3DA,EAAsBlpC,eAAiB/K,2BAA2B+qB,YAAc,IAAM/qB,2BAA2BgrB,cACjHipB,EAAsBjpC,WAAate,KAAKse,WAEpCte,KAAKmtD,WACR5F,EAAsBlpC,gBAAkB,IAAMre,KAAKmtD,UAGpDntD,KAAKiuD,2BAA6B1G,EAElCvnD,KAAKkuD,qBAAuB+D,GAGF,IAA1BjyD,KAAK+tD,iBAA4B/tD,KAAK+tD,kBAAmB,EAAQ/tD,KAAK+tD,kBAAmB,CAC1F,EAQAmE,uBAAAA,CAAwB3zC,GACvBve,KAAK8tD,eAAiB,KAEtB9tD,KAAK4vD,eACJxxC,GAAYpe,KAAKid,KAAK3H,KAAK62C,GAAUhuC,iBAAiBC,IACtD,CACCG,oBAEDve,KAAKgf,UAEP,EAIA8yC,yBAAAA,CAA0B7sD,GACzB,IAAIwZ,EAAWxZ,EAAMyjD,cAAc/jD,aAAa,QAAQuhC,UAAU,GAC9DznB,IAAaze,KAAK8tD,iBACrB9tD,KAAK8tD,eAAiB,MAEvB9tD,KAAK4vD,eACJxxC,GAAYpe,KAAKid,KAAK3H,KAAK62C,GAAU3tC,mBAAmBJ,IACxD,CACCK,SAAUA,GAEXze,KAAKgf,UAEP,EAKAyyC,qBAAsB,SAASxsD,GAE9B,IAAIwZ,EAAW,KAGX0zC,EAAOltD,EAAMyjD,cAAc/jD,aAAa,QAK3C8Z,EAFW,MAAR0zC,EAEQltD,EAAMyjD,cAAczpD,MAIpBkzD,EAAKjsB,UAAU,GAG3BlmC,KAAKsoD,aAAa7pC,EACnB,EACA6pC,YAAAA,CAAa7pC,GACZze,KAAK8tD,eAAiBrvC,EACtBze,KAAKgf,WACN,EACAupC,iBAAAA,CAAkB5pC,GACjB3e,KAAK8tD,eAAiB,KACtB9tD,KAAK4vD,eACJxxC,GAAYpe,KAAKid,KAAK3H,KAAK62C,GAAUztC,kBAAkBN,IACvD,CACCO,gBAED3e,KAAKgf,UAEP,EAGAjc,WAAAA,CAAYxE,EAAM+xD,GAEjB,IAAI8B,EAAW9B,EAAMtwD,KAAKqtD,eAG1B,IAAK,IAAIgF,EAAY,EAAGA,EAAY9zD,EAAK4H,OAAQksD,IACjD,CACC,IAAIztD,EAASrG,EAAK8zD,GAGlB,GAAIztD,EAAO5E,KAAKotD,UAAYgF,EAS3B,OANKxtD,EAAO0tD,YAAW1tD,EAAO0tD,UAAY,IAGrC1tD,EAAO0tD,UAAUpzD,SAASoxD,IAAQ1rD,EAAO0tD,UAAUhsD,KAAKgqD,IAGtD,EAGC1rD,EAAO0tD,WAAWtyD,KAAK+C,YAAY6B,EAAO0tD,UAAWhC,EAC/D,CAGA,OAAO,CACR,GAEDiC,YAAAA,IACMvyD,KAAK2sD,YAAc3sD,KAAKse,YAC5BnC,MAAM,qDACR,EACArF,OAAAA,IACK9W,KAAKwsD,UAAcxsD,KAAKwyD,OAAOlG,cAAkBtsD,KAAKwyD,OAAOlG,wBAAwBjpD,UACxF8Y,MAAM,4DACPnc,KAAKwtD,KAAOpB,KACZpsD,KAAKwE,MAAM,cAAexE,KAAKwtD,KAChC,EACAjtD,OAAAA,GACCP,KAAKwvD,gBAAgB7sD,KAAK,KACpB3C,KAAK2sD,YACT3sD,KAAK8tD,eAAiBt0C,OAAOyb,SAASw6B,KAAOj2C,OAAOyb,SAASw6B,KAAK3Z,MAAM,GAAK,KAC7E91C,KAAKgxD,OAAOhxD,KAAKmuD,eAIpB,EACAnrD,SAAU,4wICtqBX,IAAAyvD,GAAe,CACX/zD,MAAO,CACHH,KAAMiB,OACNsB,MAAO,CAAElC,KAAME,SAEnBP,KAAIA,KACO,CAAA,GAEXuY,OAAAA,GAEA,EACA9T,SAAkB,g+BCXtB0vD,GAAe,CACdh0D,MAAO,CACNH,KAAM,CACLK,KAAME,SAGRP,KAAIA,KACI,CAAA,GAERyE,SAAkB,qKCTnB2vD,GAAe,CAEdj0D,MAAO,CACNH,KAAM,CACLK,KAAME,QAEPgC,MAAO,CACNlC,KAAME,OACNuY,UAAU,GAEXu7C,OAAQ,CACPh0D,KAAMC,QACNE,SAAS,IAGXe,QAAS,CACR+yD,aAAc,WACb7yD,KAAK8yD,cAAe,CACrB,EACAC,aAAc,WACb/yD,KAAK8yD,cAAe,CACrB,GAEDv0D,KAAIA,KACI,CACNu0D,cAAc,IAGhB9vD,SAAmB,26CC5BpBgwD,GAAe,CACXt0D,MAAM,CACFH,KAAKiB,OACLs8C,KAAKh9C,OACLm0D,mBAAmB,CACfr0D,KAAKC,QACLE,SAAQ,IAGhBR,KAAIA,KACM,CAAA,GAEVuY,OAAAA,GAEA,EACA9T,SAAiB,upECfrBkwD,GAAc,CACVx0D,MAAM,CACFo9C,KAAKh9C,OACLP,KAAKiB,QAETjB,KAAIA,KACO,CAAA,GAIXuY,OAAAA,GAEA,EACA9T,SAAiB,qwDCbrBmwD,GAAe,CACd50D,KAAIA,KACI,CAAA,GAERG,MAAO,CACNoC,MAAO,CACNlC,KAAME,OACNuY,UAAU,GAEX9Y,KAAM,CACLK,KAAMW,QAGRyD,SAAmB,y3BCbpBowD,GAAe,CACd70D,KAAIA,KACI,CAAA,GAERG,MAAO,CACNH,KAAM,CACLK,KAAMY,QAEPsB,MAAO,CACNlC,KAAME,SAGRkF,OAAQ,CAEPihB,eAAkB,CACjBlT,KAAM,iBACNhT,SAAS,IAGXsF,SAAU,CACTgvD,kBAAAA,GACC,OAA2B,IAAxBrzD,KAAKilB,eACA,GAEDjlB,KAAKzB,KAAK+0D,QAAQr0D,OAASe,KAAKzB,KAAK8lB,SAASplB,OAASe,KAAKzB,KAAKqsB,UAAU3rB,MAAQqU,2BAA2BC,SAClH,kCAAkCvT,KAAKilB,eAAe,QAAUjlB,KAAKzB,KAAKqsB,SAAS3rB,MACnF,YAAce,KAAKzB,KAAK8lB,QAAQplB,MAAQ,QAAUe,KAAKzB,KAAK+0D,OAAOr0D,MAAQ,EAC/E,EACAs0D,mBAAAA,GACC,OAA2B,IAAxBvzD,KAAKilB,eACA,GAEDjlB,KAAKzB,KAAK8lB,SAASplB,OAASe,KAAKzB,KAAKqsB,UAAU3rB,MAAQqU,2BAA2BC,SACvF,kCAAkCvT,KAAKilB,eAAe,QAAUjlB,KAAKzB,KAAKqsB,SAAS3rB,MACnF,YAAce,KAAKzB,KAAK8lB,QAAQplB,MAAQ,EAC5C,EACAu0D,oBAAAA,GACC,OAA2B,IAAxBxzD,KAAKilB,eACA,GAEDjlB,KAAKzB,KAAKqsB,UAAU3rB,MAAQqU,2BAA2BC,SAC3D,kCAAkCvT,KAAKilB,eAAe,QAAUjlB,KAAKzB,KAAKqsB,SAAS3rB,MAAQ,EAC/F,GAED6X,OAAAA,GACC,EAED9T,SAAU,otEC9BXywD,GAAe,CAEdC,cAAAA,CAAez4C,GACd,IAAIJ,EAAM,yCAIV,OAHGI,IACFJ,GAAO,IAAII,KAEL,CACNL,OAAQ,MACRC,IAAKA,EAEP,EACA4G,WAAWxiB,IACH,CACN2b,OAAQ,MACRC,IAAK,sCAAsC5b,MAI7CyiB,UAAUzG,IAEF,CACNL,OAAQ,MACRC,IAAK,oCACLhH,OAAQ,CAAEoH,SAGZ0G,cAAc1G,IACN,CACNL,OAAQ,MACRC,IAAK,yCAAyCI,MAGhD2G,kBAAiBA,KAET,CACNhH,OAAQ,MACRC,IAAK,8CAGPgH,kBAAiBA,KAET,CACNjH,OAAQ,MACRC,IAAK,8CAGPiH,aAAYA,CAACC,EAAQC,KACb,CACNpH,OAAQ,MACRC,IAAK,wCAAwCkH,KAAUC,MAIzDC,eAAcA,KACN,CACNrH,OAAQ,MACRC,IAAK,4CCxER84C,GAAe,CACdzwD,WAAY,CACX0wD,QCJa,CACd/zD,MAAO,CACN,UAEDnB,MAAO,CACN4mB,WAAY,CACX1mB,KAAM,CAACw7B,KAAM56B,QACb6X,UAAU,IAGZ9Y,KAAIA,KACI,CACNs1D,QAAS,KAGX7lD,MAAO,CACNsX,UAAAA,CAAW4c,GACI,8BAAVA,EAAEtjC,MACLsjC,EAAE+B,OAAOthC,KAAKX,IACb,MAAMoY,EAAMpG,KAAKC,MAAMjS,GACvBhC,KAAK6zD,QAAUz5C,EAAIy5C,SAAW,IAGjC,GAED7wD,SAAU,wdDnBVnD,MAAO,CACN,qBAEDnB,MAAO,CACN4mB,WAAY,CACX1mB,KAAM,CAAEu7B,SAAU56B,OAClB8X,UAAU,GAEXy8C,SAAUj1D,QACV+N,GAAI9N,OACJR,KAAMQ,OACNi1D,WAAY,CAACj1D,OAAQS,MAAOC,QAC5Bw0D,OAAQn1D,QACRihC,OAAQ,CACPlhC,KAAME,OACNC,QAAS,IAEVk1D,SAAU,CACTr1D,KAAMC,QACNE,SAAS,IAGXe,QAAS,CACRo0D,cAAcj9C,GACNjD,KAAK0mB,UAAU,CACrBy5B,aAAcl9C,EAAKk9C,aACnBC,iBAAkBn9C,EAAKm9C,iBACvB91D,KAAM2Y,EAAK3Y,KACX83B,KAAMnf,EAAKmf,KACXx3B,KAAMqY,EAAKrY,OAGby1D,QAAAA,CAASpvD,GACR,IAAKjF,KAAK8zD,SACT,OAAO9zD,KAAKwE,MAAM,oBAAqBS,EAAMR,OAAO6vD,OAErD,MAAMC,EAAK,IAAIC,aACTC,EAAU,GAChB,IAAK,IAAIx9C,KAAQjX,KAAKslB,WACrBivC,EAAGnqD,MAAM7D,IAAI0Q,GACbw9C,EAAQnuD,KAAKtG,KAAKk0D,cAAcj9C,IAEjC,IAAK,IAAIA,KAAQhS,EAAMR,OAAO6vD,MAEzBG,EAAQ3qD,QAAQ9J,KAAKk0D,cAAcj9C,IAAS,GAC/Cs9C,EAAGnqD,MAAM7D,IAAI0Q,GAEfjX,KAAKwE,MAAM,oBAAqB+vD,EAAGD,MACpC,EACAI,UAAAA,CAAW9nD,GACV,MAAM+nD,EAAep1D,MAAMwS,KAAK/R,KAAKslB,YAAY1Y,GAE3C2nD,EAAK,IAAIC,aACf,IAAK,IAAIv9C,KAAQjX,KAAKslB,WACjBrO,IAAS09C,GACZJ,EAAGnqD,MAAM7D,IAAI0Q,GAEfjX,KAAKwE,MAAM,oBAAqB+vD,EAAGD,MACpC,GAEDtmD,MAAO,CACNsX,UAAAA,CAAW4c,GACV,IAAKA,EACJ,OACD,GAAIA,aAAa/H,SAAU,CAC1B,IAAKn6B,KAAKQ,MAAMo0D,OACf,OAED,OAAO50D,KAAKQ,MAAMo0D,OAAON,MAAQpyB,CAClC,CAEA,MAAMqyB,EAAK,IAAIC,aAEf,IAAK,IAAIv9C,KAAQirB,EAChB,GAAIjrB,aAAgBmjB,KACnBm6B,EAAGnqD,MAAM7D,IAAI0Q,OACP,CACN,MAAM49C,EAAU,IAAIz6B,KAAK,CAACpmB,KAAK0mB,UAAUzjB,IAAQA,EAAK3Y,KAAM,CAC3DM,KAAM,+BAEP21D,EAAGnqD,MAAM7D,IAAIsuD,EACd,CAED70D,KAAKwE,MAAM,oBAAqB+vD,EAAGD,MACpC,GAEDtxD,SAAU,gqBE3EX8xD,GAAe;;AAEd3yC,UAASA,KACD,CACNvH,OAAQ,MACRC,IAAK,4CAGPuH,SAAQA,KACA,CACNxH,OAAQ,MACRC,IAAK,2CAGPwH,oBAAmBA,EAACC,iBAACA,EAAgBrH,IAAEA,EAAGsH,eAAEA,EAAcC,MAAEA,EAAKC,iBAAEA,MAC3D,CACN7H,OAAQ,OACRC,IAAK,oDACLhH,OAAQ,CACPyO,mBACArH,MACAsH,iBACAC,QACAC,sBAIHC,kBAAiBA,EAACJ,iBAACA,EAAgBrH,IAAEA,EAAGuH,MAAEA,EAAKD,eAAEA,MACzC,CACN3H,OAAQ,OACRC,IAAK,kDACLhH,OAAQ,CACPyO,mBACArH,MACAuH,QACAD,oBAIHI,WAAUA,CAACC,EAAKC,EAAU,QAClB,CACNjI,OAAQ,OACRC,IAAK,4CAA4CgI,IACjDhP,OAAQ+O,IAGVmyC,iBAAiBnyC,IACT,CACNhI,OAAQ,OACRC,IAAK,iDACLhH,OAAQ+O,IAGVoyC,8BAA8BvrD,IAEtB,CACNmR,OAAQ,MACRC,IAAK,+DAHyB,KAAXpR,EAAiB,IAAMgb,mBAAmBhb,GAAU,MAMzEqZ,sBAAsBC,IACd,CACNnI,OAAQ,MACRC,IAAK,uDAAuDkI,MAG9DC,oBAAmBA,CAAC/H,EAAM,KAAMrO,EAAK,QAC7B,CACNgO,OAAQ,MACRC,IAAK,oDACLhH,OAAQ,IACHoH,EAAM,CAAEA,OAAQ,MAChBrO,EAAK,CAAEA,MAAO,CAAA,KAIrBqW,oBAAmBA,CAACT,EAAOrJ,EAAS+J,EAAS,QACrC,CACNtI,OAAQ,OACRC,IAAK,oDACLhH,OAAQ,CACP2O,QACArJ,aACI+J,EAAS,CAAEA,UAAW,CAAA,KAI7BC,oBAAmBA,CAACX,EAAOrJ,EAASiK,EAAIF,EAAS,QACzC,CACNtI,OAAQ,OACRC,IAAK,oDACLhH,OAAQ,CACP2O,QACArJ,UACAiK,QACIF,EAAS,CAAEA,UAAW,CAAA,KAI7BG,oBAAoBN,IACZ,CACNnI,OAAQ,OACRC,IAAK,oDACLhH,OAAQ,CAAEkP,gBCnHbkyC,GAAe,CACd12D,KAAIA,KACI,CACN22D,QAAS,KAGXhyD,WAAY,KACXiyD,GACA92D,WAED8E,OAAQ,CAAC9E,GACTK,MAAO,CACN4kD,MAAO,CACN1kD,KAAME,QAEPw1D,MAAO,CACN11D,KAAMW,OAEP61D,SAAU,CACTx2D,KAAMC,SAEPuE,cAAeC,SACfC,gBAAiBD,SACjBE,uBAAwBF,SACxBG,cAAeH,SACfI,eAAgBJ,UAEjBvD,QAAQ,CACP,iBAAMu1D,GACL,GAAGr1D,KAAKk1D,QAAQ,CACf,IAAI5jC,EAAW,IAAI0I,SACnB1I,EAASkJ,OAAO,UAAWx6B,KAAKk1D,QAAQ,UAClCl1D,KAAKid,KACT3H,KAAKw/C,GAAgBC,iBAAiBzjC,IACtC3uB,KAAM4G,IACNvJ,KAAK+6B,UAAUiE,aAAah/B,KAAKmY,GAAGC,EAAE,SAAS,gBAC/CpY,KAAKxB,MAAM0B,QAEd,CAED,GAEDK,OAAAA,GACCP,KAAKxB,MAAQwB,KAAKQ,MAAMkD,eAAelF,MACnCwB,KAAKs0D,QACRt0D,KAAKk1D,QAAUl1D,KAAKs0D,MAEtB,EACA3zD,KAAAA,CAAME,GAEJ,OADAxC,EAAQsC,MAAMiD,KAAK5D,MACZ3B,EAAQsC,MAAM,KAAME,EAC7B,EACAmC,SAAkB,4hCCtDnBsyD,GAAe,CACd52D,MAAO,CACNoC,MAAO,CACNlC,KAAME,QAEPP,KAAM,CACLK,KAAMY,QAEP+1D,WAAW,CACV32D,KAAMC,QACNE,SAAS,IAGXmE,WAAW,CACV+xD,gBAED12D,IAAAA,GACC,MAAO,CACNi3D,WAAYx1D,KAAKzB,KAAKk3D,YAExB,EACA51D,MAAO,CAAC,uBACRmE,OAAO,CAAC,cAERlE,QAAS,CACR6jD,SAAAA,GACC3jD,KAAKQ,MAAMk1D,YAAYv1D,MACxB,EACAw1D,oBAAAA,GAEM31D,KAAKzB,MAGVyB,KAAKid,KACH3H,KAAKm+C,GAAUhyC,YAAYzhB,KAAKw1D,aAChC7yD,KAAK4G,IACLvJ,KAAKw1D,WAAajsD,EAAIhL,KAAKk3D,aAE9B,GAEDpxD,SAAU,CACTuxD,qBAAsB,WACrB,OAAK51D,KAAKzB,KAAKs3D,KAGR,0BAA4B71D,KAAKzB,KAAKs3D,KAFrC,EAGT,EACAv3D,KAAM,WACL,MAAO,CAAC+iD,QAASrhD,KAAKzB,KAAKu3D,QAASxU,SAAUthD,KAAKzB,KAAKw3D,SACzD,EACAC,WAAY,WACX,IAAIzsD,EAAM,CAAA,EACN0sD,EAAwB,CAC3B,UACA,WACA,cACA,QAOD,OALAz2D,OAAO6M,KAAKrM,KAAKzB,MAAMqI,QAAS0T,IAC1B27C,EAAsB/2D,SAASob,KACnC/Q,EAAI+Q,GAAOta,KAAKzB,KAAK+b,MAGhB/Q,CACR,GAEDvG,SAAmB,kwGC9DpBkzD,GAAe,CACd53D,KAAM,mBACN4E,WAAY,CACXgwD,WACAiD,YCXa,CACbz3D,MAAO,CACLH,KAAMiB,QAGRjB,KAAIA,KACK,CACL63D,cAAe,KACfC,qBAAsB,OAI1BryD,OAAQ,CAAC,2BAETlE,QAAS,CACPw2D,YAAa,SAAUrxD,EAAOrB,GAE1B5D,KAAKzB,KAAKqF,GADC,eAATA,EACgBqB,EAAMR,OAAO8xD,QAGU,KAAvBtxD,EAAMR,OAAOxF,MAAe,KAAOgG,EAAMR,OAAOxF,MAEpEe,KAAKwE,MAAM,eAAgBxE,KAAKw2D,UAAYx2D,KAAKzB,KAAO,MACxDyB,KAAKq2D,qBAAuBr2D,KAAKy2D,yBACnC,GAGFpyD,SAAU,CACRqyD,2BAA4B,WAE7B,GAAI1iD,KAAKC,MAAMjU,KAAKo2D,eAAeO,WACjC,OAAO,EAET,MAAMC,EAAyB52D,KAAKq2D,qBAAqB5sD,OAAQ28B,GACzDA,EAAQywB,aAAe72D,KAAKzB,MAAMs4D,YAGvC,OAAK72D,KAAKq2D,qBAAqBjuD,KAAMg+B,GAAYA,EAAQte,aAAe9nB,KAAKzB,KAAKupB,YAG3E9nB,KAAK42D,uBAAuBzwD,QAAU,GAAKnG,KAAKzB,KAAKo4D,WAFnD32D,KAAKzB,KAAKo4D,YAAcC,EAAuBzwD,MAG1D,EACAqwD,UAAW,WAET,SAAKx2D,KAAKzB,KAAKioB,UAAYxmB,KAAKzB,KAAKs4D,aAG9B7iD,KAAK0mB,UAAU16B,KAAKzB,QAAUyB,KAAKo2D,aAC5C,GAGFt/C,OAAAA,GACE9W,KAAKo2D,cAAgBpiD,KAAK0mB,UAAU16B,KAAKzB,MACzCyB,KAAKq2D,qBAAuBr2D,KAAKy2D,yBACnC,EAEAzzD,SAEE,6rFD9CFgwD,WACA8D,YETa,CACb5zD,WAAY,CACV6zD,aAAc51D,SAAS61D,aAC1B7B,IAAKA,IAGJz2D,MAAO,CACLH,KAAMiB,OACN80D,MAAO,CACL11D,KAAMW,MACNR,QAAS,KAIbiF,OAAQ,CAAC,0BAA2B,eAAgB,iBAEpDzF,KAAIA,KACK,CACL04D,UAAW,GACXC,eAAgB,GAChBC,eAAgB,KAChBC,aAAc,GACdhB,cAAe,KACfiB,qBAAsB,KACzBnC,QAAS,GACToC,cAAc,IAIftpD,MAAO,CACL,gBAAiB,SAAU4wC,EAAU4I,GACnCxnD,KAAKwE,MAAM,eAAgBxE,KAAKw2D,UAAYx2D,KAAKzB,KAAO,KAC1D,EACA,WAAY,SAAUqgD,EAAU4I,GAC9BxnD,KAAKwE,MAAM,eAAgBxE,KAAKw2D,UAAYx2D,KAAKzB,KAAO,KAC1D,GAGFuB,QAAS,CAEPy3D,4BAA6B,SAAUtyD,GACrCjF,KAAKi3D,UAAYj3D,KAAKi3D,UAAU3uD,IAAKkvD,GAAaA,EACpD,EAEAC,kCAAmC,SAAUxyD,GAC3CjF,KAAKk3D,eAAiBl3D,KAAKk3D,eAAe5uD,IAAKovD,GAAcA,EAC/D,EAEAC,YAAa,WAGT33D,KAAKzB,KAAKwjB,QACW,MAArB/hB,KAAKzB,KAAKwjB,QACV/hB,KAAKzB,KAAKyoB,KACVhnB,KAAKzB,KAAKyoB,IAAM,KAChBhnB,KAAKzB,KAAKyoB,IAAM,KAEhBhnB,KAAKid,KACF3H,KAAKm+C,GAAU3xC,aAAa9hB,KAAKzB,KAAKwjB,OAAQ/hB,KAAKzB,KAAKyoB,MACxDrkB,KAAM4G,IACDA,EAAIhL,KAAK4H,SACXnG,KAAKi3D,UAAY,IACZ,IAAIW,IACLruD,EAAIhL,KAAK+J,IAAK89B,GACLA,EAAQ9nC,QAIrB0B,KAAKk3D,eAAiB,IACjB,IAAIU,IACLruD,EAAIhL,KAAK+J,IAAK89B,GACLA,EAAQyxB,qBAO3B73D,KAAKi3D,UAAY,EAErB,EAEAX,YAAa,SAAUrxD,EAAOrB,GAEf,mBAATA,EACF5D,KAAKzB,KAAKqF,GAAQqB,EAAMR,OAAO8xD,QACjB,UAAT3yD,GACN5D,KAAKk1D,QAAQ/uD,OAAS,GAA8B,+BAAzBnG,KAAKk1D,QAAQ,GAAGt2D,OAC5CoB,KAAKs3D,cAAe,GAEtBt3D,KAAK83D,aAAa93D,KAAKk1D,UAEnBl1D,KAAKzB,KAAKqF,GAA+B,KAAvBqB,EAAMR,OAAOxF,MAAe,KAAOgG,EAAMR,OAAOxF,MAGpEe,KAAKwE,MAAM,eAAgBxE,KAAKw2D,UAAYx2D,KAAKzB,KAAO,MAExDyB,KAAKq3D,qBAAuBr3D,KAAK+3D,yBACnC,EAEHC,cAAe,WACdh4D,KAAKk1D,QAAU,GACfl1D,KAAKs2D,YAAY,KAAM,QACxB,GAGCjyD,SAAU,CACR4zD,2BAA4B,WAG7B,OAAIjkD,KAAKC,MAAMjU,KAAKo2D,eAAe8B,iBAI3Bl4D,KAAKq3D,qBAAqBn4D,SAASc,KAAKzB,KAAK45D,YAG3Cn4D,KAAKq3D,qBAAqBlxD,QAAU,GAAKnG,KAAKzB,KAAK25D,eAFjDl4D,KAAKzB,KAAK25D,gBAAkBl4D,KAAKq3D,qBAAqBlxD,OAGjE,EACAqwD,UAAW,WACT,KACGx2D,KAAKzB,KAAK65D,SACVp4D,KAAKzB,KAAKyoB,KACVhnB,KAAKzB,KAAKs0B,KACV7yB,KAAKzB,KAAK60B,KACa,IAAxBpzB,KAAKk1D,QAAQ/uD,QAEb,OAAO,EAIT,OADoBnG,KAAKo2D,gBAAkBpiD,KAAK0mB,UAAU16B,KAAKzB,OACzCyB,KAAKs3D,YAC7B,GAGFxgD,OAAAA,GAEE9W,KAAKid,KACF3H,KAAKm+C,GAAUxxC,kBACftf,KAAK4G,IACJvJ,KAAKo3D,aAAe7tD,EAAIhL,KACxByB,KAAK23D,gBAGT33D,KAAKo2D,cAAgBpiD,KAAK0mB,UAAU16B,KAAKzB,MACzCyB,KAAKq3D,qBAAuBr3D,KAAK+3D,yBACnC,EAEAx3D,OAAAA,GACMP,KAAKs0D,QACPt0D,KAAKk1D,QAAUl1D,KAAKs0D,MAExB,EAEAtxD,SAAmB,i3IFhJnBq1D,OGTa,CACbn1D,WAAY,CACV8vD,WACAE,YAEFlvD,OAAQ,CAAC,qBACTzF,KAAIA,KACK,CACL+1D,MAAO,OAGXx0D,QAAS,CACPw4D,gBAAiB,SAAUC,GACzB,OACEjlD,2BAA2BC,SAC3BD,2BAA2BE,UAC3B,0BAA0B+kD,GAE9B,GAEFl0D,SAAU,CACRm0D,iBAAkB,WAChB,OACEx4D,KAAKwiB,OAASxiB,KAAKy4D,kBAAkB,qBACrCz4D,KAAKwiB,OAASxiB,KAAKy4D,kBAAkB,gBACrCz4D,KAAKwiB,OAASxiB,KAAKy4D,kBAAkB,kBAE9B,UAEPz4D,KAAKwiB,OAASxiB,KAAKy4D,kBAAkB,qBACrCz4D,KAAKwiB,OAASxiB,KAAKy4D,kBAAkB,gBACrCz4D,KAAKwiB,OAASxiB,KAAKy4D,kBAAkB,kBAE9B,UAEA,YAEX,EACAC,WAAY,WACV,OACE14D,KAAKwiB,OAASxiB,KAAKy4D,kBAAkB,oBACrCz4D,KAAKwiB,OAASxiB,KAAKy4D,kBAAkB,kBAE9B,SAEPz4D,KAAKwiB,OAASxiB,KAAKy4D,kBAAkB,gBACrCz4D,KAAKwiB,OAASxiB,KAAKy4D,kBAAkB,eAE9B,MAEA,QAEX,GAEF/5D,MAAO,CACLH,KAAM,CAAEK,KAAMY,QACds8C,KAAM,CAAEl9C,KAAME,QACdyqB,OAAQ,CAAE3qB,KAAME,QAChByjB,eAAgB,CAAE3jB,KAAME,QACxB65D,iBAAkB,CAAE/5D,KAAME,QAC1Bs2D,SAAU,CAAEx2D,KAAMuL,QAClBqY,MAAO,CAAE5jB,KAAME,SAEjBgY,OAAAA,GACE9W,KAAKid,KACF3H,KAAKw/C,GAAgBhyC,sBAAsB9iB,KAAKo1D,WAChDzyD,KAAM4G,IACLvJ,KAAKs0D,MAAQ/qD,EAAIhL,MAEvB,EACAyE,SAAmB,gtDH5DnB41D,kBIba,CACbr6D,KAAIA,KACK,CACL22D,QAAS,GACTkB,cAAe,OAGnBlzD,WAAY,CACViyD,IAAAA,IAEFz2D,MAAO,CACLH,KAAM,CACJK,KAAMY,QAERq5D,UAAW,CACTj6D,KAAMC,QACNE,SAAS,GAEXu1D,MAAO,CACL11D,KAAMW,OAER61D,SAAU,CACRx2D,KAAMC,UAGVmF,OAAO,CAAC,gBACRK,SAAU,CACRy0D,eAAgB,WACd94D,KAAK83D,aAAa93D,KAAKk1D,SACvB,IAAI3rD,GAAM,EAEV,OAAGvJ,KAAKs0D,OACN/0D,MAAMwS,KAAK/R,KAAKk1D,SAAStuD,QAASqQ,IAC5BjX,KAAKs0D,MAAMlsD,KAAMvB,GAAMA,EAAEvI,OAAS2Y,EAAK3Y,QACzCiL,GAAM,OAGDvJ,KAAKk1D,QAAQ/uD,QAAUnG,KAAKs0D,MAAMnuD,SAAWoD,KAI/ChK,MAAMwS,KAAK/R,KAAKk1D,SAAS/uD,MAEpC,EACA4yD,cAAe,WACb,OAAO/kD,KAAK0mB,UAAU16B,KAAKzB,QAAUyB,KAAKo2D,aAC5C,EACAI,UAAW,WACT,OAAIx2D,KAAK64D,UACJ74D,KAAKo1D,UACEp1D,KAAK+4D,eAAiB/4D,KAAK84D,iBAAmB94D,KAAKk1D,QAAQ/uD,OAE9DnG,KAAK+4D,eAAiB/4D,KAAK84D,eAE7B94D,KAAK+4D,aACd,GAEFl5D,MAAO,CAAC,gBACRmO,MAAO,CAELknD,OAAAA,CAAQj2D,GACNe,KAAKg5D,aACP,GAEFl5D,QAAS,CACPo0D,cAAcj9C,GACRjD,KAAK0mB,UAAU,CACrBy5B,aAAcl9C,EAAKk9C,aACnBC,iBAAkBn9C,EAAKm9C,iBACvB91D,KAAM2Y,EAAK3Y,KACX83B,KAAMnf,EAAKmf,KACXx3B,KAAMqY,EAAKrY,OAGXo6D,YAAa,WACPh5D,KAAKw2D,UAEPx2D,KAAKwE,MACH,eAAgB,CAAEvF,MAAOe,KAAKzB,KAAKU,QAGrCe,KAAKwE,MAAM,eAAgB,KAE/B,GAEFjE,OAAAA,GACEP,KAAKo2D,cAAgBpiD,KAAK0mB,UAAUl5B,IAAIy3D,MAAMj5D,KAAKzB,OAE/CyB,KAAKs0D,QACPt0D,KAAKk1D,QAAUl1D,KAAKs0D,MAExB,EACAtxD,SAAkB,88BJ7EnBgB,OAAQ,CAAC,oBAAqB,iBAC9BtF,MAAO,CACN0tB,KAAM5sB,OAGN42B,KAAM,CACLx3B,KAAMuL,OACNpL,QAAS,MAGVm6D,UAAW,CACVt6D,KAAME,OACNuY,UAAU,GAEX6K,aAAcpjB,OACd0jB,MAAO1jB,OACPq6D,WAAYr6D,QAEbe,MAAO,CAEN,sBAAyB,KACzB,eAAkB,KAClB,oBAAuB,KACvBu5D,OAAQ,KACRC,OAAQ,MAET96D,IAAAA,GACC,MAAO,CACNu9C,KAAM,KACNv9C,KAAM,KACN+6D,gBAAiB,GACjBC,YAAav5D,KAAKwiB,MAClBg3C,WAAY,KAEd,EAEA15D,QAAS,CACR25D,QAAS,WACRz5D,KAAK87C,KACJ97C,KAAKu5D,aAAev5D,KAAKy4D,kBAAkB,oBACxC,cACA,cAGJz4D,KAAKu5D,YACJv5D,KAAKu5D,aAAev5D,KAAKy4D,kBAAkB,oBACxCz4D,KAAKy4D,kBAAkB,eACvBz4D,KAAKy4D,kBAAkB,eAC3Bz4D,KAAKwE,MAAM,eAAgBxE,KAAKu5D,aAChCv5D,KAAKs5D,gBAAgBhzD,KAAKtG,KAAKu5D,aAC/Bv5D,KAAKwE,MAAM,oBAAqBxE,KAAKs5D,iBAErCt5D,KAAKzB,KACS,eAAbyB,KAAK87C,KACF,CAEDv1C,KAAK,EACL4xD,WAAY,KACZC,QAAS,KACThlC,IAAK,KACLpM,IAAK,KACL6L,IAAK,KACLqlC,gBAAgB,GAEf,CAED3xD,KAAK,EACLuhB,WAAY,KACZ+uC,WAAY,KACZrwC,QAAS,KACTkzC,UAAW,KACX/C,YAAY,EAEhB,EAEAgD,WAAY,SAAU11D,GAErBA,EAAK1F,KAAK2nB,QAAS,EACnBlmB,KAAKwE,MAAM,sBAAuBP,EAAK1F,MAGvCyB,KAAKu5D,YAAcv5D,KAAKu5D,aAAev5D,KAAKy4D,kBAAkB,oBAC3Dz4D,KAAKy4D,kBAAkB,kBACvBz4D,KAAKy4D,kBAAkB,kBAC1Bz4D,KAAKwE,MAAM,eAAgBxE,KAAKu5D,aAChCv5D,KAAKwE,MAAM,SACZ,EAEAo1D,iBAAkB,SAAU30D,GAE3BjF,KAAKwE,MAAM,sBAAuBS,EACnC,EAEA40D,cAAe,SAAU50D,EAAOhB,GAC/BjE,KAAKw5D,WAAav1D,EAClBjE,KAAKzB,KAAO0F,EAAK1F,KACjByB,KAAK87C,KAAO73C,EAAK63C,KACb73C,EAAKnD,OAERd,KAAKu5D,YAAct1D,EAAKue,MACxBxiB,KAAKwE,MAAM,eAAgBxE,KAAKu5D,aAGhCv5D,KAAKs5D,gBAAgBhzD,KAAKrC,EAAKnD,QAE3BmD,EAAK1F,KAAKs4D,YACb72D,KAAKs5D,gBAAgBhzD,KAAKrC,EAAK1F,KAAKs4D,YACpC72D,KAAKs5D,gBAAgBhzD,KAAKrC,EAAK1F,KAAKioB,UAC1BviB,EAAK1F,KAAK65D,SACpBp4D,KAAKs5D,gBAAgBhzD,KAAKrC,EAAK1F,KAAK65D,SAGtCp4D,KAAKwE,MAAM,oBAAqBxE,KAAKs5D,gBACtC,GAEDj1D,SAAU,CAAA,EACVyS,OAAAA,GAEC9W,KAAKw5D,WAAa,IAAIx5D,KAAKosB,MAC3BpsB,KAAKzB,KAAOyB,KAAKosB,KAAK7tB,KACnByV,KAAKC,MAAMD,KAAK0mB,UAAU16B,KAAKosB,KAAK7tB,OACpC,KACHyB,KAAK87C,KAAO97C,KAAKosB,KAAK0vB,KACnB9nC,KAAKC,MAAMD,KAAK0mB,UAAU16B,KAAKosB,KAAK0vB,OACpC,IACJ,EACAv7C,OAAAA,GACA,EAEAyC,SAAmB,83EKhJpB82D,GAAe,CACd52D,WAAY,CACX7E,WAEDK,MAAO,CACNqiB,QAAS,CACRniB,KAAMuL,OACNpL,QAAS,MAGXR,KAAIA,KACI,CACN6Z,EAAG,KACH2hD,MAAO,IAGTj6D,QAAS,CACRK,IAAAA,GACC,OAAQH,KAAK+5D,OACZ,KAAK,EACJ,OAAI/5D,KAAK+gB,SACR/gB,KAAK+5D,MAAQ,OACb/5D,KAAKoY,EAAIoB,OAAOrI,WAAW,IAAMnR,KAAKQ,MAAMhC,MAAM2B,OAAQH,KAAK+gB,WAGxD/gB,KAAKQ,MAAMhC,MAAM2B,OAC1B,KAAK,EACJ,OAAOqZ,OAAOrI,WAAW,IAAMnR,KAAKG,OAAQ,GAE/C,EACAD,IAAAA,GACC,OAAQF,KAAK+5D,OACZ,KAAK,EACJ,OAAOvgD,OAAOwgD,aAAah6D,KAAKoY,GACjC,KAAK,EACJ,OAAOoB,OAAOrI,WAAW,IAAMnR,KAAKE,OAAQ,GAC7C,KAAK,EACJF,KAAKQ,MAAMhC,MAAM0B,OAEpB,GAEDK,OAAAA,GACCP,KAAKQ,MAAMhC,MAAMgC,MAAMhC,MAAMmb,iBAAiB,gBAAiB,KAC9D3Z,KAAK+5D,MAAQ,IAEd/5D,KAAKQ,MAAMhC,MAAMgC,MAAMhC,MAAMmb,iBAAiB,iBAAkB,KAC/D3Z,KAAK+5D,MAAQ,IAEd/5D,KAAKQ,MAAMhC,MAAMgC,MAAMhC,MAAMmb,iBAAiB,gBAAiB,KAC9D3Z,KAAK+5D,MAAQ,IAEd/5D,KAAKQ,MAAMhC,MAAMgC,MAAMhC,MAAMmb,iBAAiB,kBAAmB,KAChE3Z,KAAK+5D,MAAQ,GAEf,EACA/2D,SAAU,+JClDXi3D,GAAe,CACd/2D,WAAY,CACX7E,UACA4E,QACAizD,oBACAgE,OAAAA,IAED/2D,OAAQ,CAAC9E,GACTK,MAAO,CACNijB,cAAe,CACd/iB,KAAMC,QACNE,SAAS,GAEVE,MAAOO,OACP8jD,MAAOxkD,OACPq7D,qBAAsB92D,SACtB+2D,qBAAsB/2D,SAOtBD,cAAeC,SACfC,gBAAiBD,SACjBE,uBAAwBF,SACxBG,cAAeH,SACfI,eAAgBJ,UAGjB9E,IAAAA,GACC,MAAO,CACNikB,MAAO,KACPN,aAAc,KACdm4C,SAAUr6D,KAAKf,MACfikB,OAAQ,KACRi2C,WAAY,KACZt9C,SAAS,EACT7Z,QAAQ,EACRg/C,KAAM,KAER,EACAh9C,OAAQ,CAAC,cACT4T,OAAAA,GACC,MAAO,CACNkgD,aAAc93D,KAAKs6D,qBACnB34C,cAAe3hB,KAAK2hB,cAEtB,EAEA7hB,QAAS,CACRw6D,qBAAsB,SAAUC,GAC/Bv6D,KAAKkjB,OAASq3C,CACf,EAEAC,kBAAmB,SAAU/+C,GAC5B3T,QAAQC,MAAM0T,GACdzb,KAAK6b,SAAU,EACf7b,KAAKy6D,YAAW,GAChBz6D,KAAKgC,QAAS,EACdhC,KAAKE,MACN,EAEA,wBAAMw6D,GAGL,GAAI16D,KAAKwiB,OAASxiB,KAAKkiB,aAAc,CAEpC,GAAIliB,KAAKkjB,OAAQ,CAChB,MAAMy3C,QAAiB36D,KAAK46D,YAAY56D,KAAKkjB,QAE7CljB,KAAKkjB,OAASy3C,GAAsB,IACrC,CAIA,MAAME,EAAqBtxD,IAEtBA,EAAIhL,KAAKwJ,OACZ/H,KAAKgC,QAAS,EACdiB,EAAMtC,MACL,+BAAiCqT,KAAK0mB,UAAUnxB,EAAIhL,KAAKuV,WAG1D9T,KAAKgC,QAAS,EACdiB,EAAMtC,MACL,+GAOHX,KAAK6b,SAAU,EACf7b,KAAKy6D,YAAW,GAGhBz6D,KAAKq6D,SAASjF,SACbp1D,KAAKid,KACH3H,KAAKw/C,GAAgB3xC,oBACrBnjB,KAAKwiB,MACLxiB,KAAKkiB,aACLliB,KAAKq6D,SAASjF,SACdp1D,KAAKkjB,OAASljB,KAAKkjB,OAAO,GAAK,OAE/BvgB,KAAM4G,IACNsxD,EAAkBtxD,KAElB2K,MAAOuH,GAAQzb,KAAK+6B,UAAUoF,mBAC9B2nB,QAAQ,KACR9nD,KAAK6b,SAAU,EACf7b,KAAKy6D,YAAW,GAChBz6D,KAAKE,SAGPF,KAAKid,KACH3H,KAAKw/C,GAAgB7xC,oBACrBjjB,KAAKwiB,MACLxiB,KAAKkiB,aACLliB,KAAKkjB,OAASljB,KAAKkjB,OAAO,GAAK,OAE/BvgB,KAAM4G,IACNsxD,EAAkBtxD,KAElB2K,MAAOuH,GAAQzb,KAAK+6B,UAAUoF,mBAC9B2nB,QAAQ,KACR9nD,KAAK6b,SAAU,EACf7b,KAAKy6D,YAAW,GAChBz6D,KAAKE,QAET,CACD,EAEA06D,YAAah5B,eAAgB0yB,GAC5B,GAAsB,+BAAlBA,EAAM,GAAG11D,KAAuC,CACnD,IAAI0yB,EAAW,IAAI0I,SACnB1I,EAASkJ,OAAO,UAAW85B,EAAM,IAkBjC,OAjBet0D,KAAKq6D,SAASjF,eAGtBp1D,KAAKid,KACT3H,KAAKw/C,GAAgBnyC,WACrB2O,EACAtxB,KAAKq6D,SAASjF,WAEdzyD,KAAM4G,GACCA,EAAIhL,MAAM+J,IAAK2O,GAASA,EAAKshD,eAGhCv4D,KAAKid,KACT3H,KAAKw/C,GAAgBnyC,WAAW2O,IAChC3uB,KAAM4G,GACCA,EAAIhL,MAAM+J,IAAK2O,GAASA,EAAKshD,QAGxC,CAEC,OAAO,CAET,GAEDl0D,SAAU,CACTy2D,WAAY,WACX,OAAQ96D,KAAKf,MAAM68C,MAClB,IAAK,SAEL,IAAK,UAEL,IAAK,UACJ,OAAO,EACR,QACC,OAAO,EAEV,GAEDhlC,OAAAA,GACK9W,KAAKq6D,SAAS73C,QAEjBxiB,KAAKwiB,MAAQxiB,KAAKq6D,SAAS73C,MAE7B,EACAjiB,OAAAA,GACCP,KAAKxB,MAAQwB,KAAKQ,MAAMkD,eAAelF,KACxC,EACAmC,KAAAA,CAAME,GAEL,OADAxC,EAAQsC,MAAMiD,KAAK5D,MACZ3B,EAAQsC,MAAM,KAAME,EAC5B,EACAmC,SAAmB,smCC7LpB+3D,GAAe,CACd73D,WAAY,CAAC+2D,eACbv7D,MAAO,CACNH,KAAM,CACLK,KAAMY,SAIRwE,OAAQ,CACP,0BACA,0BACA,qBACA,qBAGDnE,MAAO,CAAC,gBAERtB,IAAAA,GACC,MAAO,CACNy8D,iBAAiB,EACjBxnC,QAAS,KACTynC,gBAAiBj7D,KAAKmY,GAAGC,EAAE,SAAU,oBAEvC,EAEAtY,QAAS,CACRo7D,oBAAqB,WAEhBl7D,KAAKQ,MAAM26D,gBAAgBn5D,QAC9BhC,KAAKwE,MAAM,gBAIZxE,KAAKg7D,iBAAkB,CACxB,EAEA,yBAAMI,CAAoBC,GAEzB,IAAIvf,EAAO97C,KAAKwhB,QAAQ65C,EAAc74C,MAAO64C,EAAc9xC,QAEvDhrB,EAAO,KACPi1B,EAAU,KACV8gC,EAAQ,KACRuE,GAAY,EAEhB,GAAa,sBAAT/c,EAA8B,CACjCv9C,EAAO,CACN+kD,MAAO+X,EAAc74C,MACrBvjB,MAAOo8D,EAAc54C,iBAAiBxjB,OAYvCq1D,QAROt0D,KAAKid,KACT3H,KAAKw/C,GAAgBhyC,sBACrBu4C,EAAc/4C,mBAEd3f,KAAM4G,GACCA,EAAIhL,MAIV+1D,IACHuE,GAAY,EAEd,MACCt6D,EAAO88D,EAAc54C,iBAYtB,GATA+Q,EAAU,CACT4hC,SAAUiG,EAAc/4C,iBACxBw5B,KAAMA,EACNv9C,KAAMA,EACNs6D,UAAWA,EACXr2C,MAAO64C,EAAc74C,MACrB8xC,MAAOA,GAGK,gBAATxY,EAAwB,CAE3B,MAAMn6B,QAAsB3hB,KAAKid,KAAK3H,KAAKm+C,GAAU9xC,cAAc05C,EAAcpgD,MAAMtY,KAAM4G,GAAQA,EAAIhL,MAErGojB,IACH6R,EAAuB,cAAI7R,GAY5B2yC,QAROt0D,KAAKid,KACT3H,KAAKw/C,GAAgBhyC,sBACrBu4C,EAAc/4C,mBAEd3f,KAAM4G,GACCA,EAAIhL,MAIdi1B,EAAe,MAAI8gC,CACpB,CAGI+G,EAAc9xC,SAAWvpB,KAAKs7D,mBAA4B,UAC7D9nC,EAAgB,OAAI6nC,EAAc9xC,OAClCiK,EAAwB,eAAI6nC,EAAc94C,eAC1CiR,EAA0B,iBAAI6nC,EAAc1C,kBAI7C34D,KAAKwzB,QAAUA,EACfxzB,KAAKi7D,gBAAkBI,EAAc74C,MAGjCgR,IACHxzB,KAAKg7D,iBAAkB,EAEvBx5D,IAAI2jD,SAAS,KACZnlD,KAAKQ,MAAM26D,gBAAgBh7D,SAG9B,EAEAo7D,cAAe,SAAUt3D,GACxBjE,KAAKid,KACH3H,KAAKw/C,GAAgBzxC,oBAAoBpf,EAAKqe,mBAC9C3f,KAAM4G,IACFA,EAAIhL,KAAKwJ,MAEZD,QAAQC,MAAM,iBAAkBwB,EAAIhL,MAEpCyB,KAAKwE,MAAM,iBAGf,EAEAgd,QAAS,SAAUgB,EAAO+G,GACzB,GAAMA,IAAWvpB,KAAKs7D,mBAA4B,QACjD,MAAO,SAGR,OAAQ94C,GACP,KAAKxiB,KAAKy4D,kBAAkB,oBAE5B,KAAKz4D,KAAKy4D,kBAAkB,eAC3B,MAAO,cACR,KAAKz4D,KAAKy4D,kBAAkB,kBAC3B,MAAO,UACR,KAAKz4D,KAAKy4D,kBAAkB,oBAE5B,KAAKz4D,KAAKy4D,kBAAkB,eAC3B,MAAO,cACR,KAAKz4D,KAAKy4D,kBAAkB,kBAC3B,MAAO,UACR,QACC,MAAO,oBAEV,GAGD3hD,OAAAA,GACA,EAEAzS,SAAU,CAAA,EAEVrB,SAAmB,06FCxIpB,SAASw4D,GAAWC,EAAMC,EAAYj6B,GACrC,IAAIk6B,EAAMt5D,SAASC,cAAc,OAE7Bs5D,EAAe,KAEft3B,EAAMm3B,EAAKI,WAEf,GAAIt8D,MAAM4I,QAAQm8B,GAClB,CACC,MAAM6H,EAAQ7H,EAAI,GAAK,IAAI3oB,KAAK2oB,EAAI,IAAM,KACpC8H,EAAQ9H,EAAI,GAAK,IAAI3oB,KAAK2oB,EAAI,IAAM,KAC1Cs3B,EAAe,CAACzvB,EAAOC,EACxB,CA0BA,OAxBA5qC,IAAIC,UAAU,CACbyB,WAAY,CACX44D,iBAAkB36D,SAAS46D,UAE5Bx9D,KAAIA,KACI,CACN+lC,IAAKs3B,IAGP5tD,MAAO,CACNs2B,GAAAA,CAAIpC,GACHT,EAAQS,EACT,GAEDl/B,SAAU,kPAQRT,IAAIpB,SAASqB,OAAOzD,SAAS+D,MAAM64D,GAE/BA,CACR,CAtEKx6D,UACJ2G,QAAQC,MAAM,wBAIf8iD,UAAUC,aAAa,SAAU,UAAW,CAC3CkR,MAASA,CAACC,EAAaC,KACtB,IAAKD,EACJ,OAAO,EAER,IAAIE,EAAU,IAAIxgD,KAAKugD,GAEvB,GAAI38D,MAAM4I,QAAQ8zD,GAClB,CACC,IAAIG,EAAY,IAAIzgD,KAAKsgD,EAAY,IACrC,GAAIA,EAAY,GAChB,CACC,IAAII,EAAU,IAAI1gD,KAAKsgD,EAAY,IAInC,OAFAI,EAAQC,SAAS,GAAI,GAAI,GAAI,KAEtBH,GAAWC,GAAaD,GAAWE,CAC3C,CAEA,OAAOF,EAAQI,iBAAmBH,EAAUG,cAC7C,CACA,IAAIC,EAAa,IAAI7gD,KAAKsgD,GAC1B,OAAOE,EAAQI,iBAAmBC,EAAWD,kBCZ/C,IAAAE,GAAe,CACdv5D,WAAY,CACXmpD,kBACAoG,iBACAC,iBACAC,cACAK,WACAE,WACAC,gBACAC,mBACAkC,qBACAyF,sBACAd,eAEDj2D,OAAQ,CAAC,oBAAqB,mBAAoB,WAAW,cAC7DzF,IAAAA,GACC,MAAO,CACNolD,WAAW,EACX+Y,4BAA4B,EAC5BC,eAAgB,KAChBC,iBAAiB,CAAA,EAEjBC,8BAA+B,CAC9BC,cAAe,0CACfvO,YAAa,CACZnG,SAAS,GAEV7yC,UAAW,IACXs6C,OAAQ,aACRzH,QAAS,CAAC,CACTtnD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAK48D,iBAAiBG,uBAChDh7B,MAAO,iBAGTi7B,6BAA8B,CAC7BF,cAAe,yCACfvO,YAAa,CACZnG,SAAS,GAEV7yC,UAAW,IACXs6C,OAAQ,aACRnE,iBAAkB,WAClBuR,uCAAuC,EACvCC,kCAAmC17D,IAAI27D,mBACvC/U,QAAS,CACR,CACCtnD,MACC,yFACDihC,MAAO,WACPq7B,YAAY,EACZ5O,cAAc,EACdzE,UAAW,qBACX50C,SAAU,GACVkoD,YAAar9D,KAAKs9D,kBAEnB,CACCx8D,MAAOU,IAAI6C,SAAS,IAAIrE,KAAK48D,iBAAiBW,+BAC9Cx7B,MAAO,iBACPysB,cAAc,EACdh5C,SAAU,IACVq2C,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAKrE,KAAK48D,iBAAiBY,sBAC/Cz7B,MAAO,SACPysB,cAAc,EACdK,WAAW,EACXr5C,SAAU,IACVq2C,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAKrE,KAAK48D,iBAAiBa,cAC/C17B,MAAO,gBACP27B,iBAAkB,QAClBlP,aAAcgN,GACdhmD,SAAU,IACVq2C,SAAS,EACT9B,UAAU,WACV4T,gBAAiB39D,KAAK49D,6BAK3B,EAEAl/D,MAAO,CACNH,KAAMiB,OACN66D,SAAU76D,QAEXoY,OAAAA,GACC,MAAO,CACNqN,eAAgBzjB,IAAI6C,SAAS,CAAEkH,IAAKA,IAAMvL,KAAKzB,KAAK0mB,iBAEtD,EACAnlB,QAAS,CAER+9D,yBAA0B,WACzB79D,KAAKQ,MAAMs9D,oBAAoBpU,UAAUiH,WAAW3wD,KAAKg9D,6BAA6B5U,SACtFpoD,KAAKQ,MAAMs9D,oBAAoBpU,UAAUvgB,QAAQnpC,KAAKzB,KAAKw/D,OAC5D,EACAC,0BAA2B,WAC1Bh+D,KAAKQ,MAAMy9D,qBAAqBvU,UAAUiH,WAAW3wD,KAAK68D,8BAA8BzU,SACxFpoD,KAAKQ,MAAMy9D,qBAAqBvU,UAAUvgB,QACzCnpC,KAAKzB,KAAK2/D,gBAEZ,EACAC,mBAAoB,WACnBn+D,KAAKid,KACH3H,KAAKw/C,GAAgB9xC,uBACrBrgB,KAAM4G,KACDA,EAAIxB,OAASwB,IACjBvJ,KAAKzB,KAAK6/D,cAAgB70D,EAAIhL,MAAM4H,OACjCoD,EAAIhL,KAAK6I,KAAKpH,KAAKq+D,mBACnB,OAGP,EAEAnD,oBAAqB,WAEhBl7D,KAAKQ,MAAM89D,UAAUt8D,QACxBhC,KAAKid,KACH3H,KAAKw/C,GAAgB9xC,uBACrBrgB,KAAMo3B,KACDA,EAAQhyB,OAASgyB,EAAQx7B,MAC7ByB,KAAKzB,KAAK6/D,cAAgBrkC,EAAQx7B,KAClCyB,KAAKzB,KAAK6/D,cAAch3D,KAAKpH,KAAKq+D,oBAElCv2D,QAAQC,MAAM,wCAA0CgyB,KAGzD7lB,MAAOuH,IACP3T,QAAQC,MAAM0T,KAKjBzb,KAAK2jD,WAAY,EACjB3jD,KAAK28D,eAAiB,IACvB,EAEAvB,mBAAAA,CAAoBtf,GACfA,IACH97C,KAAK28D,eAAiB7gB,GAEvB97C,KAAK2jD,WAAY,EAEjBniD,IAAI2jD,SAAS,KACZnlD,KAAKQ,MAAM89D,UAAUn+D,QAEvB,EACAy9D,wBAAyB,WAOxB,MANe,CACdW,YAAY,aACZC,aAAa,aACbC,mBAAmB,iBACnBvjD,SAAS5H,2BAA2B4H,SAGtC,GAGD7W,SAAU,CAETkxD,UAAAA,GACC,OAAOv1D,KAAKzB,MAAMg3D,YAAc,IACjC,EAEAmJ,gBAAAA,GACC,OAAO1+D,KAAK28D,eACT38D,KAAKq6D,SAAS97D,KAAKyB,KAAK28D,gBACxB38D,KAAKq6D,QACT,EAEAsE,iBAAAA,GACC,OAAK3+D,KAAKzB,KAIH,CACNu3D,QAAS91D,KAAKzB,KAAK8iD,QACnB0U,SAAU/1D,KAAKzB,KAAK+iD,SACpBsd,SAAU5+D,KAAKzB,KAAKsgE,SACpBC,OAAQ9+D,KAAKzB,KAAKwgE,OAClBC,MAAOh/D,KAAKzB,KAAK+kD,MACjB2b,UAAWj/D,KAAKzB,KAAK2gE,UACrBzJ,YAAaz1D,KAAKzB,KAAKk3D,YACvBI,KAAM71D,KAAKzB,KAAKs3D,MAXT,CAAA,CAaT,EAEAsJ,eAAAA,GACC,OAAKn/D,KAAKzB,KAIH,CACN6gE,aAAc,CACbx2B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,kBAC7BnZ,MAAOe,KAAKzB,KAAK8gE,UAElBC,WAAY,CACX12B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,gBAC7BnZ,MAAOe,KAAKzB,KAAKghE,QAElBC,oBAAqB,CACpB52B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,yBAC7BnZ,MAAOe,KAAKzB,KAAKihE,qBAElBjoC,YAAa,CACZqR,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,QAAQ,iBAC5BnZ,MAAOe,KAAKzB,KAAKg5B,aAElB3M,SAAU,CACTge,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,QAAQ,cAC5BnZ,MAAOe,KAAKzB,KAAKqsB,UAElBvG,QAAS,CACRukB,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,QAAQ,iBAC5BnZ,MAAOe,KAAKzB,KAAK8lB,SAElBivC,OAAQ,CACP1qB,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,QAAQ,YAC5BnZ,MAAOe,KAAKzB,KAAK+0D,OAAOj2B,SA9BlB,CAAA,CAiCT,GAEDvmB,OAAAA,GAEC9W,KAAKmY,GAAG0E,aAAa,UAAUla,KAAK,KACnC3C,KAAK48D,iBAAiBG,sBAAwB/8D,KAAKmY,GAAGC,EAAE,0BACxDpY,KAAK48D,iBAAiBW,8BAAgCv9D,KAAKmY,GAAGC,EAAE,kCAChEpY,KAAK48D,iBAAiBY,qBAAuBx9D,KAAKmY,GAAGC,EAAE,yBACvDpY,KAAK48D,iBAAiBa,aAAez9D,KAAKmY,GAAGC,EAAE,uBAC/CpY,KAAK48D,iBAAiB6C,QAAS,IAGhCz/D,KAAKzB,KAAK6/D,eAAeh3D,KAAKpH,KAAKq+D,kBACpC,EACArwD,MAAO,CACN,iBAAiB0xD,GACb1/D,KAAKQ,MAAMs9D,qBAAqB99D,KAAKQ,MAAMs9D,oBAAoBpU,UAAUiH,WAAW3wD,KAAKg9D,6BAA6B5U,SACtHpoD,KAAKQ,MAAMy9D,sBAAsBj+D,KAAKQ,MAAMy9D,qBAAqBvU,UAAUiH,WAAW3wD,KAAK68D,8BAA8BzU,QAC7H,GAEDplD,SAAmB,yqPCtPpB28D,GAAe,CACdz8D,WAAY,CACXmpD,kBACA4N,cACAjH,WACAE,WACA6H,sBACArI,iBACAD,iBACAE,cACAQ,gBACAC,mBACAkC,sBAGDtxD,OAAQ,CAAC,oBAAqB,mBAAoB,WAAW,cAE7DzF,IAAAA,GACC,MAAO,CACNolD,WAAW,EACXgZ,eAAgB,KAChBC,iBAAiB,CAAA,EAEjBgD,yBAA0B,CACzB9C,cAAe,gCACfvO,YAAa,CACZnG,SAAS,GAEV7yC,UAAW,IACXs6C,OAAQ,aACRnE,iBAAkB,WAClBuR,uCAAuC,EACvCC,kCAAmC17D,IAAI27D,mBACvC/U,QAAS,CACR,CACCtnD,MACC,qFACDihC,MAAO,WACPq7B,YAAY,EACZ5O,cAAc,EACdzE,UAAW,qBACX50C,SAAU,GACVkoD,YAAar9D,KAAKs9D,iBAClBzR,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAK48D,iBAAiBiD,mBAChD99B,MAAO,cACPysB,cAAc,EACdh5C,SAAU,IACVq2C,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAK48D,iBAAiBkD,4BAChD/9B,MAAO,uBACPysB,cAAc,EACdh5C,SAAU,IACVq2C,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAK48D,iBAAiBmD,kBAChDh+B,MAAO,aACP27B,iBAAkB,QAClBlP,aAAcgN,GACd3M,WAAW,EACXr5C,SAAU,IACVq2C,SAAS,EACT9B,UAAU,WACV4T,gBAAiB39D,KAAK49D,2BAEvB,CACC98D,MAAOU,IAAI6C,SAAS,IAAMrE,KAAK48D,iBAAiBoD,kBAChDj+B,MAAO,aACP27B,iBAAkB,QAClBlP,aAAcgN,GACd3M,WAAW,EACXr5C,SAAU,IACVq2C,SAAS,EACT9B,UAAU,WACV4T,gBAAiB39D,KAAK49D,2BAEvB,CACC98D,MAAOU,IAAI6C,SAAS,IAAMrE,KAAK48D,iBAAiBqD,qBAChDl+B,MAAO,gBACPysB,cAAc,EACdh5C,SAAU,IACVq2C,SAAS,KAKZmR,6BAA8B,CAC7BF,cAAe,oCACfvO,YAAa,CACZnG,SAAS,GAEV7yC,UAAW,IACXs6C,OAAQ,aACRnE,iBAAkB,WAClBuR,uCAAuC,EACvCC,kCAAmC17D,IAAI27D,mBACvC5+D,KAAM,CAAC,CAACuzB,eAAgB,GAAIouC,OAAQ,GAAIC,cAAe,KACvD/X,QAAS,CACR,CACCtnD,MACC,yFACDihC,MAAO,WACPq7B,YAAY,EACZ5O,cAAc,EACdzE,UAAW,qBACX50C,SAAU,GACVkoD,YAAar9D,KAAKs9D,iBAClBzR,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAK48D,iBAAiBW,+BAChDx7B,MAAO,iBACPysB,cAAc,EACdh5C,SAAU,IACVq2C,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAK48D,iBAAiBY,sBAChDz7B,MAAO,SACPysB,cAAc,EACdK,WAAW,EACXr5C,SAAU,IACVq2C,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAK48D,iBAAiBwD,oBAChDr+B,MAAO,gBACP27B,iBAAkB,QAClBlP,aAAcgN,GACdhmD,SAAU,IACVq2C,SAAS,EACT9B,UAAU,WACV4T,gBAAiB39D,KAAK49D,6BAK3B,EAEAl/D,MAAO,CACNH,KAAMiB,OACN66D,SAAU76D,QAGXM,QAAS,CACR+9D,yBAA0B,WACzB79D,KAAKQ,MAAMs9D,oBAAoBpU,UAAUiH,WAAW3wD,KAAKg9D,6BAA6B5U,SACtFpoD,KAAKQ,MAAMs9D,oBAAoBpU,UAAUvgB,QAAQnpC,KAAKzB,KAAKw/D,OAC5D,EACAsC,qBAAsB,WACrBrgE,KAAKQ,MAAM8/D,gBAAgB5W,UAAUiH,WAAW3wD,KAAK4/D,yBAAyBxX,SAC9EpoD,KAAKQ,MAAM8/D,gBAAgB5W,UAAUvgB,QAAQnpC,KAAKzB,KAAKgiE,WACxD,EACArF,oBAAqB,WAEhBl7D,KAAKQ,MAAM89D,UAAUt8D,QACxBhC,KAAKid,KACH3H,KAAKw/C,GAAgB9xC,uBACrBrgB,KAAMo3B,KACDA,EAAQhyB,OAASgyB,EAAQx7B,MAC7ByB,KAAKzB,KAAK6/D,cAAgBrkC,EAAQx7B,KAClCyB,KAAKzB,KAAK6/D,cAAch3D,KAAKpH,KAAKq+D,oBAElCv2D,QAAQC,MAAM,wCAA0CgyB,KAGzD7lB,MAAOuH,IACP3T,QAAQC,MAAM0T,KAKjBzb,KAAK2jD,WAAY,EACjB3jD,KAAK28D,eAAiB,IACvB,EAEAvB,mBAAAA,CAAoBtf,GACfA,IACH97C,KAAK28D,eAAiB7gB,GAGvB97C,KAAK2jD,WAAY,EACjBniD,IAAI2jD,SAAS,KACZnlD,KAAKQ,MAAM89D,UAAUn+D,QAIvB,EAEAg+D,mBAAoB,WACnBn+D,KAAKid,KACH3H,KAAKw/C,GAAgB9xC,uBACrBrgB,KAAM4G,KACDA,EAAIxB,OAASwB,IACjBvJ,KAAKzB,KAAK6/D,cAAgB70D,EAAIhL,MAAM4H,OACjCoD,EAAIhL,KAAK6I,KAAKpH,KAAKq+D,mBACnB,OAGP,EACAmC,oBAAAA,GACIxgE,KAAKQ,MAAMs9D,qBAAqB99D,KAAKQ,MAAMs9D,oBAAoBpU,UAAUiH,WAAW3wD,KAAKg9D,6BAA6B5U,SACtHpoD,KAAKQ,MAAM8/D,iBAAiBtgE,KAAKQ,MAAM8/D,gBAAgB5W,UAAUiH,WAAW3wD,KAAK4/D,yBAAyBxX,QAC9G,EACAwV,wBAAyB,WAOxB,MANe,CACdW,YAAY,aACZC,aAAa,aACbC,mBAAmB,iBACnBvjD,SAAS5H,2BAA2B4H,SAGtC,GAGD7W,SAAU,CACTkxD,UAAAA,GACC,OAAOv1D,KAAKzB,MAAMg3D,YAAc,IACjC,EACAkL,eAAAA,GACC,OAAGzgE,KAAKzB,KAAKmiE,kBAAkBl6C,QACvBxmB,KAAKzB,KAAKmiE,iBAAiBl6C,QAAU,IAAMxmB,KAAKzB,KAAKoiE,cACnD3gE,KAAKzB,KAAKmiE,iBACZ1gE,KAAKzB,KAAKmiE,iBAAmB,IAAM1gE,KAAKzB,KAAKoiE,cAE7C3gE,KAAKzB,KAAKoiE,aAEnB,EACAjC,gBAAAA,GACC,OAAO1+D,KAAK28D,eACT38D,KAAKq6D,SAAS97D,KAAKyB,KAAK28D,gBACxB38D,KAAKq6D,QACT,EACAsE,iBAAAA,GACC,OAAK3+D,KAAKzB,KAIH,CACNu3D,QAAS91D,KAAKzB,KAAK8iD,QACnB0U,SAAU/1D,KAAKzB,KAAK+iD,SACpBsd,SAAU5+D,KAAKzB,KAAKsgE,SACpBC,OAAQ9+D,KAAKzB,KAAKwgE,OAClBC,MAAOh/D,KAAKzB,KAAK+kD,MACjB2b,UAAWj/D,KAAKzB,KAAK2gE,UACrBzJ,YAAaz1D,KAAKzB,KAAKk3D,YACvBI,KAAM71D,KAAKzB,KAAKs3D,MAXT,CAAA,CAaT,EAEAsJ,eAAAA,GACC,OAAKn/D,KAAKzB,KAIH,CACN6gE,aAAc,CACbx2B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,kBAC7BnZ,MAAOe,KAAKzB,KAAK8gE,UAElBC,WAAY,CACX12B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,gBAC7BnZ,MAAOe,KAAKzB,KAAKghE,QAElBC,oBAAqB,CACpB52B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,iBAC7BnZ,MAAOe,KAAKzB,KAAKm3B,QAElBkrC,QAAS,CACRh4B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,aAC7BnZ,MAAOe,KAAKygE,iBAEbI,OAAQ,CACPj4B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,UAC7BnZ,MAAOe,KAAKzB,KAAKilB,aAtBX,CAAA,CAyBT,GAGD1M,OAAAA,GAEC9W,KAAKmY,GAAG0E,aAAa,CAAC,KAAK,QAAQ,SAAS,WAAWla,KAAK,KAC3D3C,KAAK48D,iBAAiBiD,kBAAoB7/D,KAAKmY,GAAGC,EAAE,kBACpDpY,KAAK48D,iBAAiBkD,2BAA6B9/D,KAAKmY,GAAGC,EAAE,8BAC7DpY,KAAK48D,iBAAiBmD,iBAAmB//D,KAAKmY,GAAGC,EAAE,qBACnDpY,KAAK48D,iBAAiBoD,iBAAmBhgE,KAAKmY,GAAGC,EAAE,qBACnDpY,KAAK48D,iBAAiBqD,oBAAsBjgE,KAAKmY,GAAGC,EAAE,wBACtDpY,KAAK48D,iBAAiBW,8BAAgCv9D,KAAKmY,GAAGC,EAAE,kCAChEpY,KAAK48D,iBAAiBY,qBAAuBx9D,KAAKmY,GAAGC,EAAE,yBACvDpY,KAAK48D,iBAAiBwD,mBAAqBpgE,KAAKmY,GAAGC,EAAE,uBACrDpY,KAAK48D,iBAAiB6C,QAAO,IAG9Bz/D,KAAKzB,KAAK6/D,eAAeh3D,KAAKpH,KAAKq+D,kBAEpC,EACArwD,MAAO,CACN,kBAAkB0xD,GACd1/D,KAAKQ,MAAM8/D,iBAAiBtgE,KAAKQ,MAAM8/D,gBAAgB5W,UAAUvgB,QAAQu2B,EAC7E,EACA,cAAcA,GACV1/D,KAAKQ,MAAMs9D,qBAAqB99D,KAAKQ,MAAMs9D,oBAAoBpU,UAAUvgB,QAAQu2B,EACrF,EACA,iBAAiBA,GAChB1/D,KAAKwgE,sBACN,GAEDx9D,SAAmB,k1SClUpB89D,GAAe,CACdviE,KAAIA,KACI,CAAA,GAER2E,WAAY,CACXyvD,cACAF,iBACAU,gBACAC,mBACAkC,sBAGD52D,MAAO,CAAC,QACRkZ,OAAAA,GACC,MAAO,CACNqN,eAAgBzjB,IAAI6C,SAAS,CAAEkH,IAAKA,IAAMvL,KAAKzB,KAAK0mB,iBAEtD,EAEAnlB,QAAS,CAAA,EAETuE,SAAU,CACTkxD,UAAAA,GACC,OAAOv1D,KAAKzB,MAAMg3D,YAAc,IACjC,EACAoJ,iBAAAA,GACC,OAAK3+D,KAAKzB,KAIH,CACNu3D,QAAS91D,KAAKzB,KAAK8iD,QACnB0U,SAAU/1D,KAAKzB,KAAK+iD,SACpBsd,SAAU5+D,KAAKzB,KAAKsgE,SACpBC,OAAQ9+D,KAAKzB,KAAKwgE,OAClBC,MAAOh/D,KAAKzB,KAAK+kD,MACjB2b,UAAWj/D,KAAKzB,KAAK2gE,UACrBzJ,YAAaz1D,KAAKzB,KAAKk3D,YACvBI,KAAM71D,KAAKzB,KAAKs3D,MAXT,CAAA,CAaT,EAEAkL,YAAAA,GACC,OAAO/gE,KAAKzB,MAAMyiE,OAAShhE,KAAKzB,KAAKyiE,OAAS,EAC/C,EAEA7B,eAAAA,GACC,OAAKn/D,KAAKzB,KAKH,CACN6gE,aAAc,CACbx2B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,kBAC7BnZ,MAAOe,KAAKzB,KAAK8gE,UAElBC,WAAY,CACX12B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,gBAC7BnZ,MAAOe,KAAKzB,KAAKghE,QAElBC,oBAAqB,CACpB52B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,yBAC7BnZ,MAAOe,KAAKzB,KAAKihE,qBAElBjoC,YAAa,CACZqR,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,QAAQ,iBAC5BnZ,MAAOe,KAAKzB,KAAKg5B,aAElB3M,SAAU,CACTge,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,QAAQ,cAC5BnZ,MAAOe,KAAKzB,KAAKqsB,UAElBvG,QAAS,CACRukB,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,QAAQ,iBAC5BnZ,MAAOe,KAAKzB,KAAK8lB,SAElBivC,OAAQ,CACP1qB,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,QAAQ,YAC5BnZ,MAAOe,KAAKzB,KAAK+0D,OAAOj2B,SA/BlB,CAAA,CAkCT,GAGD98B,OAAAA,GACA,EAEAyC,SAAmB,kxHCrFpBi+D,GAAe,CACd/9D,WAAY,CACXmpD,kBACAoG,iBACAE,cACAS,mBACAD,gBACAmC,sBAEDtxD,OAAQ,CAAC,mBAAoB,YAC7BzF,IAAAA,GACC,MAAO,CACN2iE,wBAAwB,EACxBtE,iBAAiB,CAAA,EACjBgD,yBAA0B,CACzB9C,cAAe,oCACfvO,YAAa,CACZnG,SAAS,GAEV7yC,UAAW,IACXs6C,OAAQ,aACRnE,iBAAkB,WAClBuR,uCAAuC,EACvCC,kCAAmC17D,IAAI27D,mBACvC/U,QAAS,CAGR,CACCtnD,MACC,qFACDihC,MAAO,WACPq7B,YAAY,EACZ5O,cAAc,EACdzE,UAAW,qBACX50C,SAAU,GACVkoD,YAAar9D,KAAKs9D,iBAClBzR,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,mBACpC2pB,MAAO,cACPysB,cAAc,EACdh5C,SAAU,IACVq2C,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,+BACpC2pB,MAAO,uBACPysB,cAAc,EACdh5C,SAAU,IACVq2C,SAAS,GAEV,CACC/qD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,sBACpC2pB,MAAO,aACP27B,iBAAkB,QAClBlP,aAAcgN,GACd3M,WAAW,EACXr5C,SAAU,IACVq2C,SAAS,EACT9B,UAAU,WACV4T,gBAAiB39D,KAAK49D,2BAEvB,CACC98D,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,sBACpC2pB,MAAO,aACP27B,iBAAkB,QAClBlP,aAAcgN,GACd3M,WAAW,EACXr5C,SAAU,IACVq2C,SAAS,EACT9B,UAAU,WACV4T,gBAAiB39D,KAAK49D,2BAEvB,CACC98D,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,yBACpC2pB,MAAO,gBACPysB,cAAc,EACdh5C,SAAU,IACVq2C,SAAS,KAKd,EAGAntD,MAAO,CAAC,QACRoB,QAAS,CACRugE,qBAAsB,WACrBrgE,KAAKQ,MAAM8/D,gBAAgB5W,UAAUvgB,QAAQnpC,KAAKzB,KAAKgiE,WACxD,EACA3C,wBAAyB,WAOxB,MANe,CACdW,YAAY,aACZC,aAAa,aACbC,mBAAmB,iBACnBvjD,SAAS5H,2BAA2B4H,SAGtC,GAEDlN,MAAO,CACN,kBAAkB0xD,GACd1/D,KAAKQ,MAAM8/D,iBAAiBtgE,KAAKQ,MAAM8/D,gBAAgB5W,UAAUvgB,QAAQu2B,EAC7E,EACA,iBAAiBA,GACb1/D,KAAKQ,MAAM8/D,iBAAiBtgE,KAAKQ,MAAM8/D,gBAAgB5W,UAAUiH,WAAW3wD,KAAK4/D,yBAAyBxX,QAC9G,GAED/jD,SAAU,CACTo8D,eAAAA,GACC,OAAGzgE,KAAKzB,KAAKmiE,kBAAkBl6C,QACvBxmB,KAAKzB,KAAKmiE,iBAAiBl6C,QAAU,IAAMxmB,KAAKzB,KAAKoiE,cACnD3gE,KAAKzB,KAAKmiE,iBACZ1gE,KAAKzB,KAAKmiE,iBAAmB,IAAM1gE,KAAKzB,KAAKoiE,cAE7C3gE,KAAKzB,KAAKoiE,aAEnB,EACApL,UAAAA,GACC,OAAOv1D,KAAKzB,MAAMg3D,YAAc,IACjC,EAEAwL,YAAAA,GACC,OAAO/gE,KAAKzB,MAAMyiE,OAAShhE,KAAKzB,KAAKyiE,OAAS,EAC/C,EAEArC,iBAAAA,GACC,OAAK3+D,KAAKzB,KAIH,CACNu3D,QAAS91D,KAAKzB,KAAK8iD,QACnB0U,SAAU/1D,KAAKzB,KAAK+iD,SACpBsd,SAAU5+D,KAAKzB,KAAKsgE,SACpBC,OAAQ9+D,KAAKzB,KAAKwgE,OAClBC,MAAOh/D,KAAKzB,KAAK+kD,MACjB2b,UAAWj/D,KAAKzB,KAAK2gE,UACrBzJ,YAAaz1D,KAAKzB,KAAKk3D,YACvBI,KAAM71D,KAAKzB,KAAKs3D,MAXT,CAAA,CAaT,EAEAsJ,eAAAA,GACC,OAAKn/D,KAAKzB,KAGH,CACN6gE,aAAc,CACbx2B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,kBAC7BnZ,MAAOe,KAAKzB,KAAK8gE,UAElBC,WAAY,CACX12B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,gBAC7BnZ,MAAOe,KAAKzB,KAAKghE,QAElBC,oBAAqB,CACpB52B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,iBAC7BnZ,MAAOe,KAAKzB,KAAKm3B,QAElBkrC,QAAS,CACRh4B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,aAC7BnZ,MAAOe,KAAKygE,iBAEbI,OAAQ,CACPj4B,MAAO,GAAG5oC,KAAKmY,GAAGC,EAAE,SAAS,UAC7BnZ,MAAOe,KAAKzB,KAAKilB,aArBX,CAAA,CAwBT,GAED1M,OAAAA,GACC9W,KAAKmY,GAAG0E,aAAa,CAAC,KAAM,QAAS,SAAU,WAAWla,KAAK,KAC9D3C,KAAK48D,iBAAiBiD,kBAAoB7/D,KAAKmY,GAAGC,EAAE,kBACpDpY,KAAK48D,iBAAiBkD,2BAA6B9/D,KAAKmY,GAAGC,EAAE,8BAC7DpY,KAAK48D,iBAAiBmD,iBAAmB//D,KAAKmY,GAAGC,EAAE,qBACnDpY,KAAK48D,iBAAiBoD,iBAAmBhgE,KAAKmY,GAAGC,EAAE,qBACnDpY,KAAK48D,iBAAiBqD,oBAAsBjgE,KAAKmY,GAAGC,EAAE,wBACtDpY,KAAK48D,iBAAiB6C,QAAS,GAEjC,EAEAz8D,SAAmB,kpICxLpBxB,IAAI27D,mBAAqB,SAAU5+D,GAElC,IAAIqQ,EAAYvM,SAASC,cAAc,OACvCsM,EAAUF,UAAUnI,IAAI,2BACxBqI,EAAUF,UAAUnI,IAAI,cAExB,IAAI6lB,EAAO/pB,SAASC,cAAc,OAkBlC,OAjBA8pB,EAAK1d,UAAUnI,IAAI,OAEnBqI,EAAU7L,YAAYqpB,GAEtB7tB,EAAKqI,QAAQ,SAAUgoD,GACtB,IAAI3qD,EAAO5B,SAASC,cAAc,OAClC2B,EAAKyK,UAAUnI,IAAI,SACnB,IAAI46D,EAAQ9+D,SAASC,cAAc,OACnC6+D,EAAMzyD,UAAUnI,IAAI,SAEpBtC,EAAKm9D,UAAY,WAAaxS,EAAI9tD,MAAQ,YAC1CqgE,EAAMC,UAAYxS,EAAI3vD,MAAQ2vD,EAAI3vD,MAAQ,IAE1CmtB,EAAKrpB,YAAYkB,GACjBmoB,EAAKrpB,YAAYo+D,EAClB,GAEO3hE,OAAO6M,KAAK9N,GAAM4H,OAASyI,EAAY,EAC/C,EAEO,MAAMyyD,GAAS,CACrB/iE,KAAM,SACN4E,WAAY,CACXu5D,iBACAkD,qBACAmB,qBACAG,yBACAnH,YAEDp7D,MAAO,CACNuc,IAAK,CACJrc,KAAME,OACNuY,UAAS,GAEV2D,SAAU,CACTpc,KAAMY,SAGRjB,IAAAA,GACC,MAAO,CAENsd,SAAS,EACTy/C,mBAAoB,KACpB7C,kBAAmB,KACnB3c,KAAM,KACNv9C,KAAM,KAEN+iE,YAAa,KACbC,WAAYvhE,KAAKgb,SAASwmD,WAAY,EAExC,EACA5pD,OAAAA,GACC,MAAO,CACN2pD,WAAY//D,IAAI6C,SAAS,IAAIrE,KAAKuhE,YAClCjG,mBAAoB95D,IAAI6C,SAAS,MAChCrE,KAAKs7D,oBAAqBt7D,KAAKs7D,oBAEhC7C,kBAAmBj3D,IAAI6C,SAAS,MAC/BrE,KAAKy4D,mBAAoBz4D,KAAKy4D,mBAE/BgC,WAAa7b,IACZ5+C,KAAK6b,QAAU+iC,GAEhB6X,wBAAyBz2D,KAAKq2D,qBAC9B0B,wBAAyB/3D,KAAKq3D,qBAC9BiG,iBAAkBA,CAAClnD,EAAGm1C,UAEKtqD,IAAtBjB,KAAKoW,EAAE3R,OAAOmI,MACjB5M,KAAKoW,EAAE3R,OAAOmI,KAAM,GAErB5M,KAAKoW,EAAE3R,OAAOmI,KAAO5M,KAAKoW,EAAE3R,OAAOmI,IAGnC,IAAI60D,EAAoBlW,EAAOmW,QAAQC,MAAMr5D,IAAKy7B,GAC1CA,EAAIqC,QAAQ2rB,SAAS,IAKzB/xD,KAAKoW,EAAE3R,OAAOmI,IACjBwJ,EAAE3R,OAAOiK,UAAUmU,QAAQ,cAAe,iBAE1CzM,EAAE3R,OAAOiK,UAAUmU,QAAQ,gBAAiB,eAIzC7iB,KAAKoW,EAAE3R,OAAOmI,IACjB60D,EACEh4D,OAAQ8hD,IACAA,EAAO78C,UAAU6D,SAAS,SAElC3L,QAASgoD,IACTA,EAAIgT,UAGNH,EACEh4D,OAAQ8hD,GACDA,EAAO78C,UAAU6D,SAAS,SAEjC3L,QAASgoD,IACTA,EAAIgT,WAIRvD,kBAAmBA,CAACwD,EAAMC,KACzB,IAAI9/D,EAAS,EAcb,OAZCA,EADiC,YAA9B6/D,EAAKt4C,OAAO6W,eAEyB,aAA9ByhC,EAAKt4C,OAAO6W,eACiB,aAA9B0hC,EAAKv4C,OAAO6W,eAFZ,EAIA,EAGNyhC,EAAKt4C,SAAWu4C,EAAKv4C,SACxBvnB,EACC,IAAI2Z,KAAKmmD,EAAKC,WAAW19B,MAAM,KAAK29B,UAAU/lC,KAAK,MACnD,IAAItgB,KAAKkmD,EAAKE,WAAW19B,MAAM,KAAK29B,UAAU/lC,KAAK,OAE9Cj6B,GAGV,EACAlC,QAAS,CACR,UAAMmiE,SAECjiE,KAAKid,KACT3H,KAAKw/C,GAAgB3yC,aACrBxf,KAAMwR,IACNnU,KAAKs7D,mBAAqBnnD,EAAS5V,OAEnC2V,MAAOnM,IACPD,QAAQC,MAAMA,KAGhB/H,KAAKid,KACH3H,KAAKw/C,GAAgB1yC,YACrBzf,KAAMwR,IACNnU,KAAKy4D,kBAAoBtkD,EAAS5V,OAElC2V,MAAOnM,IACPD,QAAQC,MAAMA,KAIhB/H,KAAKid,KACH3H,KAAKm+C,GAAUC,eAAe1zD,KAAK+mD,OAAOlzC,OAAOoH,KAAK,OACtDtY,KAAMwR,GAAaA,EAAS5V,MAAMoE,KAAKpE,IACvCyB,KAAK87C,KAAOv9C,GAAM2jE,YAAYpmB,KAC9B97C,KAAKzB,KAAOA,GAAM2jE,YAAY3jE,KAC9ByB,KAAKuhE,WAAahjE,GAAMijE,WAAY,IAEpCttD,MAAOnM,IACPD,QAAQC,MAAMA,IAIjB,EACAsvD,oBAAAA,GACC,IAAKr3D,KAAKzB,OAASyB,KAAKzB,KAAK4jE,SAC5B,OAAO,KAGR,IAAIC,EAAgB,GAmCpB,OAlCIpiE,KAAKzB,KAAK6/D,eAAej4D,SAC5Bi8D,EAAgBA,EAAc3nD,OAC7Bza,KAAKzB,KAAK6/D,cACR30D,OAAQsP,GACDA,EAAO0J,iBAAiBy1C,gBAE/B5vD,IAAK+5D,GACEA,EAAQ5/C,iBAAiB01C,cAMlCn4D,KAAKzB,KAAK6/D,eAAej4D,QACzBnG,KAAKzB,KAAK4jE,SACT14D,OAAQ44D,GAAYA,EAAQnK,gBAC5Bh+B,MAAOmoC,GACPriE,KAAKzB,KAAK6/D,cAAch2D,KACtB2Q,GACAA,EAAO0J,iBAAiB01C,YAAckK,EAAQlK,eAIlDiK,EAAgBA,EAAc3nD,OAC7Bza,KAAKzB,KAAK4jE,SACR14D,OAAQ44D,GACDA,EAAQnK,gBAEf5vD,IAAKg6D,GACEA,EAAInK,cAKR,IAAI,IAAIP,IAAIwK,GAEpB,EACA/L,oBAAAA,GACC,IAAKr2D,KAAKzB,OAASyB,KAAKzB,KAAKgkE,SAC5B,OAAO,KAGR,IAAIC,EAAgB,GA0CpB,OAxCIxiE,KAAKzB,KAAK6/D,eAAej4D,SAC5Bq8D,EAAgBA,EAAc/nD,OAC7Bza,KAAKzB,KAAK6/D,cACR30D,OAAQsP,GACiB,YAAlBA,EAAOwQ,QAAwBxQ,EAAO0J,iBAAiBk0C,YAE9DruD,IAAKm6D,IACE,CACJ36C,WAAY26C,EAAQhgD,iBAAiBqF,WACrC+uC,WAAY4L,EAAQhgD,iBAAiBo0C,gBAO1C72D,KAAKzB,KAAK6/D,eAAej4D,QACzBnG,KAAKzB,KAAKgkE,SACT94D,OAAQ+c,GAAYA,EAAQmwC,YAC5Bz8B,MAAO1T,GACPxmB,KAAKzB,KAAK6/D,cAAch2D,KACtB2Q,GACkB,YAAlBA,EAAOwQ,QAAwBxQ,EAAO0J,iBAAiBqF,YAActB,EAAQsB,eAIjF06C,EAAgBA,EAAc/nD,OAC7Bza,KAAKzB,KAAKgkE,SACR94D,OAAQ+c,GACDA,EAAQmwC,YAEfruD,IAAKo6D,IACE,CACJ56C,WAAY46C,EAAI56C,WAChB+uC,WAAY6L,EAAI7L,gBAMhB,IAAI,IAAIe,IAAI4K,GACpB,GAEDn+D,SAAU,CAETq6D,gBAAAA,GACC,GAAK1+D,KAAKzB,KAIV,MAAO,CACNu9C,KAAM,KACNv9C,KAAM,CACLokE,uBAAwB,CACvB7hE,MAAOd,KAAKmY,GAAGC,EAAE,SAAU,yBAC3BoK,MAAO,yBACPs5B,KAAM,KACNv9C,KAAM,CACL8iD,QAAS,CACRvgD,MAAOd,KAAKmY,GAAGC,EAAE,SAAU,WAC3BoK,MAAOxiB,KAAKy4D,mBAA6B,QACzC3c,KAAM,oBACN+c,WAAW,EACXt6D,KAAM,CACL+kD,MAAO,UACPrkD,MAAOe,KAAKzB,KAAK8iD,UAGnBC,SAAU,CACTxgD,MAAOd,KAAKmY,GAAGC,EAAE,SAAU,YAC3BoK,MAAOxiB,KAAKy4D,mBAA8B,SAC1C3c,KAAM,oBACN+c,WAAW,EACXt6D,KAAM,CACL+kD,MAAO,WACPrkD,MAAOe,KAAKzB,KAAK+iD,WAGnBgC,MAAO,CACNxiD,MAAOd,KAAKmY,GAAGC,EAAE,SAAU,SAC3BoK,MAAOxiB,KAAKy4D,mBAA2B,MACvC3c,KAAM,oBACN+c,WAAW,EACXt6D,KAAM,CACL+kD,MAAO,QACPrkD,MAAOe,KAAKzB,KAAK+kD,QAGnB4b,UAAW,CACVp+D,MAAOd,KAAKmY,GAAGC,EAAE,SAAU,aAC3BoK,MAAOxiB,KAAKy4D,mBAA+B,UAC3C3c,KAAM,oBACN+c,WAAW,EACXt6D,KAAM,CACL+kD,MAAO,YACPrkD,MAAOe,KAAKzB,KAAK2gE,cAKrB0D,iBAAkB,CACjB9hE,MAAOd,KAAKmY,GAAGC,EAAE,SAAU,mBAC3BoK,MAAOxiB,KAAKy4D,oBAAoB,oBAChCl6D,KAAMyB,KAAKzB,KAAKgkE,UACb94D,OAAQxF,IAEDjE,KAAKzB,KAAK6/D,eAAeh2D,KAC/B2Q,GACAA,EAAOwQ,SAAWvpB,KAAKs7D,mBAA4B,SACnDviD,EAAO0J,kBAAkBqF,aAAe7jB,EAAK6jB,aAG/Cxf,IAAKke,IACE,CACNq8C,SAAU,UACV/mB,KAAM,cACNv9C,KAAMioB,MAIVs8C,iBAAkB,CACjBhiE,MAAOd,KAAKmY,GAAGC,EAAE,SAAU,mBAC3BoK,MAAOxiB,KAAKy4D,oBAAoB,oBAChCl6D,KAAMyB,KAAKzB,KAAK4jE,UACb14D,OAAQxF,IACDjE,KAAKzB,KAAK6/D,eAAeh2D,KAAM2Q,GAErCA,EAAOwQ,SAAWvpB,KAAKs7D,mBAA4B,SACnDviD,EAAO0J,kBAAkB01C,YAAcl0D,EAAKk0D,aAI9C7vD,IAAK+5D,IACE,CACNQ,SAAU,UACV/mB,KAAM,cACNv9C,KAAM8jE,OAMb,GAEDr0D,MAAO,CACN6N,QAAS,SAAU+iC,GACdA,EACH5+C,KAAKQ,MAAMuiE,gBAAgB5iE,OAE3BH,KAAKQ,MAAMuiE,gBAAgB7iE,MAE7B,EACA+a,GAAAA,CAAKykD,EAAQsD,GACZhjE,KAAKiiE,MACN,GAEDnrD,OAAAA,GACC9W,KAAKiiE,MACN,EACAj/D,SAAU,+UC9WX,IAAAigE,GAAe,CACdnwC,aAAaC,IACL,CACNnY,OAAQ,MACRC,IAAK,iCACLhH,OAAQ,CAAE2P,WAAYuP,KAGxBC,SAAQA,CAACC,EAAOC,EAAKC,EAAKC,EAAKC,EAAiB,KACxC,CACNzY,OAAQ,MACRC,IAAK,gCACLhH,OAAQ,CAAEof,QAAOC,MAAKC,MAAKC,MAAKC,oBAGlCC,aAAYA,KACJ,CACN1Y,OAAQ,MACRC,IAAK,gCACLhH,OAAQ,CAAA,KCjCJ,MAAMqvD,GAAa,CACzB5kE,KAAM,YACNI,MAAO,CAAA,EAGPwE,WAAY,eACXqqC,EACA8e,kBACA8W,YAAahiE,SAASiiE,aAEvB7kE,IAAAA,GACC,MAAO,CACN8kE,eAAgB,KAChBC,iBAAiB,EACjBC,cAAe/hE,IAAIK,IAAI,GACvB2hE,kBAAmB,KACnBC,kBAAmB,KACnBC,UAAW,KACXC,YAAa,CACZC,eAAgB,GAChBC,aAAcriE,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,iBAE5C0rD,OAAQ,EACRC,aAAc,KACd9wC,MAAO,IAAItX,KACXuX,IAAK1xB,IAAIK,IAAI,CACZu4C,OAAO,IAAIz+B,MAAOqoD,WAClBC,SAAS,IAAItoD,MAAOuoD,eAErB/wC,IAAK3xB,IAAIK,IAAI,CACZu4C,OAAO,IAAIz+B,MAAOqoD,WAAa,EAC/BC,SAAS,IAAItoD,MAAOuoD,eAErBC,2BAA4B,CAC3BC,aAAa,EACbC,WAAW,EACXC,eAAe,EACfC,OAAQ,aACRC,UAAU,GAEXC,2BAA4B,CAC3BL,aAAa,EACbC,WAAW,EACXC,eAAe,EACfC,OAAQ,QACRC,UAAU,GAEXE,sBAAuB,CACtBv1D,OAAQ3N,IAAIK,IAAI,KAChBiF,MAAO,aACP+oD,OAAQ,aACRljD,YAAa3M,KAAKmY,GAAGC,EAAE,0BACvBgwC,QAAS,CACR,CAACtnD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,yBAA0B2pB,MAAO,aAAc4iC,UAAW,GAC/F,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,uBAAwB2pB,MAAO,cAAe4iC,UAAW,GAC9F,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,wBAAyB2pB,MAAO,SAAU4iC,UAAW,GAC1F,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,uBAAwB2pB,MAAO,WAAY4iC,UAAW,GAC3F,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,sBACpC2pB,MAAO,WAAYgoB,UAAW/pD,KAAK4kE,cAAeD,UAAW,GAC9D,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,8BACpC2pB,MAAO,UAAWgoB,UAAW/pD,KAAK4kE,cAAeD,UAAW,IAE9DpW,aAAa,GAEdsW,4BAA6B,CAAC,CAC7B5/D,MAAO,aACPiJ,QAAS0zB,UACR5hC,KAAKwjE,uBAIT,EACA1jE,QAAS,CACRglE,YAAAA,CAAazjE,GACZrB,KAAKwjE,kBAAoBniE,CAC1B,EACAujE,aAAAA,CAAcnJ,GACb,MAAMn3B,EAAMm3B,EAAKI,WAEXkJ,EAAuB,aADftJ,EAAKvM,WAEblvD,KAAKmY,GAAGC,EAAE,qBACVpY,KAAKmY,GAAGC,EAAE,6BAChB,OAAGksB,EACK,mGACKA,EAAI,iBAAmBygC,EAD5B,uFAKA,gGAGT,EACAC,aAAaC,GACL3xD,2BAA2BC,SAAWD,2BAA2BE,UACtE,kCAAoCyxD,EAAKzhD,WAE5C0hD,aAAaD,GACL3xD,2BAA2BC,SAAWD,2BAA2BE,UACrE,uBAAyByxD,EAAKxxC,WAElC0xC,cAAcz1B,GAGN,GAFO5wC,OAAO4wC,EAAK0K,OAAOvtC,SAAS,EAAG,QAC7B/N,OAAO4wC,EAAKu0B,SAASp3D,SAAS,EAAG,OAGlDu4D,SAAAA,CAAU7mE,GACT,MAAMs+C,EAAIt+C,EAAK+J,IAAI28D,IACX,CACNzhD,WAAYyhD,EAAKzhD,WACjB+R,YAAa0vC,EAAK1vC,YAAY1S,QAAQ,QAAS,KAC/CwiD,OAAQJ,EAAKK,gBACbC,SAAUN,EAAKO,WACfC,SAAUR,EAAKxxC,WAAazzB,KAAKklE,aAAaD,GAAQ,KACtDS,QAAS1lE,KAAKglE,aAAaC,MAM7BjlE,KAAKQ,MAAMmlE,eAAejc,UAAUvgB,QAAQ0T,EAC7C,EACA+oB,aAAAA,GACC5lE,KAAKid,KAAK3H,KAAK2tD,GAAO3vC,gBACpB3wB,KAAK4G,IACNA,GAAKhL,MAAMqI,QAAQhI,IAClBA,EAAKilE,aAAejlE,EAAKilE,aAAahhD,QAAQ,QAAS,OAExD7iB,KAAK+jE,aAAe/jE,KAAK2jE,YACzB3jE,KAAK0jE,UAAYn6D,GAAKhL,MAAQ,IAEhC,EACAsnE,SAAAA,GACC7lE,KAAKid,KAAK3H,KAAK2tD,GAAOjwC,SAAShzB,KAAKizB,MAAM6yC,cAAe9lE,KAAKmlE,cAAcnlE,KAAKkzB,KAAMlzB,KAAKmlE,cAAcnlE,KAAKmzB,KAAMnzB,KAAK+jE,cAAcH,gBAAkB,GAAI5jE,KAAK8jE,SACjKnhE,KAAK4G,IACFA,GAAKhL,MAAMuV,QAAQ9T,KAAKolE,UAAU77D,EAAIhL,KAAKuV,SAEjD,EACAiyD,iBAAAA,CAAkBvY,GACjBxtD,KAAKujE,cAAgB/V,CACtB,EACAtwC,MAAAA,GACCld,KAAK6lE,WACN,EACAG,QAAAA,CAAS1hC,GACR,EAED2hC,WAAWhiD,GAIH,GAHKnlB,OAAOmlB,EAAKiiD,WAAWr5D,SAAS,EAAG,QACjC/N,OAAOmlB,EAAKkiD,WAAa,GAAGt5D,SAAS,EAAG,QACzCoX,EAAKmiD,gBAGnBC,WAAWpiD,GAGH,GAFOnlB,OAAOmlB,EAAK+/C,YAAYn3D,SAAS,EAAG,QAClC/N,OAAOmlB,EAAKigD,cAAcr3D,SAAS,EAAG,OAGvD,kBAAMy5D,GAELtmE,KAAKyjE,kBAAoB,IAAIriE,QAAQpB,KAAK8kE,oBACpC9kE,KAAKyjE,kBAEXzjE,KAAK4lE,gBACL5lE,KAAK6lE,YAEL,MAAMU,EAAUvmE,KAAKujE,cAAiB,IAAMvjE,KAAKujE,cAAiB,GAC5DiD,EAAenkE,SAASyP,eAAe,qBAAuBy0D,GACpE,IAAIC,EAAc,OAClB,MAAMj2D,EAAOi2D,EAAa33D,wBAEpBlN,EAAI6X,OAAOitD,eAAet3D,OAASoB,EAAKZ,IAAM,IACjD3P,KAAKQ,MAAMmlE,gBACb3lE,KAAKQ,MAAMmlE,eAAenlE,MAAM2qD,MAAMz7C,MAAMg3D,YAAY,SAAU/kE,EAAE,KAGtE,GAED0C,SAAU,CACTsiE,UAAAA,GACC,MAAuC,QAAhC3mE,KAAK4lC,OAAOf,WAAW5lC,KAC/B,GAED6X,OAAAA,GACC9W,KAAKqjE,eAAiBrjE,KAAKmY,GAAG0E,aAAa,CAAC,WAAY,WACxD7c,KAAKqjE,eAAe1gE,KAAK,KAAM3C,KAAKsjE,iBAAkB,GACvD,EACA/iE,OAAAA,GACCP,KAAKsmE,cACN,EACAtjE,SAAU,qxEChMX,IAAA4jE,GAAe,CACb1jE,WAAY,CACV2jE,UAAW1lE,SAAS0lE,WAEtBhnE,MAAO,CAAC,eACRnB,MAAO,CACLooE,aAAc,CACZloE,KAAMuL,OACNpL,QAAS,GAEXg1B,UAAW,CACTn1B,KAAMuL,OACNkN,UAAU,IAGd9Y,KAAIA,KACK,CAAA,GAETuB,QAAS,CACPinE,aAAc,SAAUxoE,GAExB,GAEFgC,OAAAA,GAAW,EACXyC,SAAmB,ipBCxBrBgkE,GAAe,CACdtoE,MAAM,CACLuc,IAAInc,OACJuiD,QAAQviD,OACRwiD,SAASxiD,OACTsiD,SAAStiD,OACT0nB,QAAQ1nB,OACRmoE,eAAenoE,OACfooE,MAAMpoE,OACNwmE,gBAAgBxmE,OAChB+2D,KAAK/2D,OACLqoE,cAAc,CACbvoE,KAAKC,QACLE,SAAQ,IAGViE,SAAiB,+qCAyBjBqB,SAAS,CACR+iE,eAAgB,WACf,IAAIpnE,KAAKknE,MAAQ,OAAO,KACxB,IAEIG,EAFarnE,KAAKknE,MAAMrkD,QAAQ,UAAW,IAElBwhB,MAAM,KAEnC,OAAOgjC,EAAW,GAAK,SAAWA,EAAW,EAC9C,EACAC,SAAU,WACT,OAAItnE,KAAKohD,UAAYphD,KAAKqhD,SAAWrhD,KAAKshD,SAClC,GAAGthD,KAAKohD,YAAYphD,KAAKqhD,WAAWrhD,KAAKshD,WAExCthD,KAAKqhD,SAAWrhD,KAAKshD,SACtB,GAAGthD,KAAKqhD,WAAWrhD,KAAKshD,WAEvBthD,KAAKshD,SACNthD,KAAKqhD,QAGL,IAET,EACAkmB,MAAO,WACN,OAAIvnE,KAAKwmB,SAAWxmB,KAAKinE,eACjB,CACN3mB,KAAM,OAAO7lC,OAAOza,KAAKwmB,SAAS/L,OAAO,IAAMza,KAAKinE,gBACpDl0B,OAAQ/yC,KAAKwmB,QAAQ/L,OAAO,IAAMza,KAAKinE,iBAIjCjnE,KAAKwmB,QAAU,CACrB85B,KAAM,OAAO7lC,OAAOza,KAAKwmB,SACzBusB,OAAQ/yC,KAAKwmB,SACV,IAEN,EACAghD,WAAY,WACX,OAAOxnE,KAAKknE,MAAQ,UAAUzsD,OAAOza,KAAKknE,OAAS,IACpD,EACAO,YAAY,WACX,OAAOznE,KAAK61D,KAAO,yBAAyBp7C,OAAOza,KAAK61D,MAAQ,IACjE,EACAhjC,IAAI,WACH,OAAO7yB,KAAKslE,iBAAmB,IAChC,EACAoC,eAAgB,WACf,OAAO1nE,KAAKib,IAAM3H,2BAA2BC,SAASkH,OAAOnH,2BAA2BE,WAAWiH,OAAO,qBAAqBA,OAAOza,KAAKib,KAAM,IAClJ,ICzFF0sD,GAAe,CACdjpE,MAAO,CACNoC,MAAMhC,OACN8oE,gBAAgBroE,MAChBsoE,gBAAgBhpE,SAEjBmE,SAAiB,ujBAejBlD,QAAS,CACR4nE,eAAgB,SAAUzsD,GACzB,OAAOA,EAAM3H,2BAA2BC,SAASkH,OAAOnH,2BAA2BE,WAAWiH,OAAO,qBAAqBA,OAAOQ,GAAO,IACzI,EACA6sD,uBAAwB,SAAUC,GACjC,OAAKA,EACE,GAAGA,EAAW1mB,SAAW,MAAM0mB,EAAWzmB,UAAY,MAAMymB,EAAWxyC,aAAev1B,KAAK6nE,gBAAkB,IAAIptD,OAAOstD,EAAWxyC,YAAY1S,QAAQ,IAAK,IAAIA,QAAQ,IAAK,KAAKpI,OAAO,KAAO,KAD/K,IAEzB,ICXFutD,GAAe,CACdzvC,uBAAsBA,KACd,CACN3d,OAAQ,MACRC,IAAK,iDAGP2d,mBAAmBvT,IACX,CACNrK,OAAQ,MACRC,IAAK,iEACLhH,OAAQ,CAAEoR,qBCvBbgjD,GAAe,CACf1pE,KAAIA,KACG,CACLg5B,YAAY,KACZ3M,SAAU,KACVs9C,QAAS,KACTC,OAAQ,KACRC,QAAS,KACTC,IAAK,KACLC,eAAgB,KAChBC,KAAM,KACNC,eAAgB,OAGlB9pE,MAAM,CACLyoE,cAAc,CACbvoE,KAAKC,QACLE,SAAQ,IAGVmE,WAAW,CACV8jE,qBACAW,0BAED3kE,SAAiB,++EAkDjBqB,SAAS,CAGRokE,iBAAkB,WACjB,IAAIC,EAAa,GAqBjB,OAnBInpE,MAAM4I,QAAQnI,KAAKkoE,UAAmC,GAAvBloE,KAAKkoE,QAAQ/hE,QAAe5G,MAAM4I,QAAQnI,KAAKqoE,MAA2B,GAAnBroE,KAAKqoE,IAAIliE,OAElGuiE,EAAWpiE,KAAK,CAAExF,MAAO,GAAGd,KAAKmY,GAAGC,EAAE,SAAU,0BAA0BpY,KAAKmY,GAAGC,EAAE,yBAA0B,eAAiB4vB,WAAY,IAAIhoC,KAAKkoE,WAAYloE,KAAKqoE,QAIrKK,EAAWpiE,KAAK,CAAExF,MAAOd,KAAKmY,GAAGC,EAAE,SAAU,uBAAwB4vB,WAAYhoC,KAAKkoE,UACtFQ,EAAWpiE,KAAK,CAAExF,MAAOd,KAAKmY,GAAGC,EAAE,yBAA0B,aAAc4vB,WAAYhoC,KAAKqoE,OAEzF9oE,MAAM4I,QAAQnI,KAAKmoE,SAAiC,GAAtBnoE,KAAKmoE,OAAOhiE,QAAe5G,MAAM4I,QAAQnI,KAAKooE,UAAmC,GAAvBpoE,KAAKooE,QAAQjiE,OAExGuiE,EAAWpiE,KAAK,CAAExF,MAAOd,KAAKmY,GAAGC,EAAE,yBAA0B,gDAAiD4vB,WAAY,IAAIhoC,KAAKmoE,UAAWnoE,KAAKooE,YAInJM,EAAWpiE,KAAK,CAAExF,MAAOd,KAAKmY,GAAGC,EAAE,yBAA0B,+BAAgC4vB,WAAYhoC,KAAKmoE,SAC9GO,EAAWpiE,KAAK,CAAExF,MAAOd,KAAKmY,GAAGC,EAAE,yBAA0B,4BAA6B4vB,WAAYhoC,KAAKooE,WAGrGM,CACR,EACAC,WAAY,WAEX,GAAI3oE,KAAKu3B,aAAgBv3B,KAAKu3B,YAAYtS,eAE1C,MAAO,+DAAiEjlB,KAAKu3B,YAAYtS,cAC1F,GAEA1kB,OAAAA,GACCP,KAAKid,KACH3H,KAAK0yD,GAAezvC,0BACpB51B,KAAK4G,GAAOA,EAAIhL,MAChBoE,KAAKimE,IACLppE,OAAO0iD,OAAOliD,KAAM4oE,IAEvB,GCvGDC,GAAe,CACdr1C,QAAOA,CAACC,EAAYC,EAAQ,KAAMC,EAAQ,KAAMC,EAAS,QACjD,CACNhZ,OAAQ,MACRC,IAAK,+BACLhH,OAAQ,CACP4f,gBACIC,EAAU,CAAEA,WAAY,MACxBC,EAAU,CAAEA,WAAY,MACxBC,EAAW,CAAEA,YAAa,CAAA,KAKjCC,QAAOA,CAACC,EAAO,EAAGC,EAAY,GAAIJ,KAC1B,CACN/Y,OAAQ,MACRC,IAAK,+BACLhH,OAAQ,CACPigB,OACAC,YACAJ,aAKHK,KAAKC,IACG,CACNrZ,OAAQ,MACRC,IAAK,4BACLhH,OAAQ,CAAEogB,WAGZC,gBAAeA,KACP,CACNtZ,OAAQ,MACRC,IAAK,yCAGPsZ,aAAYA,KAEJ,CACNvZ,OAAQ,MACRC,IAAK,oDCtDRiuD,GAAe,CACdxqE,KAAM,gBACL4E,WAAY,CACV0jE,cACHqB,2BAEC1pE,KAAIA,KACK,CACLi1B,QAAS,KACTszC,aAAc,EACd/yC,UAAW,GACdD,KAAK,IAGN9lB,MAAM,CACP,yBAAyB,SAAS2lB,GACjC3zB,KAAK+oE,WACN,GAEC1kE,SAAS,CACVsvB,QAAS,WACR,OAAO3zB,KAAKmY,GAAGsrB,cAAcxkC,KAC9B,GAECa,QAAS,CACTipE,SAAAA,GACC,OAAO/oE,KAAKid,KACV3H,KAAKuzD,GAAOh1C,QAAQ7zB,KAAK8zB,KAAM9zB,KAAK+zB,UAAW/zB,KAAK2zB,UACpDhxB,KAAK4G,GAAOA,EAAIhL,MAChBoE,KAAKX,IACLhC,KAAKwzB,QAAUxxB,EAEfK,SAASs+B,iBAAiB,uBAAuB/5B,QAAS6N,IACzDA,EAAGkF,iBAAiB,QAAUpV,IAC7BA,EAAIY,iBACJ2T,EAAUnY,MAAM8T,EAAGk5C,QAAQt1B,SACzB11B,KAAK,KACLqmE,MAAMz9D,IAAIkJ,EAAG6wB,MACX3iC,KAAM4G,IAEN0rB,SAAWA,WAEX/gB,MAAOuH,GAAQ3T,QAAQC,MAAM,SAAU0T,MAEzCvH,MAAM,YAIV7R,SAASs+B,iBAAiB,oBAAoB/5B,QAAS6N,IACtDA,EAAG6wB,KAAO7wB,EAAGk5C,QAAQroB,KAAKziB,QACzB,UACAvP,2BAA2BC,YAG7B/R,IAAI2jD,SAAS,KACZ9iD,SAASs+B,iBAAiB,gBAAgB/5B,QAAS6N,IAClDA,EAAG/F,UAAUnI,IAAI,iBAElBlE,SAASs+B,iBAAiB,QAAQ/5B,QAAS6N,IAC1CA,EAAG/F,UAAUnI,IAAI,SACjBkO,EAAG/F,UAAUnI,IAAI,wBAGlBlE,SAASs+B,iBAAiB,WAAW/5B,QAAS6N,IAC7CA,EAAG/F,UAAUnI,IAAI,aAKtB,EACA0iE,kBAAAA,CAAmB1qE,GAClByB,KAAKid,KACH3H,KAAKuzD,GAAOh1C,QAAQt1B,EAAKu1B,KAAMv1B,EAAK4N,OACpCxJ,KAAK4G,GAAOA,EAAIhL,MAChBoE,KAAKX,IACLhC,KAAKwzB,QAAUxxB,GAGlB,GAEA8U,OAAAA,GACE9W,KAAK+oE,YAEP/oE,KAAKid,KACH3H,KAAKuzD,GAAO30C,mBACZvxB,KAAK4G,GAAOA,EAAIhL,MAChBoE,KAAKX,IACLhC,KAAK8mE,aAAe9kE,GAEtB,EACAgB,SAAmB,6pBC/FrBkmE,GAAe,CACd5qE,KAAM,gBACNC,KAAIA,KACI,CACN4qE,WAAY,OAGXzqE,MAAM,CACJ80B,QAAQ,CACJ50B,KAAKE,OACLuY,UAAS,GAEhBoc,WAAW,CACZ70B,KAAM,CAACuL,OAAQrL,UAGhBgB,QAAS,CACRspE,oBAAAA,CAAqBje,GAGTA,EAAMxqB,iBAAiB,SAC/B/5B,QAAQwR,IACV,MAAM2wB,EAAc3wB,EAAE2wB,YAAY1L,OAC5BgsC,EAAWhnE,SAASC,cAAc,KACxC+mE,EAAStgC,YAAcA,EACvB3wB,EAAEkxD,WAAWC,aAAaF,EAAUjxD,KAI1B+yC,EAAMxqB,iBAAiB,MAC/B/5B,QAAQ4iE,IACVjqE,MAAMwS,KAAKy3D,EAAEzX,UAAUnrD,QAAQ6iE,IAC9B,MAAMtgE,EAAI9G,SAASC,cAAc,KACjC6G,EAAE4/B,YAAc0gC,EAAG1gC,YACnBygC,EAAEF,WAAWvmE,YAAYoG,KAE1BqgE,EAAEF,WAAWlnE,YAAYonE,KAKfjqE,MAAMwS,KAAKo5C,EAAMxqB,iBAAiB,OAAOl3B,OAAOgL,GAAMA,EAAGi1D,YAAc,KAC/E9iE,QAAQw/B,IACV,GAAIA,EAAQujC,YAAY7oC,WAAaC,KAAK6oC,WAAaxjC,EAAQujC,WAAWxjE,OAAS,GAAI,CACtF,MAAMgD,EAAI9G,SAASC,cAAc,KACjC6G,EAAEpG,YAAYqjC,EAAQujC,YACtBvjC,EAAQrjC,YAAYoG,EACrB,IAIW5J,MAAMwS,KAAKo5C,EAAMxqB,iBAAiB,OAC1C/5B,QAAQijE,IAERA,EAAG9X,SAAS5rD,OAAS,IACvB0jE,EAAGzI,UAAY7hE,MAAMwS,KAAK83D,EAAGC,YAAYlmC,KAAKmmC,GAAMA,EAAGhhC,aAAaA,eAK5DoiB,EAAMxqB,iBAAiB,KAC/B/5B,QAAQuC,IACTA,EAAEuG,MAAMg3D,YAAY,YAAa,cACjCv9D,EAAEuG,MAAMg3D,YAAY,cAAe,UACnCv9D,EAAEuG,MAAMg3D,YAAY,YAAa,UAEnC,GAEEnmE,OAAAA,GAEF,IAAIypE,EAAS3nE,SAAS2P,uBAAuB,eAE7C,IAAK,IAAIm5C,KAAS6e,EACjBhqE,KAAKopE,qBAAqBje,GAC1B,IAAIN,UAAUM,EAAO,CACpB0E,OAAQ,iBAERE,eAAgB,CACfhG,UAAW,OACX8E,WAAW,EACXr5C,SAAU,WAKb,IAAI1U,EAAQuB,SAAS4nE,qBAAqB,MAG1C,GAFAnpE,EAAQA,EAAMqF,OAASrF,EAAM,GAAK,KAE9BA,GAASA,EAAMopE,UACnB,CACC,IAAIC,EAAYrpE,EAAMopE,UAClBE,EAAoB,IAAI3jC,OAAO,+BAC/B4jC,EAA2BF,EAAU5lC,MAAM6lC,GAC/C,GAAGC,EACH,CACCF,EAAYE,EAAyB,GACrCF,EAAYA,EAAUtnD,QAAQ,IAAI,KAClC,IAAIynD,EAAejoE,SAASC,cAAc,KAC1CgoE,EAAahlC,KAAOhyB,2BAA2BC,SAAWD,2BAA2BE,UAAY,kCAAoC22D,EACrIG,EAAavnE,YAAYjC,EAAMuQ,WAAU,IACzCvQ,EAAMypE,YAAYD,GAElB,IAAIE,EAAcnoE,SAASs+B,iBAAiB,qCAC5C,IAAI,IAAI8pC,KAAcD,EACrBC,EAAWnlC,KAAOglC,EAAahlC,IAEjC,MAGCx9B,QAAQC,MAAM,uDAAuDoiE,KAGtE,MACD,CAEA,MAGMO,GAHS,IAAIC,WACAC,gBAAgB,QAAQ5qE,KAAKwzB,gBAAiB,aAEjDliB,cAAc,OAC9B,GAAGo5D,GAAOA,EAAI5pE,MACd,CACC,MAAM+pE,EAAgB,CAAA,EACtB,IAAK,IAAI1Y,KAAQuY,EAAIrlC,WACpBwlC,EAAc1Y,EAAK7zD,MAAQ6zD,EAAKlzD,MAGjCe,KAAKmpE,WAAa0B,CACnB,CAEA/iE,QAAQC,MAAM,4DAEZ,EACA/E,SAAmB,kSCpIvB,MAKM8nE,GAAY,CACjBC,SAAS,CACR,CACCC,SAAU,EACVC,MAAO,IAAIxkC,OAAO,iDAClBykC,YAAa53D,2BAA2BC,SAAWD,2BAA2BE,UAAY,sBAC1F23D,2BATY,iBAWb,CACCH,SAAU,EACVC,MAAO,IAAIxkC,OAAO,yBAClBykC,YAAa53D,2BAA2BC,SAAWD,2BAA2BE,UAAY,oBAE3F,CACCw3D,SAAU,EACVC,MAAO,IAAIxkC,OAAO,yBAClBykC,YAAa53D,2BAA2BC,SAAWD,2BAA2BE,WAE/E,CACCw3D,SAAU,GACVC,MAAO,IAAIxkC,OAAO,WAClBykC,YAAa53D,2BAA2BC,WAG1C63D,SAAS,CACR,CAAA,IAKIC,GAAiBP,GAAUC,SAC/B3jE,KAAK,CAACC,EAAGC,IACFD,EAAE2jE,SAAW1jE,EAAE0jE,UAEtB1iE,IAAI2iE,IACG,CACNA,MAAOA,EAAMA,MACbC,YAAaD,EAAMC,YACnBC,2BAA4BF,EAAME,8BAkB9B,SAASG,GAA0BC,GACzC,IAAK,IAAIN,MAACA,EAAKC,YAACA,EAAWC,2BAACA,KAA+BE,GAAe,CAEzE,IAAI9mC,EAAQgnC,EAAmBhnC,MAAM0mC,GACrC,GAAI1mC,EAAO,CACV,IAAIinC,EAAWD,EAAmB1oD,QAAQooD,EAAOC,GAEhD,OAAQC,GACP,IAAK,mBAEJK,EAAWA,EAAS/wD,OAAO,IAAI8pB,EAAM,MACrC,IAAK,IAAIknC,KAAmBlnC,EAAMuR,MAAM,GACvC01B,EAAWA,EAAS/wD,OAAO,IAAIgxD,KAEhC,MACD,IAAK,gBACJ,IAAK,IAAIA,KAAmBlnC,EAAMuR,MAAM,GACvC01B,EAAWA,EAAS/wD,OAAO,IAAIgxD,KAOnC,OAAOD,CACR,CACD,CAEA,OAAOD,CACR,CA1CuBT,GAAUM,SAC/BhkE,KAAK,CAACC,EAAGC,IACFD,EAAE2jE,SAAW1jE,EAAE0jE,UAEtB1iE,IAAI2iE,IACG,CACNA,MAAOA,EAAMA,MACbC,YAAaD,EAAMC,YACnBC,2BAA4BF,EAAME,8BCxDrC,IAAA7vC,GAAe,CACdh9B,KAAM,mBACHI,MAAM,CACJ80B,QAAQ,CACJ50B,KAAKE,OACLuY,UAAS,IAGlBvX,QAAS,CACRspE,oBAAAA,CAAqBje,GAGTA,EAAMxqB,iBAAiB,SAC/B/5B,QAAQwR,IACV,MAAM2wB,EAAc3wB,EAAE2wB,YAAY1L,OAC5BgsC,EAAWhnE,SAASC,cAAc,KACxC+mE,EAAStgC,YAAcA,EACvB3wB,EAAEkxD,WAAWC,aAAaF,EAAUjxD,KAI1B+yC,EAAMxqB,iBAAiB,MAC/B/5B,QAAQ4iE,IACVjqE,MAAMwS,KAAKy3D,EAAEzX,UAAUnrD,QAAQ6iE,IAC9B,MAAMtgE,EAAI9G,SAASC,cAAc,KACjC6G,EAAE4/B,YAAc0gC,EAAG1gC,YACnBygC,EAAEF,WAAWvmE,YAAYoG,KAE1BqgE,EAAEF,WAAWlnE,YAAYonE,KAKfjqE,MAAMwS,KAAKo5C,EAAMxqB,iBAAiB,OAAOl3B,OAAOgL,GAAMA,EAAGi1D,YAAc,KAC/E9iE,QAAQw/B,IACV,GAAIA,EAAQujC,YAAY7oC,WAAaC,KAAK6oC,WAAaxjC,EAAQujC,WAAWxjE,OAAS,GAAI,CACtF,MAAMgD,EAAI9G,SAASC,cAAc,KACjC6G,EAAEpG,YAAYqjC,EAAQujC,YACtBvjC,EAAQrjC,YAAYoG,EACrB,IAIW5J,MAAMwS,KAAKo5C,EAAMxqB,iBAAiB,OAC1C/5B,QAAQijE,IAERA,EAAG9X,SAAS5rD,OAAS,IACvB0jE,EAAGzI,UAAY7hE,MAAMwS,KAAK83D,EAAGC,YAAYlmC,KAAKmmC,GAAMA,EAAGhhC,aAAaA,eAK5DoiB,EAAMxqB,iBAAiB,KAC/B/5B,QAAQuC,IACTA,EAAEuG,MAAMg3D,YAAY,YAAa,cACjCv9D,EAAEuG,MAAMg3D,YAAY,cAAe,UACnCv9D,EAAEuG,MAAMg3D,YAAY,YAAa,UAEnC,EACAgF,cAAAA,GAEcnsE,MAAMwS,KAAK1P,SAAS2P,uBAAuB,gBAEjDpL,QAAQ,CAACukD,EAAOrkD,KACtB9G,KAAKopE,qBAAqBje,GAE1B,IAAIN,UAAUM,EAAO,CACpBrkD,MAAOA,EACP+oD,OAAQ,cAERE,eAAgB,CACfhG,UAAW,OACX8E,WAAW,EACXr5C,SAAU,aAKbnT,SAASs+B,iBAAiB,uBAAuB/5B,QAAS6N,IACzDA,EAAGkF,iBAAiB,QAAUpV,IAC7BA,EAAIY,iBACJ2T,UAAUnY,MAAM8T,EAAGk5C,QAAQt1B,SAC1B11B,KAAK,KACLqmE,MAAMz9D,IAAIkJ,EAAG6wB,MACZ3iC,KAAM4G,IAEN0rB,SAAWA,WAEX/gB,MAAOuH,GAAQ3T,QAAQC,MAAM,SAAU0T,MAExCvH,MAAM,YAGT7R,SAASs+B,iBAAiB,oBAAoB/5B,QAAS6N,IACtDA,EAAG6wB,KAAO7wB,EAAGk5C,QAAQroB,KAAKziB,QACzB,UACAvP,2BAA2BC,YAI7BlR,SAASs+B,iBAAiB,UAAU/5B,QAASw/B,IAC5C,IACIulC,EAAWL,GADIllC,EAAQzhC,aAAa,SAExCyhC,EAAQd,KAAOqmC,IAGhBtpE,SAASs+B,iBAAiB,6BAA6B/5B,QAASw/B,IAC1B,sBAAjCA,EAAQ12B,MAAM62B,kBACjBH,EAAQ12B,MAAM62B,gBAAkB,yBAE9BH,EAAQ90B,cAAc,gCACxB80B,EAAQ12B,MAAM62B,gBAAkB,wBAGnC,GAEDn4B,OAAAA,GACCpO,KAAK0rE,gBACN,EACAnrE,OAAAA,GACCP,KAAK0rE,gBACN,EACG1oE,SAAmB,sRCnHvB4oE,GAAe,CACdttE,KAAM,mBACNI,MAAO,CACN+0B,WAAY,CACX70B,KAAM,CAACuL,OAAQrL,QACfuY,UAAU,GAEXqc,QAAS,CACR90B,KAAM,CAACE,OAAQqL,QACfpL,QAAS,MAEV60B,SAAU,CACTh1B,KAAM,CAACE,OAAQqL,QACfpL,QAAS,OAGXmE,WAAY,CACXgmE,wBACA2C,aCzBa,CACdvtE,KAAM,kBACNI,MAAM,CACJ80B,QAAQ,CACP50B,KAAKE,OACLuY,UAAS,IAGZvX,QAAS,CACRspE,oBAAAA,CAAqBje,GAGTA,EAAMxqB,iBAAiB,SAC/B/5B,QAAQwR,IACV,MAAM2wB,EAAc3wB,EAAE2wB,YAAY1L,OAC5BgsC,EAAWhnE,SAASC,cAAc,KACxC+mE,EAAStgC,YAAcA,EACvB3wB,EAAEkxD,WAAWC,aAAaF,EAAUjxD,KAI1B+yC,EAAMxqB,iBAAiB,MAC/B/5B,QAAQ4iE,IACVjqE,MAAMwS,KAAKy3D,EAAEzX,UAAUnrD,QAAQ6iE,IAC9B,MAAMtgE,EAAI9G,SAASC,cAAc,KACjC6G,EAAE4/B,YAAc0gC,EAAG1gC,YACnBygC,EAAEF,WAAWvmE,YAAYoG,KAE1BqgE,EAAEF,WAAWlnE,YAAYonE,KAKfjqE,MAAMwS,KAAKo5C,EAAMxqB,iBAAiB,OAAOl3B,OAAOgL,GAAMA,EAAGi1D,YAAc,KAC/E9iE,QAAQw/B,IACV,GAAIA,EAAQujC,YAAY7oC,WAAaC,KAAK6oC,WAAaxjC,EAAQujC,WAAWxjE,OAAS,GAAI,CACtF,MAAMgD,EAAI9G,SAASC,cAAc,KACjC6G,EAAEpG,YAAYqjC,EAAQujC,YACtBvjC,EAAQrjC,YAAYoG,EACrB,IAIW5J,MAAMwS,KAAKo5C,EAAMxqB,iBAAiB,OAC1C/5B,QAAQijE,IAERA,EAAG9X,SAAS5rD,OAAS,IACvB0jE,EAAGzI,UAAY7hE,MAAMwS,KAAK83D,EAAGC,YAAYlmC,KAAKmmC,GAAMA,EAAGhhC,aAAaA,eAK5DoiB,EAAMxqB,iBAAiB,KAC/B/5B,QAAQuC,IACTA,EAAEuG,MAAMg3D,YAAY,YAAa,cACjCv9D,EAAEuG,MAAMg3D,YAAY,cAAe,UACnCv9D,EAAEuG,MAAMg3D,YAAY,YAAa,UAEnC,GAEDnmE,OAAAA,GAEchB,MAAMwS,KAAK1P,SAAS2P,uBAAuB,gBAEjDpL,QAAQ,CAACukD,EAAOrkD,KACtB9G,KAAKopE,qBAAqBje,GAE1B,IAAIN,UAAUM,EAAO,CACpBrkD,MAAOA,EACP+oD,OAAQ,cAERE,eAAgB,CACfhG,UAAW,OACX8E,WAAW,EACXr5C,SAAU,aAKbnT,SAASs+B,iBAAiB,uBAAuB/5B,QAAS6N,IACzDA,EAAGkF,iBAAiB,QAAUpV,IAC5BA,EAAIY,iBACJ2T,UAAUnY,MAAM8T,EAAGk5C,QAAQt1B,SAC3B11B,KAAK,KACJqmE,MAAMz9D,IAAIkJ,EAAG6wB,MACb3iC,KAAM4G,IAEN0rB,SAAWA,WAEX/gB,MAAOuH,GAAQ3T,QAAQC,MAAM,SAAU0T,MAExCvH,MAAM,YAGT7R,SAASs+B,iBAAiB,oBAAoB/5B,QAAS6N,IACtDA,EAAG6wB,KAAO7wB,EAAGk5C,QAAQroB,KAAKziB,QACzB,UACAvP,2BAA2BC,YAI7BlR,SAASs+B,iBAAiB,UAAU/5B,QAASw/B,IAC5C,IACIulC,EAAWL,GADIllC,EAAQzhC,aAAa,SAExCyhC,EAAQd,KAAOqmC,IAGhBtpE,SAASs+B,iBAAiB,6BAA6B/5B,QAASw/B,IAC1B,sBAAjCA,EAAQ12B,MAAM62B,kBACjBH,EAAQ12B,MAAM62B,gBAAkB,yBAE9BH,EAAQ90B,cAAc,gCACxB80B,EAAQ12B,MAAM62B,gBAAkB,yBAIlC/kC,IAAI2jD,SAAS,KACZ9iD,SAASs+B,iBAAiB,gBAAgB/5B,QAAS6N,IAClDA,EAAG/F,UAAUnI,IAAI,iBAElBlE,SAASs+B,iBAAiB,QAAQ/5B,QAAS6N,IAC1CA,EAAG/F,UAAUnI,IAAI,SACjBkO,EAAG/F,UAAUnI,IAAI,wBAGlBlE,SAASs+B,iBAAiB,WAAW/5B,QAAS6N,IAC7CA,EAAG/F,UAAUnI,IAAI,WAKpB,EACAvD,SAAmB,wQD1GlBs4B,WACAwwC,eE1Ba,CACdxtE,KAAM,iBACNI,MAAO,CACN80B,QAAS,CAAE50B,KAAME,OAAQuY,UAAU,IAEpChT,SAAU,CACT0nE,MAAAA,GACC,MAEMC,GAFS,IAAIrB,WACAC,gBAAgB,QAAQ5qE,KAAKwzB,gBAAiB,aAC9CliB,cAAc,eAEjC,IAAK06D,EACJ,MAAO,GAGR,OAAOV,GADGU,EAAOrnE,aAAa,QAAU,GAEzC,GAED3B,SAAU,uQFUVzE,IAAAA,GACC,MAAO,CACN0tE,aAAc,KACdz4C,QAAS,KACT04C,oBAAqBlsE,KAAKyzB,WAE5B,EACA3zB,QAAS,CACRqsE,YAAAA,GACCnsE,KAAKid,KACH3H,KAAKuzD,GAAOr1C,QAAQxzB,KAAKksE,oBAAqBlsE,KAAK0zB,QAAS1zB,KAAK2zB,QAAS3zB,KAAK4zB,WAC/EjxB,KAAK4G,IACLvJ,KAAKosE,UAAU,WACdpsE,KAAKwzB,QAAUjqB,EAAIhL,KAAKi1B,QACxBxzB,KAAKisE,aAAe1iE,EAAIhL,KAAKK,IAC9B,IAEH,GAEDoP,MAAM,CACL2lB,QAAS,SAASA,GACjB3zB,KAAKmsE,cACN,EACA,2BAA2BzM,GAC1B1/D,KAAKksE,oBAAsBxM,EAC3B1/D,KAAKmsE,cACN,GAED9nE,SAAU,CACTsvB,OAAAA,GACC,OAAO3zB,KAAKmY,GAAGsrB,cAAcxkC,KAC9B,EACAotE,mBAAoB,WACnB,OAAQrsE,KAAKisE,cACZ,IAAK,uBACJ,MAAO,uBACR,IAAK,OACJ,MAAO,eACR,IAAK,SACJ,MAAO,iBACR,QACC,MAAO,UAEV,GAEDn1D,OAAAA,GACC9W,KAAKmsE,cACN,EACAnpE,SAAmB,0RG1Eb,MAAMspE,GAAwB,OAErC,IAAAC,GAAe,CACdjuE,KAAM,kBACN4E,WAAY,CACXg6C,gBAEDx+C,MAAM,CACLsc,SAAUxb,OACV2/C,cAAe3/C,QAEhB6E,SAAU,CACT+6C,UAAAA,GACC,OAAOp/C,KAAKm/C,eAAeE,YAAc1S,MAAMC,SAAS8E,MAAM5E,QAAQ9sC,KAAKgb,SAASE,UAAUqjC,WAC/F,EACAgB,WAAAA,GACC,OAAOv/C,KAAKm/C,eAAex0C,MAAQ2hE,EACpC,GAEDxsE,QAAQ,CACP6/C,gBAAAA,CAAiB9I,EAAK+I,GACrB,OAAO5/C,KAAK6/C,iBAAiBD,EAAS/I,EACvC,EACAgJ,gBAAAA,CAAiBD,EAAS/I,GACzB,MAAMlsC,EAAOi1C,EAAQ,GAAGtf,cAAgBsf,EAAQ9J,MAAM,GAChDuJ,EAAaxI,EAAI0H,YAEvBv+C,KAAK8/C,QAAQx5C,KAAK,CACjBhI,KAAM,kBACNuV,OAAQ,CACPlJ,OACA00C,aACA77B,WAAYxjB,KAAKm/C,cAAc37B,aAGlC,EACA25B,cAAAA,CAAehR,EAAOC,GACrB,MAAO,CACNpsC,KAAKid,KAAK3H,KAAKi+B,GAAUhwB,YAAYvjB,KAAKm/C,cAAc37B,WAAY2oB,EAAMoS,YAAanS,EAAImS,cAC3Fv+C,KAAKid,KAAK3H,KAAKi+B,GAAU3vB,qBAAqB5jB,KAAKm/C,cAAc37B,WAAY2oB,EAAMoS,YAAanS,EAAImS,cAEtG,GAEDv7C,SAAkB,0dC3CnB,MAAMwpE,GAAQ,IAAI7wD,KACL8wD,GAAsB,CAClCnuE,KAAM,sBACN4E,WAAY,CACXywD,UACAt1D,UACA8kE,YAAahiE,SAASiiE,YACtBsJ,SAAUvrE,SAASwrE,SACnBC,SAAUzrE,SAAS0rE,SACnBC,SAAU3rE,SAAS4rE,SACnBx/B,cAAAA,GAED7uC,MAAO,CACNsuE,cAAe,CACdpuE,KAAMY,OACNT,QAAS,MAEVkuE,SAAU,CACTruE,KAAMC,QACNE,SAAS,IAGXR,KAAIA,KACI,CACN2uE,eAAe,EACfC,gBAAiB,KACjBC,mBAAoB95D,2BAA2BqwB,iBAC/C9d,KAAMrkB,IAAI+hC,SAAS,CAClB5P,QAAS,GACT05C,SAAU,GACVC,YAAa,GACbC,cAAe,GACfC,iBAAkB,GAClBC,sBAAuB,GACvBC,aAAc,MAIjB5tE,QAAS,CACR6tE,SAAU,SAASt4C,GAClB,QAAIA,EAAOpe,KAAK9Q,SACfnG,KAAK+6B,UAAUsE,aAAar/B,KAAKmY,GAAGC,EAAE,8BAC/B,EAIT,EACAw1D,gBAAAA,GACC,IAAK5tE,KAAK2tE,SAAS3tE,KAAKmtE,iBAEvB,OAAO,EAIR,MAAM77C,EAAW,IAAI0I,SACrB1I,EAASkJ,OAAO,qBAAsBx6B,KAAKmtE,gBAAgB73C,oBAC3DhE,EAASkJ,OAAO,mBAAoBx6B,KAAKmtE,gBAAgBx4C,kBACzDrD,EAASkJ,OAAO,cAAex6B,KAAKmtE,gBAAgBn4C,aACpD1D,EAASkJ,OAAO,cAAex6B,KAAKgtE,cAActgD,aAClD4E,EAASkJ,OAAO,aAAcx6B,KAAKgtE,cAAca,YAGjDv8C,EAASkJ,OAAO,UAAWx6B,KAAK6lB,KAAc,QAAE8N,SAChDrC,EAASkJ,OAAO,WAAYx6B,KAAK6lB,KAAe,UAChDyL,EAASkJ,OAAO,cAAex6B,KAAK6lB,KAAkB,aACtDyL,EAASkJ,OAAO,gBAAiBx6B,KAAK6lB,KAAoB,eAC1DyL,EAASkJ,OAAO,mBAAoBx6B,KAAK6lB,KAAuB,kBAChEyL,EAASkJ,OAAO,eAAgBx6B,KAAK6lB,KAAmB,cAExD,IAAK,IAAIlgB,EAAI,EAAGA,EAAI3F,KAAKmtE,gBAAgBl2D,KAAK9Q,OAAQR,IACrD2rB,EAASkJ,OAAO,OAAQx6B,KAAKmtE,gBAAgBl2D,KAAKtR,IAEnD3F,KAAKod,QAAQ8b,QAAQ9E,MAAMQ,kCAAkCtD,GAC3D3uB,KAAK4G,IACLvJ,KAAK8tE,gBAAgBvkE,KAGvBvJ,KAAKQ,MAAMutE,mCAAmC7tE,MAC/C,EACA8tE,cAAAA,CAAe34C,GACdr1B,KAAKod,QAAQ8b,QAAQ9E,MAAMW,kCAAkCM,EAAOL,YAAah1B,KAAKgtE,cAActgD,YACrG,EACAuhD,UAAAA,CAAWC,GACV,MAAMjqD,EAAO,IAAItI,KAAKuyD,GAEhBC,EAAWC,GAAQtvE,OAAOsvE,GAAKvhE,SAAS,EAAG,KAE3C+gC,EAAQugC,EAAQlqD,EAAKkiD,WAAa,GAIxC,MAAO,GAHKgI,EAAQlqD,EAAKiiD,cAGRt4B,KAFJ3pB,EAAKmiD,eAGnB,EACAxR,MAAAA,CAAOv/B,GAEN,IAAKr1B,KAAK2tE,SAASt4C,GAElB,OAAO,EAGR,GAA0B,cAAvBA,EAAOE,YAETv1B,KAAKmtE,gBAAkB93C,EACvBr1B,KAAKQ,MAAMutE,mCAAmC5tE,WACxC,CACN,MAAMmxB,EAAW,IAAI0I,SACrB1I,EAASkJ,OAAO,qBAAsBnF,EAAOC,oBAC7ChE,EAASkJ,OAAO,mBAAoBx6B,KAAKgtE,cAAcr4C,kBACvDrD,EAASkJ,OAAO,cAAenF,EAAOL,aACtC1D,EAASkJ,OAAO,cAAex6B,KAAKgtE,cAActgD,aAClD4E,EAASkJ,OAAO,aAAcx6B,KAAKgtE,cAAca,YAEjD,IAAK,IAAIloE,EAAI,EAAGA,EAAI0vB,EAAOpe,KAAK9Q,OAAQR,IACvC2rB,EAASkJ,OAAO,OAAQnF,EAAOpe,KAAKtR,IAErC3F,KAAKod,QAAQ8b,QAAQ9E,MAAMU,uCAAuCxD,GAChE3uB,KAAK4G,IACLvJ,KAAK8tE,gBAAgBvkE,IAExB,CACD,EACAukE,eAAAA,CAAgBvkE,GACO,WAAnBA,EAAIowB,KAAKpQ,OACXvpB,KAAK+6B,UAAUiE,aAAa,gCAE5Bh/B,KAAK+6B,UAAUI,WAAW,qBAGxB5xB,EAAIowB,KAAK00C,cACXruE,KAAK+6B,UAAUqE,UAAU71B,EAAIowB,KAAK00C,aAEpC,EACAC,eAAcA,CAACr7C,EAAOu5C,IAEdpmE,KAAKmoE,OAAO,IAAI5yD,KAAKsX,GAAS,IAAItX,KAAK6wD,IAD7B,OAGlBgC,YAAAA,CAAan5C,EAAQ1qB,GACpB,MAAMsoB,EAAQ,IAAItX,KAAK0Z,EAAOpC,OACxBw7C,EAAc,IAAI9yD,KAAK0Z,EAAOo5C,aAIpC,IAAI3nC,EAAQ,QAER6B,EAAO,GAoBX,OAnB2B,OAAvBtT,EAAOo5C,YACPx7C,EAAQu5C,IACV1lC,EAAQ,MAER6B,EAAO,2BACG1V,EAAQu5C,IAASxsE,KAAKsuE,eAAer7C,EAAOu5C,KAAU,KAChE1lC,EAAQ,SACR6B,EAAO,yBAEC8lC,EAAcx7C,GACvB6T,EAAQ,OAER6B,EAAO,uBAEP7B,EAAQ,QACR6B,EAAO,wBAIa,IAATh+B,GAAiC,SAATA,EAC5Bg+B,EAEA,2BAA6B7B,CAEtC,EACA4nC,mBAAAA,CAAoBpuB,GACnB9mC,OAAO4e,KAAKkoB,EAAM,SACnB,EACAquB,eAAe3c,GACPA,EAAOr+B,SAGhB3lB,MAAO,CACNg/D,aAAAA,CAActN,GAEb1/D,KAAK6lB,KAAK8N,QAAU+rC,EAAO/rC,QAAU3zB,KAAKotE,mBAAmBxpC,KAAKgB,GAAQA,EAAKjR,SAAW+rC,EAAO/rC,SAAW3zB,KAAKotE,mBAAmBxpC,KAAKgB,GAAwB,UAAhBA,EAAKjR,SACtJ3zB,KAAK6lB,KAAKwnD,SAAW3N,EAAO2N,SAC5BrtE,KAAK6lB,KAAKynD,YAAc5N,EAAO4N,YAC/BttE,KAAK6lB,KAAK0nD,cAAgB7N,EAAO6N,cACjCvtE,KAAK6lB,KAAK2nD,iBAAmB9N,EAAO8N,iBACpCxtE,KAAK6lB,KAAK4nD,sBAAwB/N,EAAO+N,sBACzCztE,KAAK6lB,KAAK6nD,aAAehO,EAAOgO,YACjC,GAEDrpE,SAAU,CACTuqE,MAAAA,GACC,OAAO5uE,KAAKmY,GAAGC,EAAE,yCAClB,EACAy2D,mBAAAA,GACC,OAAQ7uE,KAAKktE,aACd,GAEDp2D,OAAAA,GAEA,EACAvW,OAAAA,GAEA,EACAyC,SAAU,i3NC/MX,IAAA8rE,GAAe,CACXxwE,KAAM,gBACNC,KAAM,WACJ,MAAO,CACHwwE,YAAa,EACbC,UAAW,EACXC,aAAc,EACdC,UAAW,EACXlmE,QAAQ,EACRmmE,UAAW,KACXC,gBAAiB,EACjBC,cAAe,EAErB,EACArsE,SAAU,0qCA8BVzC,QAAS,WACLP,KAAKsvE,cACLtvE,KAAKuvE,iCACL/1D,OAAOG,iBAAiB,SAAU3Z,KAAKsvE,YAC3C,EACAlhE,QAAS,WACLpO,KAAKuvE,gCACT,EACAzvE,QAAS,CACLwvE,YAAa,WACT,IAAIE,EAAeh2D,OAAOi2D,YACtBC,EAAiB1vE,KAAK+uE,YAC1B/uE,KAAKqvE,cAAgBrvE,KAAKQ,MAAMmvE,cAAcz4B,UAC9Cl3C,KAAK+uE,YAAcS,EAAexvE,KAAKqvE,cAAgBrvE,KAAKQ,MAAM2uE,UAAU5kC,aACpD,IAAnBvqC,KAAKgvE,WAAyC,IAAtBhvE,KAAKivE,cAA0C,IAAnBS,EACrD1vE,KAAKgvE,UAAY5oE,KAAKC,MAAMrG,KAAK+uE,YAAY,GAE7C/uE,KAAKgvE,UAAY5oE,KAAKC,MAA4B,IAAjBrG,KAAKgvE,UAAmBU,EAAkB,IAAO1vE,KAAK+uE,aAE3F/uE,KAAKivE,aAAejvE,KAAK+uE,YAAc/uE,KAAKgvE,SAChD,EACAY,YAAa,WACT5vE,KAAKsvE,cACLtvE,KAAKgvE,UAAY,EACjBhvE,KAAKivE,aAAejvE,KAAK+uE,WAC7B,EACAc,eAAgB,WACZ7vE,KAAKsvE,cACLtvE,KAAKgvE,UAAYhvE,KAAK+uE,YACtB/uE,KAAKivE,aAAe,CACxB,EACAa,SAAU,WACN9vE,KAAKgvE,UAAY5oE,KAAKC,MAAMrG,KAAK+uE,YAAY,GAC7C/uE,KAAKivE,aAAe7oE,KAAKC,MAAMrG,KAAK+uE,YAAY,EACpD,EACAgB,YAAa,WACT,OAAuB,IAAnB/vE,KAAKgvE,UACE,MACuB,IAAtBhvE,KAAKivE,cACN,QAIf,EACAe,UAAW,SAAS55D,GAChBA,EAAEjR,iBACFiR,EAAE66B,kBACFz3B,OAAOG,iBAAiB,UAAW3Z,KAAK6R,SACxC2H,OAAOG,iBAAiB,YAAa3Z,KAAKiwE,MAC1CjwE,KAAKgJ,QAAS,EACdhJ,KAAKkvE,UAAY94D,EAAE1L,OACvB,EACAulE,KAAM,SAAS75D,GACX,GAAKpW,KAAKgJ,OAAV,CAGAoN,EAAEjR,iBACFiR,EAAE66B,kBACF,IAAI3G,EAAUl0B,EAAE1L,QAAU1K,KAAKkvE,UAC/BlvE,KAAKgvE,UAAYhvE,KAAKgvE,UAAY1kC,EAC9BtqC,KAAKgvE,UAAY,IACjBhvE,KAAKgvE,UAAY,GAEjBhvE,KAAKgvE,UAAYhvE,KAAK+uE,cACtB/uE,KAAKgvE,UAAYhvE,KAAK+uE,aAE1B/uE,KAAKivE,aAAejvE,KAAK+uE,YAAc/uE,KAAKgvE,UAC5ChvE,KAAKkvE,UAAY94D,EAAE1L,OAZnB,CAaJ,EACAmH,QAAS,SAASuE,GACdA,EAAEjR,iBACFiR,EAAE66B,kBACFz3B,OAAOowB,oBAAoB,YAAa5pC,KAAKiwE,MAC7Cz2D,OAAOowB,oBAAoB,UAAW5pC,KAAK6R,SAC3C7R,KAAKgJ,QAAS,EACdhJ,KAAKkvE,UAAY94D,EAAE1L,OACvB,EACA6kE,+BAAgC,WAC5BvvE,KAAKovE,gBAAkBpvE,KAAKQ,MAAM2uE,UAAUj4B,SAChD,GAEJ7yC,SAAU,CACN6rE,iBAAkB,WACd,OAASlwE,KAAKovE,gBAAkBpvE,KAAKqvE,eAAkBjpE,KAAKC,MAAMrG,KAAK+uE,YAAY,GACrE,MACA,QAClB,EACAoB,aAAc,WACV,OAAOnwE,KAAKgvE,UAAY,IAC5B,EACAoB,gBAAiB,WACb,OAAOpwE,KAAKivE,aAAe,IAC/B,ICpID,MAAMoB,GAAoB,CAChC/xE,KAAM,oBACN4E,WAAY,CACXmpD,+BACAikB,GACAxB,kBAEDpwE,MAAO,CACN6xE,iBAAkB,CACjBxxE,QAAS,MAEVic,SAAU,CACTpc,KAAMY,OACN6X,UAAU,EACVtY,QAASA,KAAAA,CAAQkc,IAAK,KACtBjc,UAAUC,GACFA,GAASA,EAAMgc,MAIzB1c,IAAAA,GACC,MAAO,CACNglE,cAAe/hE,IAAIK,IAAI,GACvB2uE,OAAQ,GACR9jD,YAAa,KACbgI,OAAQ,KACR+7C,gBAAiB,KACjBC,sBAAuB,KACvBlN,kBAAmB,KACnBC,kBAAmB,KACnBkN,mBAAoB,CACnBp7D,UAAW,IACXzO,MAAO,mBACP+oD,OAAQ,aACRljD,YAAa3M,KAAKmY,GAAGC,EAAE,0BACvBgwC,QAAS,CACR,CAACtnD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,yBAA0B2pB,MAAO,UAAWgoB,UAAW/pD,KAAK4wE,gBAAiBjM,UAAW,EAAG3U,SAAS,GACzI,CAAClvD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,6BAA8B2pB,MAAO,cAAegoB,UAAW/pD,KAAK6wE,qBAAsBlM,UAAW,EAAG3U,SAAS,GACtJ,CAAClvD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,qBAAsB2pB,MAAO,MAAOgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GAC3H,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,qBAAsB2pB,MAAO,MAAOgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GAC3H,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,yBAA0B2pB,MAAO,OAAQgoB,UAAW/pD,KAAK+wE,cAAepM,UAAW,GACxH,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,0BAA2B2pB,MAAO,WAAYgoB,UAAW/pD,KAAK8wE,sBAAsBnM,UAAW,GACpI,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,4BAA6B2pB,MAAO,MAAOgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GAClI,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,uBAAwB2pB,MAAO,QAASgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,IAEhIpW,aAAa,GAEdyiB,yBAA0B,CAAC,CAC1B/rE,MAAO,aACPiJ,QAAS0zB,UACR5hC,KAAKwjE,sBAGP,CACCv+D,MAAO,YACPiJ,QAAS0zB,MAAOxrB,EAAGqlD,KAElB,GAAmC,YAAhCA,EAAKwV,YAAY/hB,WAA0B,CAC7C,MAAM5qB,EAAMm3B,EAAKI,WAEjB,GAAgB,kBAAbv3B,EAAI35B,KACN3K,KAAKkxE,mBAAmBzV,EAAKI,iBACvB,GAAiB,wBAAbv3B,EAAI35B,KAAgC,CAC9C,MAAMwmE,EAAgB79D,2BAA2BC,SAAW,6GAA6G+wB,EAAI8sC,mBAAmB,qBAAqB9sC,EAAI3P,iBAAiB,cAAgB2P,EAAI+sC,mBAE9P73D,OAAO4e,KAAK+4C,EAAe,SAC5B,CAED,MAAO,GAAoC,gBAAhC1V,EAAKwV,YAAY/hB,WAA8B,CACzD,MAAM5qB,EAAMm3B,EAAKI,WAEP,KAAPv3B,GAAY9qB,OAAO4e,KAAKkM,EAAK,SACjC,CACAluB,EAAE66B,qBAKN,EACAnxC,QAAS,CACRwxE,WAAWrtD,GACH,IAAItI,KAAKsI,GAAQ,IAAItI,KAAKA,KAAK+1B,OAEvCw/B,kBAAAA,CAAmBhnD,GAClBlqB,KAAKuxE,YAAYrnD,GAASvnB,KAAM4G,IAC/B,MAAMioE,EAAKxxE,KAAKywE,iBAAiB38D,QAAQ8vB,KAAK6tC,GAAgBA,EAAa98C,kBAAoBzK,EAAQyK,kBACvG68C,EAAGE,cAAgBnoE,EAAIhL,KAAK,GAAGuV,OAC/B09D,EAAGE,cAAc9qE,QAAQyuB,IACxBA,EAAOpe,KAAO,GACdoe,EAAOs8C,iBAAkB,EAGA,aAAtBt8C,EAAOE,aAA8Bv1B,KAAKsxE,WAAWj8C,EAAOpC,SAQhEu+C,EAAGI,SAAW5xE,KAAK6xE,cAAcL,GACjCA,EAAG9kD,YAAc1sB,KAAK0sB,YAEtB1sB,KAAK0wE,sBAAwBc,EAG7BxxE,KAAKQ,MAAMmvE,cAAcG,YAI3B,EACAgB,sBAAsBrV,GAGd,kKAFKA,EAAKI,WAG+D,aAEjF+U,eAAAA,CAAgBnV,GACf,MAAMn3B,EAAMm3B,EAAKI,WAEjB,MAAgB,kBAAbv3B,EAAI35B,KACC,8JAEgB,wBAAb25B,EAAI35B,KACP,gKADD,CAIR,EACAomE,cAActV,GAEL,kGADIA,EAAKI,WAEA,kEAElBgV,qBAAqBpV,GACRA,EAAKI,WAET,2JAEM,IAEfiJ,YAAAA,CAAazjE,GACZrB,KAAKwjE,kBAAoBniE,CAC1B,EACAywE,eAAAA,CAAgBC,GACf,MAAO,UAAYA,EAAOC,gBAAiB,IAAKhyE,KAAKwwE,MACtD,EACAqB,cAAcE,GACNA,EAAOE,yBAA2B,MAAQF,EAAOG,UAAYH,EAAOG,UAAY,IAAM,IAAMH,EAAOI,SAAW,IAAMJ,EAAOK,WAAaL,EAAOM,WAAa,IAAMN,EAAOM,WAAa,IAE9LjN,SAAAA,CAAU7mE,GACTyB,KAAKywE,gBAAkBlyE,EAAK,GAC5ByB,KAAKwwE,OAASjyE,EAAK,GACnByB,KAAK0sB,YAAcnuB,EAAK,GACxB,MAAMs+C,EAAIt+C,EAAK,IAAIuV,QAAQxL,IAAIgqE,KAG1BA,EAAQC,cAAgBD,EAAQE,6BAEnCF,EAAQG,gBAAkBn/D,2BAA2BC,SAAW,6GAA6G++D,EAAQlB,mBAAmB,qBAAqBkB,EAAQ39C,iBAAiB,cAAgB29C,EAAQzE,YAIxQ,CACN3jD,QAAS,CACRwC,YAAa1sB,KAAK0sB,YAClBiI,iBAAkB29C,EAAQ39C,iBAC1B08C,mBAAoBiB,EAAQzE,WAC5BuD,mBAAoBkB,EAAQlB,mBAC5BzmE,KAdS,iBAgBV+nE,YAAaJ,EAAQG,iBAAmB,KACxCnsB,IAAKgsB,EAAQ9tD,uBACbmuD,IAAKL,EAAQM,WACbC,KAAM7yE,KAAK8xE,gBAAgBQ,GAC3BV,SAAU5xE,KAAK6xE,cAAcS,GAC7Bl/C,IAAKk/C,EAAQQ,sBACbxvB,MAAOgvB,EAAQhvB,SAIjBtjD,KAAKQ,MAAMuyE,YAAYrpB,UAAUiH,WAAW3wD,KAAK2wE,mBAAmBvoB,SACpEpoD,KAAKQ,MAAMuyE,YAAYrpB,UAAUvgB,QAAQ0T,EAC1C,EACAm2B,mBAAAA,GACChzE,KAAKod,QAAQ8b,QAAQ9E,MAAMI,0BAA0Bx0B,KAAKuwE,kBAAoBvwE,KAAKgb,UAAUC,KAAO,MAClGtY,KAAK4G,IACFA,GAAKhL,MAAMyB,KAAKolE,UAAU77D,EAAIhL,OAEpC,EACAgzE,WAAAA,CAAYrnD,GACX,OAAO,IAAI9oB,QAASC,IACnBrB,KAAKod,QAAQ8b,QAAQ9E,MAAMK,yBAAyBvK,GAClDvnB,KAAK4G,IACLlI,EAAQkI,MAGZ,EACAw8D,iBAAAA,CAAkBvY,GACjBxtD,KAAKujE,cAAgB/V,CACtB,EACAylB,kBAAAA,GACC,MAAM1M,EAAUvmE,KAAKujE,cAAiB,IAAMvjE,KAAKujE,cAAiB,GAC5DiD,EAAenkE,SAASyP,eAAe,qBAAuBy0D,GACpE,IAAIC,EAAc,OAClB,MAAMj2D,EAAOi2D,EAAa33D,wBAE1B7O,KAAK2wE,mBAAmBxhE,OAASqK,OAAOitD,eAAet3D,OAASoB,EAAKZ,IACrE3P,KAAKQ,MAAMuyE,YAAYrpB,UAAUwpB,UAAUlzE,KAAK2wE,mBAAmBxhE,OACpE,EACA,kBAAMm3D,GACLtmE,KAAKyjE,kBAAoB,IAAIriE,QAAQpB,KAAK8kE,oBACpC9kE,KAAKyjE,kBAEXzjE,KAAKgzE,sBAELhzE,KAAKQ,MAAMmvE,cAAcE,gBAE1B,GAED7hE,MAAO,CAAA,EAGP3J,SAAU,CACT8uE,UAAAA,GACC,OAAOnzE,KAAK0sB,cAAgB1sB,KAAKgb,SAASC,GAC3C,GAEDnE,OAAAA,GAEA,EACAvW,OAAAA,GACCP,KAAKsmE,cACN,EACAtjE,SAAU,orBC1OLwpE,GAAQ,IAAI7wD,KACLy3D,GAA0B,CACtC90E,KAAM,0BACN4E,WAAY,CACX7E,UACA8kE,YAAahiE,SAASiiE,YACtBsJ,SAAUvrE,SAASwrE,SACnBC,SAAUzrE,SAAS0rE,SACnBC,SAAU3rE,SAAS4rE,SACnBx/B,cAAAA,GAED7uC,MAAO,CACNsuE,cAAe,CACdpuE,KAAMY,OACNT,QAAS,OAGXR,KAAIA,KACI,CACN80E,qBAAsB,gEACtBnG,eAAe,EACfC,gBAAiB,KACjBC,mBAAoB95D,2BAA2BqwB,iBAE/C2vC,eAAgB,CACf,CACCh+C,mBAAoB,WACpBC,YAAa,WAEd,CACCD,mBAAoB,WACpBC,YAAa,kBAEd,CACCD,mBAAoB,OACpBC,YAAa,YAEd,CACCD,mBAAoB,MACpBC,YAAa,aAEd,CACCD,mBAAoB,OACpBC,YAAa,+BAKjBz1B,QAAS,CACRyzE,oBAAAA,CAAqBl+C,GAErB,EACAm+C,UAAAA,CAAWn+C,GACV,MAAML,EAAcK,EAAOL,YAC3Bh1B,KAAKod,QAAQ8b,QAAQ9E,MAAMgB,wBAAwBC,GAAQ1yB,KAAO4G,IACzC,WAArBA,GAAKowB,MAAMpQ,QACbvpB,KAAK+6B,UAAUiE,aAAah/B,KAAKmY,GAAGC,EAAE,oBAEnB,IAAhB4c,IACFK,EAAOL,YAAczrB,GAAKhL,MAAMuV,OAEhC9T,KAAKgtE,cAAc0E,cAAcprE,KAAK,CAErC0uB,aAAe,EACfL,iBAAoB30B,KAAKgtE,cAAcr4C,iBACvCa,WAAa,EACbE,OAAU,GACVzC,OAAS,IAAItX,MAAOmqD,cAAczhC,MAAM,KAAK,GAC7C/O,mBAAsB,GACtBC,YAAe,GACfk5C,YAAe,KACfh5C,UAAaz1B,KAAKgb,UAAUC,KAAO,GACnCw4D,eAAiB,EACjBC,iBAAmB,MAKS,SAArBnqE,GAAKowB,MAAMpQ,QACpBvpB,KAAK+6B,UAAUI,cAIlB,EACAw4C,YAAAA,CAAat+C,GACZr1B,KAAKod,QAAQ8b,QAAQ9E,MAAMuB,0BAA0BN,EAAOL,aAAaryB,KAAO4G,IAC/E,GAAwB,WAArBA,GAAKowB,MAAMpQ,OAAqB,CAClCvpB,KAAK+6B,UAAUiE,aAAah/B,KAAKmY,GAAGC,EAAE,oBAAqB,CAACpY,KAAKmY,GAAGC,EAAE,wBAEtE,MAAMw7D,EAAqB5zE,KAAKgtE,cAAc0E,cAAc3lC,UAAU3zB,GAAKA,EAAE4c,cAAgBK,EAAOL,aACpGh1B,KAAKgtE,cAAc0E,cAAcx1D,OAAO03D,EAAoB,EAG7D,KAA+B,SAArBrqE,GAAKowB,MAAMpQ,QACpBvpB,KAAK+6B,UAAUI,cAGlB,EACAwyC,SAAU,SAASt4C,GAClB,QAAIA,EAAOpe,KAAK9Q,SACfnG,KAAK+6B,UAAUsE,aAAar/B,KAAKmY,GAAGC,EAAE,8BAC/B,EAIT,EACA41D,cAAAA,CAAe34C,GACdr1B,KAAKod,QAAQ8b,QAAQ9E,MAAMW,kCAAkCM,EAAOL,YAAah1B,KAAKgtE,cAActgD,YACrG,EACA4hD,eAAcA,CAACr7C,EAAOu5C,IAEdpmE,KAAKmoE,OAAO,IAAI5yD,KAAKsX,GAAS,IAAItX,KAAK6wD,IAD7B,OAGlBgC,YAAAA,CAAan5C,GACZ,MAAMpC,EAAQ,IAAItX,KAAK0Z,EAAOpC,OACxBw7C,EAAc,IAAI9yD,KAAK0Z,EAAOo5C,aAIpC,IAAI3nC,EAAQ,QACR+sC,EAAY,QAehB,OAd2B,OAAvBx+C,EAAOo5C,YACPx7C,EAAQu5C,IACV1lC,EAAQ,MACR+sC,EAAY,SACF5gD,EAAQu5C,IAASxsE,KAAKsuE,eAAer7C,EAAOu5C,KAAU,KAChE1lC,EAAQ,UAEA2nC,EAAcx7C,GACvB6T,EAAQ,OACR+sC,EAAY,SAEZ/sC,EAAQ,QAGF,eAAe+sC,yBAAiC/sC,wBACxD,EACA4nC,mBAAAA,CAAoBpuB,GACnB9mC,OAAO4e,KAAKkoB,EAAM,SACnB,EACAwzB,sBAAsB9hB,GACdA,EAAOr+B,QAEfogD,wBAAwB/hB,GAChBA,EAAOz8B,YAEf04C,UAAAA,CAAWC,GACV,MAAMjqD,EAAO,IAAItI,KAAKuyD,GAEhBC,EAAWC,GAAQtvE,OAAOsvE,GAAKvhE,SAAS,EAAG,KAE3C+gC,EAAQugC,EAAQlqD,EAAKkiD,WAAa,GAIxC,MAAO,GAHKgI,EAAQlqD,EAAKiiD,cAGRt4B,KAFJ3pB,EAAKmiD,eAGnB,EACA4N,eAAAA,GACC,MAAM1zB,EAAOhtC,2BAA2BC,SAAWD,2BAA2BE,UAC3E,2BAA6BxT,KAAKgtE,eAAetgD,YACpDlT,OAAO4e,KAAKkoB,EAAM,SACnB,EACA2zB,gBAAAA,GAGCz6D,OAAO4e,KADM,uFACK,SACnB,EACA87C,YAAAA,GACC,MAAM7/D,EAAiD,oBAA1CrU,KAAKgtE,eAAeoE,mBAA2C,4CAA8C,2CACpH9wB,EAAOhtC,2BAA2BC,SAAW,8DAAgEc,EACnHmF,OAAO4e,KAAKkoB,EAAM,SACnB,GAEDj8C,SAAU,CACTuqE,MAAAA,GACC,OAAO5uE,KAAKmY,GAAGC,EAAE,yCAClB,EACAy2D,mBAAAA,GACC,OAAQ7uE,KAAKktE,aACd,EACAiH,mBAAAA,GACC,OAAOn0E,KAAKgtE,eAAeoH,YAAa,CACzC,EACAC,kBAAAA,GACC,OAAOr0E,KAAKgtE,eAAe0E,cAAc9tC,KAAKmuC,GAAwC,QAA9BA,EAAOz8C,oBAAuD,OAAvBy8C,EAAOtD,YACvG,GAGD33D,OAAAA,GAEA,EACAvW,OAAAA,GAEA,EACAyC,SAAU,sjKC/LEsxE,GAAwB,CACpCh2E,KAAM,wBACN4E,WAAY,CACX7E,UACAguD,+BACAikB,GACAxB,iBACAlC,SAAUzrE,SAAS0rE,SACnBC,SAAU3rE,SAAS4rE,SACnBx/B,cAAAA,GAED7uC,MAAO,CACNsc,SAAU,CACTpc,KAAMY,OACN6X,UAAU,EACVtY,QAASA,KAAAA,CAAQT,KAAM,GAAI2c,IAAK,KAChCjc,UAAUC,GACFA,GAASA,EAAMX,MAAQW,EAAMgc,MAIvC1c,IAAAA,GACC,MAAO,CACNg2E,QAAQ,EACR14D,SAAS,EAETy3D,eAAgB,CACf,CACCh+C,mBAAoB,WACpBC,YAAa,WAEd,CACCD,mBAAoB,WACpBC,YAAa,kBAEd,CACCD,mBAAoB,OACpBC,YAAa,YAEd,CACCD,mBAAoB,MACpBC,YAAa,aAEd,CACCD,mBAAoB,OACpBC,YAAa,6BAGfi/C,aAAchzE,IAAI+hC,SAAS,CAC1BtQ,MAAO,IAAItX,KACX4Z,YAAa,CACZD,mBAAoB,WACpBC,YAAa,kBAEdG,OAAQ,KAET++C,SAAS,EACTlR,cAAe/hE,IAAIK,IAAI,GACvBysD,aAAc,GACdkiB,OAAQ,GACR9jD,YAAa,KACbgI,OAAQ,KACRggD,aAAc,EACdjE,gBAAiB,KACjBC,sBAAuB,KACvBlN,kBAAmB,KACnBC,kBAAmB,KACnBkN,mBAAoB,CACnBxhE,OAAQ,IACRrI,MAAO,mBACP+oD,OAAQ,iBACRljD,YAAa3M,KAAKmY,GAAGC,EAAE,0BACvB63C,YAAY,EACZ0kB,gBAAiB30E,KAAK40E,eACtBxsB,QAAS,CACR,CACC2B,UAAW,eACX8qB,eAAgB,eAChBC,qBAAsB,CACrBC,SAAU,UAEXC,SAAS,SACT5X,YAAY,EACZrR,QAAQ,EACRz8C,MAAO,IAER,CAACxO,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,yBAA0B2pB,MAAO,UAAWgoB,UAAW/pD,KAAK4wE,gBAAiBjM,UAAW,EAAG3U,SAAS,GACzI,CAAClvD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,qCAAsC2pB,MAAO,MAAOgoB,UAAW/pD,KAAKi1E,iBAAkBtQ,UAAW,EAAG3U,SAAS,GAClJ,CAAClvD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,yBAA2B2pB,MAAO,OAAQgoB,UAAW/pD,KAAK+wE,cAAepM,UAAW,EAAG3U,SAAS,GACrI,CAAClvD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,yBAA0B2pB,MAAO,UAAWgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GACnI,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,0BAA2B2pB,MAAO,WAAYgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GACrI,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,4BAA6B2pB,MAAO,oBAAqBgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GAChJ,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,qBAAsB2pB,MAAO,MAAOgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GAC3H,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,qBAAsB2pB,MAAO,yBAA0BgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GAC9I,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,uBAAwB2pB,MAAO,QAASgoB,UAAW/pD,KAAK8wE,sBAAuB37D,SAAU,IAAKwvD,UAAW,GAC9I,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,6BAA8B2pB,MAAO,2BAA2BgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,IAExJpW,aAAa,GAEdyiB,yBAA0B,CAAC,CAC1B/rE,MAAO,aACPiJ,QAAS0zB,UACR5hC,KAAKwjE,sBAGP,CACCv+D,MAAO,YACPiJ,QAAS0zB,MAAOxrB,EAAGqlD,KACiB,YAAhCA,EAAKwV,YAAY/hB,YACnBlvD,KAAKkxE,mBAAmBzV,EAAKI,YAC7B77D,KAAKk1E,cAAczZ,IACuB,SAAhCA,EAAKwV,YAAY/hB,YAC3BlvD,KAAKk1E,cAAczZ,KAItB,CACCx2D,MAAO,sBACPiJ,QAAS0zB,UACR5hC,KAAKsuD,aAAe/vD,KAIxB,EACAuB,QAAS,CACRi0E,wBAAwB/hB,GAChBA,EAAOz8B,YAEf04C,UAAAA,CAAWC,GACV,MAAMjqD,EAAO,IAAItI,KAAKuyD,GAEhBC,EAAWC,GAAQtvE,OAAOsvE,GAAKvhE,SAAS,EAAG,KAE3C+gC,EAAQugC,EAAQlqD,EAAKkiD,WAAa,GAIxC,MAAO,GAHKgI,EAAQlqD,EAAKiiD,cAGRt4B,KAFJ3pB,EAAKmiD,eAGnB,EACA8O,aAAAA,CAAczZ,GAIb,MAAM13B,EAAM03B,EAAK0Z,SACdpxC,EAAIqxC,cACNrxC,EAAIsxC,UAEN,EACAT,cAAAA,CAAe7wC,GACd,MAAMxlC,EAAOwlC,EAAIzG,UACjB,MAA+B,oBAA5B/+B,GAAM6yE,kBAEV,EACAkE,aAAAA,GACC,MAAMh1B,EAAOhtC,2BAA2BC,SAAWD,2BAA2BE,UAC3E,4BACHgG,OAAO4e,KAAKkoB,EAAM,SACnB,EACAi1B,aAAAA,CAAcC,GACbx1E,KAAKy0E,QAAUe,EACfx1E,KAAK6b,SAAU,EACf7b,KAAKgzE,oBAAoBwC,EAAS,KACjCx1E,KAAKQ,MAAMuyE,aAAarpB,UAAU+rB,QAAO,GACzCz1E,KAAKQ,MAAMuyE,aAAarpB,UAAUgsB,QAAQ,IAC1C11E,KAAK6b,SAAU,GAEjB,EACA85D,kBAAAA,GACC31E,KAAKQ,MAAMo1E,wBAAwBz1E,MACpC,EACA01E,SAAAA,GACC71E,KAAKu0E,QAAS,EACdv0E,KAAKod,QAAQ8b,QAAQ9E,MAAMwB,iBAC1B51B,KAAKw0E,aAAavhD,MAAM6yC,cACxB9lE,KAAKw0E,aAAaj/C,YAAYD,mBAC9Bt1B,KAAKw0E,aAAaj/C,YAAYA,YAC9Bv1B,KAAKw0E,aAAa9+C,OAClB11B,KAAKsuD,cAAchmD,IAAIgqE,GAAWA,EAAQ39C,mBACzChyB,KAAK4G,IACkB,YAApBA,EAAIowB,KAAKpQ,QAAwBhgB,EAAIhL,MACxCyB,KAAK+6B,UAAUiE,aAAah/B,KAAKmY,GAAGC,EAAE,uCAEtCpY,KAAK+6B,UAAUqE,UAAUp/B,KAAKmY,GAAGC,EAAE,uCAAwC,CAACpY,KAAK81E,iBAAiBvsE,EAAIhL,UAEtGyB,KAAK+6B,UAAUI,WAAWn7B,KAAKmY,GAAGC,EAAE,4CAEnC0vC,QAAQ,KACV9nD,KAAKu0E,QAAS,IAGfv0E,KAAKQ,MAAMo1E,wBAAwB11E,MACpC,EACA41E,gBAAAA,CAAiBv3E,GAChB,IAAIw3E,EAAM,GAOV,OALAx3E,EAAKqI,QAAQtI,IACZy3E,GAAOz3E,EACPy3E,GAAO,OAGDA,CACR,EACAzE,WAAWrtD,GACH,IAAItI,KAAKsI,GAAQ,IAAItI,KAAKA,KAAK+1B,OAEvCw/B,kBAAAA,CAAmBhnD,GAClBlqB,KAAKuxE,YAAYrnD,GAASvnB,KAAM4G,IAC/B,MAAMioE,EAAKxxE,KAAKywE,iBAAiB38D,QAAQ8vB,KAAK6tC,GAAgBA,EAAa98C,kBAAoBzK,EAAQyK,kBACvG68C,EAAGE,cAAgBnoE,EAAIhL,KAAK,GAAGuV,OAC/B09D,EAAG4C,UAAY7qE,EAAIhL,KAAK,GACxBizE,EAAGE,cAAcprE,KAAK,CAErB0uB,aAAe,EACfL,iBAAoB68C,EAAG78C,iBACvBa,WAAa,EACbE,OAAU,GACVzC,OAAS,IAAItX,MAAOmqD,cAAczhC,MAAM,KAAK,GAC7C/O,mBAAsB,GACtBC,YAAe,GACfk5C,YAAe,KACfh5C,UAAaz1B,KAAKgb,UAAUC,KAAO,KAGpCu2D,EAAGE,cAAc9qE,QAAQyuB,IACxBA,EAAOpe,KAAO,GACdoe,EAAOo+C,cAAgBp+C,EAAOI,WAAaz1B,KAAKgb,UAAUC,KAAgC,oBAAzBu2D,EAAGJ,mBACpE/7C,EAAOq+C,gBAAkBr+C,EAAOo+C,gBAAkBp+C,EAAOo5C,YAEzDp5C,EAAOE,YAAc,CACpBA,YAAaF,EAAOE,YACpBD,mBAAoBD,EAAOC,sBAG7Bk8C,EAAGI,SAAW5xE,KAAK6xE,cAAcL,GACjCA,EAAG9kD,YAAcxC,EAAQwC,YACzB8kD,EAAGpqC,QAAU,GAAGoqC,EAAGnwB,WAAWmwB,EAAGlwB,WAEjCthD,KAAK0wE,sBAAwBc,EAG7BxxE,KAAKQ,MAAMmvE,cAAcG,YAI3B,EACAgB,qBAAAA,CAAsBrV,GACrB,MAAMn3B,EAAMm3B,EAAKI,WACjB,GAAIv3B,EAEJ,MAAO,2OAC8IA,EAAI,YAC1J,EACAssC,gBAAgBnV,GACR,8JAGRsV,cAActV,GAEN,kGADKA,EAAKI,WAED,kEAEjBgV,qBAAqBpV,GACRA,EAAKI,WAET,2JAEM,IAEfoZ,iBAAiBxZ,GAGT,kKAFKA,EAAKI,WAG+D,aAEjFiJ,YAAAA,CAAazjE,GACZrB,KAAKwjE,kBAAoBniE,CAC1B,EACAywE,eAAAA,CAAgBC,GACf,MAAO,UAAYA,EAAO92D,IAAK,IAAKjb,KAAKwwE,MAC1C,EACAwF,SAAS1D,GACD,GAAGA,EAAQr3D,SAASq3D,EAAQ2D,aAEpCC,SAAS5D,IACAA,EAAQl/C,IAAMk/C,EAAQ58C,SAAS4K,cAExCuxC,cAAcE,GAENA,EAAOE,yBAA2B,MAAQF,EAAOG,UAAYH,EAAOG,UAAY,IAAM,IAAMH,EAAOI,SAAW,IAAMJ,EAAOK,WAAaL,EAAOM,WAAa,IAAMN,EAAOM,WAAa,IAE9LjN,SAAAA,CAAU7mE,GACTyB,KAAKywE,gBAAkBlyE,EAAK,GAC5ByB,KAAKwwE,OAASjyE,EAAK,GAEnB,MAAMs+C,EAAIt+C,EAAK,IAAIuV,QAAQxL,IAAIgqE,IAGvB,IACHA,EACHpoD,QAAS,CACRwC,YAAa4lD,EAAQr3D,IACrB0Z,iBAAkB29C,EAAQ39C,kBAE3BwhD,IAAKn2E,KAAKg2E,SAAS1D,GACnBI,YAAaJ,EAAQG,iBAAmB,KACxCnsB,IAAKgsB,EAAQ9tD,uBACbmuD,IAAK3yE,KAAKk2E,SAAS5D,GACnBO,KAAM7yE,KAAK8xE,gBAAgBQ,GAC3Bl/C,IAAKk/C,EAAQ8D,kBACb9yB,MAAOgvB,EAAQhvB,SAIjBtjD,KAAKQ,MAAMuyE,YAAYrpB,UAAUiH,WAAW3wD,KAAK2wE,mBAAmBvoB,SACpEpoD,KAAKQ,MAAMuyE,YAAYrpB,UAAUvgB,QAAQ0T,EAC1C,EACAm2B,mBAAAA,CAAoB79C,GAAM,EAAOkhD,GAChCr2E,KAAKod,QAAQ8b,QAAQ9E,MAAMc,8BAA8Bl1B,KAAKgb,UAAUC,KAAO,KAAMka,GACnFxyB,KAAK4G,IACFA,GAAKhL,MAAMyB,KAAKolE,UAAU77D,EAAIhL,QAC/BupD,QAAQ,KACPuuB,GACFA,KAGJ,EACA9E,WAAAA,CAAYrnD,GACX,OAAO,IAAI9oB,QAASC,IACnBrB,KAAKod,QAAQ8b,QAAQ9E,MAAMK,yBAAyBvK,GAClDvnB,KAAK4G,IACLlI,EAAQkI,MAGZ,EACAw8D,iBAAAA,CAAkBvY,GACjBxtD,KAAKujE,cAAgB/V,CACtB,EACAylB,kBAAAA,GACC,MAAM1M,EAAUvmE,KAAKujE,cAAiB,IAAMvjE,KAAKujE,cAAiB,GAC5DiD,EAAenkE,SAASyP,eAAe,qBAAuBy0D,GACpE,IAAIC,EAAc,OAClB,MAAMj2D,EAAOi2D,EAAa33D,wBAE1B7O,KAAK2wE,mBAAmBxhE,OAASqK,OAAOitD,eAAet3D,OAASoB,EAAKZ,IACrE3P,KAAKQ,MAAMuyE,YAAYrpB,UAAUwpB,UAAUlzE,KAAK2wE,mBAAmBxhE,OACpE,EACA,kBAAMm3D,GACLtmE,KAAKyjE,kBAAoB,IAAIriE,QAAQpB,KAAK8kE,oBACpC9kE,KAAKyjE,kBAEXzjE,KAAKgzE,sBAGLhzE,KAAKQ,MAAMmvE,cAAcE,iBACzB7vE,KAAKizE,oBAEN,GAEDjlE,MAAO,CAAA,EAGP3J,SAAU,CAAA,EAGVyS,OAAAA,GAEA,EACAvW,OAAAA,GACCP,KAAKsmE,cACN,EACAtjE,SAAU,22HCtXEszE,GAAmB,CAC/Bh4E,KAAM,mBACN4E,WAAY,CACXmpD,mBAED3tD,MAAO,CACN63E,gBAAiB,CAChBx3E,QAAS,MAEVic,SAAU,CACTpc,KAAMY,OACN6X,UAAU,EACVtY,QAASA,KAAAA,CAAQT,KAAM,GAAI2c,IAAK,KAChCjc,UAAUC,GACFA,GAASA,EAAMX,MAAQW,EAAMgc,MAIvC1c,IAAAA,GACC,MAAO,CACNi4E,SAAU,KACVC,UAAW,KACXlT,cAAe/hE,IAAIK,IAAI,GACvB2hE,kBAAmB,KACnBC,kBAAmB,KACnBiT,qBAAsB,CACrBvnE,OAAQ,IACRrI,MAAO,mBACP+oD,OAAQ,aACRljD,YAAa3M,KAAKmY,GAAGC,EAAE,0BACvBgwC,QAAS,CACR,CAACtnD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,2BAA4B2pB,MAAO,QAASgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,EAAG3U,SAAS,GAC/I,CAAClvD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,2BAA4B2pB,MAAO,kBAAmBgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,EAAG3U,SAAS,GACzJ,CAAClvD,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,2BAA4B2pB,MAAO,kBAAmBgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GAC7I,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,8BAA+B2pB,MAAO,SAAUgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GACvI,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,qBAAsB2pB,MAAO,UAAWgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,GAC/H,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,qBAAsB2pB,MAAO,MAAOgoB,UAAW/pD,KAAK8wE,sBAAsBnM,UAAW,GAC1H,CAAC7jE,MAAOU,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGC,EAAE,qBAAsB2pB,MAAO,WAAYgoB,UAAW/pD,KAAK8wE,sBAAuBnM,UAAW,IAEjIpW,aAAa,GAEdooB,2BAA4B,CAAC,CAC5B1xE,MAAO,aACPiJ,QAAS0zB,UACR5hC,KAAKwjE,sBAGN,CACCv+D,MAAO,YACPiJ,QAAS0zB,MAAOxrB,EAAGqlD,KAElB,GAAmC,YAAhCA,EAAKwV,YAAY/hB,WAA0B,CAC7C,MAAM5qB,EAAMm3B,EAAKI,WAEjB,GAAgB,kBAAbv3B,EAAI35B,KACN3K,KAAKkxE,mBAAmBzV,EAAKI,iBACvB,GAAiB,wBAAbv3B,EAAI35B,KAAgC,CAC9C,MAAMwmE,EAAgB79D,2BAA2BC,SAAW,6GAA6G+wB,EAAI8sC,mBAAmB,qBAAqB9sC,EAAI3P,iBAAiB,cAAgB2P,EAAI+sC,mBAE9P73D,OAAO4e,KAAK+4C,EAAe,SAC5B,CAED,MAAO,GAAoC,gBAAhC1V,EAAKwV,YAAY/hB,WAA8B,CACzD,MAAM5qB,EAAMm3B,EAAKI,WAEP,KAAPv3B,GAAY9qB,OAAO4e,KAAKkM,EAAK,SACjC,CACAluB,EAAE66B,qBAKP,EACAnxC,QAAS,CACRgxE,sBAAsBrV,GAGd,kKAFKA,EAAKI,WAG+D,aAEjFiJ,YAAAA,CAAazjE,GACZrB,KAAKwjE,kBAAoBniE,CAC1B,EACAu1E,aAAAA,GACC52E,KAAKod,QAAQ8b,QAAQ9E,MAAM0B,eAAe91B,KAAKu2E,iBAAoB,MACjE5zE,KAAK4G,IACFA,GAAKhL,MAAMyB,KAAKolE,UAAU77D,EAAIhL,OAEpC,EACA6mE,SAAAA,CAAU7mE,GACTyB,KAAKy2E,UAAYl4E,EAEjByB,KAAKy2E,UAAU7vE,QAAQiwE,IACtBA,EAAGzvC,SAAWyvC,EAAGC,cAAiBD,EAAGC,cAAgB,IAAM,IAAMD,EAAGE,aAAe,IAAMF,EAAGG,eAAiBH,EAAGI,eAAkB,IAAMJ,EAAGI,eAAiB,IAC5JJ,EAAGK,gBAAkBL,EAAGrhD,UAAYx1B,KAAKmY,GAAGC,EAAE,oBAAsBpY,KAAKmY,GAAGC,EAAE,qBAG/EpY,KAAKQ,MAAM22E,cAAcztB,UAAUiH,WAAW3wD,KAAK02E,qBAAqBtuB,SACxEpoD,KAAKQ,MAAM22E,cAAcztB,UAAUvgB,QAAQnpC,KAAKy2E,UACjD,EACA1Q,iBAAAA,CAAkBvY,GACjBxtD,KAAKujE,cAAgB/V,CACtB,EACAylB,kBAAAA,GACC,MAAM1M,EAAUvmE,KAAKujE,cAAiB,IAAMvjE,KAAKujE,cAAiB,GAC5DiD,EAAenkE,SAASyP,eAAe,qBAAuBy0D,GACpE,IAAIC,EAAc,OAClB,MAAMj2D,EAAOi2D,EAAa33D,wBAE1B7O,KAAK02E,qBAAqBvnE,OAASqK,OAAOitD,eAAet3D,OAASoB,EAAKZ,IACvE3P,KAAKQ,MAAM22E,cAAcztB,UAAUwpB,UAAUlzE,KAAK02E,qBAAqBvnE,OACxE,EACA,kBAAMm3D,GACLtmE,KAAKyjE,kBAAoB,IAAIriE,QAAQpB,KAAK8kE,oBACpC9kE,KAAKyjE,kBAEXzjE,KAAK42E,gBACL52E,KAAKizE,oBACN,GAEDjlE,MAAO,CAAA,EAGP3J,SAAU,CAAA,EAGVyS,OAAAA,GAEA,EACAvW,OAAAA,GACCP,KAAKsmE,cACN,EACAtjE,SAAU,2YCnIX,IAAAo0E,GAAe,CACd74E,KAAIA,KACI,CACN84E,gBAAiB,GACjBC,wBAAyB,KACzBxxB,cAAc,GACdyxB,oBAAoB,KACpBC,eAAgB,GAChBC,uBAAwB,KACxB7sD,SAAS,GACT8sD,iBAAiB,KACjB9xB,oBAAqB,GACrB+xB,0BAA2B,KAC3Bl/C,KAAK,OAGP7gB,OAAAA,GACC,MAAO,CACNggE,oBAAsBp2E,IAAI6C,SAAS,IAAKrE,KAAKu3E,qBAC7C3zB,wBAAyBpiD,IAAI6C,SAAS,IAAMrE,KAAKs3E,yBACjDO,iBAAkBr2E,IAAI6C,SAAS,IAAMrE,KAAK03E,kBAC1CI,uBAAwBt2E,IAAI6C,SAAS,IAAMrE,KAAKy3E,wBAGlD,EACAv0E,WAAY,CACXmgD,iBAEDr1C,MAAM,CACLspE,wBAAyB,SAAS5X,EAAQsD,GACzC,GAAGtD,GAAUA,GAAUsD,EAAO,CAC7B,MAAMvjD,EAAiBzf,KAAK+3E,wBAAwB,kBAChDrY,KAAYjgD,GAAoBA,GAAmBA,GAAmBigD,IACzE1/D,KAAKg4E,wBAAwB,iBAAkBtY,EAEjD,CACD,EACAgY,iBAAkB,SAAUhY,EAAQsD,GACnC,GAAItD,GAAUA,GAAUsD,EAAQ,CAC/B,MAAMp4C,EAAW5qB,KAAK+3E,wBAAwB,cACzCntD,GAAaA,GAAYA,GAAY80C,IACzC1/D,KAAKg4E,wBAAwB,WAAYtY,EAE3C,CACD,EACA6X,oBAAqB,SAAU7X,EAAQsD,GACtC,GAAItD,GAAUA,GAAUsD,EAAQ,CAC/B,MAAMzrC,EAAcv3B,KAAK+3E,wBAAwB,iBAC5CxgD,GAAgBA,GAAeA,GAAemoC,IAClD1/D,KAAKg4E,wBAAwB,cAAehkE,KAAK0mB,UAAUglC,GAE7D,CACD,EACA+X,uBAAwB,SAAU/X,EAAQsD,GACzC,GAAItD,GAAUA,GAAUsD,EAAQ,CAC/B,MAAMiV,EAAiBj4E,KAAK+3E,wBAAwB,oBAC/CE,GAAmBA,GAAkBA,GAAkBvY,IAC3D1/D,KAAKg4E,wBAAwB,iBAAkBhkE,KAAK0mB,UAAUglC,GAEhE,CACD,GAED5/D,QAAQ,CACPo4E,qBAAAA,CAAsBj5E,GACrB,IAAIwgB,EAAkBzf,KAAKQ,MAAMif,gBACjCA,EAAgBknC,eAAiBlnC,EAAgBknC,cAAgB1nD,EAAQwgB,EAAgB5e,QAAQsF,QAAUsZ,EAAgB5e,QAAQsF,OACnInG,KAAKm4E,8BAA8B14D,EAAgBxgB,MACpD,EACAm5E,iBAAAA,CAAkBn5E,GACjB,IAAIs4B,EAAcv3B,KAAKQ,MAAMslD,cAC7BvuB,EAAYovB,eAAiBpvB,EAAYovB,cAAgB1nD,EAAQs4B,EAAY12B,QAAQsF,QAAUoxB,EAAY12B,QAAQsF,OACnHnG,KAAKq4E,0BAA0B9gD,EAAYt4B,MAC5C,EACAq5E,cAAAA,CAAer5E,GACd,IAAI2rB,EAAW5qB,KAAKQ,MAAMoqB,SAC1BA,EAAS+7B,eAAiB/7B,EAAS+7B,cAAgB1nD,EAAQ2rB,EAAS/pB,QAAQsF,QAAUykB,EAAS/pB,QAAQsF,OACvGnG,KAAKu4E,uBAAuB3tD,EAAS3rB,MACtC,EACAu5E,oBAAAA,CAAqBv5E,GACpB,IAAIg5E,EAAiBj4E,KAAKQ,MAAMy3E,eAC5BQ,GAAkBR,EAAetxB,cAAgB1nD,EAAQg5E,EAAep3E,QAAQsF,QAAU8xE,EAAep3E,QAAQsF,OAClH8xE,EAAep3E,QAAQ43E,GAAgBxkB,WACzCwkB,GAAkBA,EAAiBx5E,EAAQg5E,EAAep3E,QAAQsF,QAAU8xE,EAAep3E,QAAQsF,QAEpG8xE,EAAetxB,cAAgB8xB,EAC/Bz4E,KAAK04E,0BAA0BT,EAAeh5E,MAC/C,EAEA+4E,uBAAAA,CAAwB19D,EAAIrb,GAC3BsmC,aAAaC,QAAQlrB,EAAKrb,EAC3B,EACA84E,wBAAwBz9D,GACTirB,aAAaI,QAAQrrB,GAGpC69D,6BAAAA,CAA8B3zD,GAC7BxkB,KAAKod,QAAQ8b,QAAQ7B,QAAQC,sBAAsB9S,EAAwBxkB,KAAKu3E,oBAAqBv3E,KAAK03E,iBAAkB13E,KAAKy3E,wBAC/H90E,KAAKpE,GAAQA,EAAKA,MAClBoE,KAAK4G,IACLvJ,KAAK24E,sBAAsBpvE,IAE9B,EACA8uE,yBAAAA,CAA0BpzD,GACzBjlB,KAAKod,QAAQ8b,QAAQ7B,QAAQC,sBAAsBt3B,KAAKs3E,wBAAyBryD,EAAgBjlB,KAAK03E,iBAAkB13E,KAAKy3E,wBAC3H90E,KAAKpE,GAAQA,EAAKA,MAClBoE,KAAK4G,IACLvJ,KAAK24E,sBAAsBpvE,IAE9B,EACAgvE,sBAAAA,CAAuB3tD,GACtB5qB,KAAKod,QAAQ8b,QAAQ7B,QAAQC,sBAAsBt3B,KAAKs3E,wBAAyBt3E,KAAKu3E,oBAAqB3sD,EAAU5qB,KAAKy3E,wBACxH90E,KAAKpE,GAAQA,EAAKA,MAClBoE,KAAK4G,IACLvJ,KAAK24E,sBAAsBpvE,IAE9B,EACAmvE,yBAAAA,CAA0BE,GACzB54E,KAAKod,QAAQ8b,QAAQ7B,QAAQC,sBAAsBt3B,KAAKs3E,wBAAyBt3E,KAAKu3E,oBAAqBv3E,KAAK03E,iBAAkBkB,GAChIj2E,KAAKpE,GAAQA,EAAKA,MAClBoE,KAAK4G,IACLvJ,KAAK24E,sBAAsBpvE,IAE9B,EACAsvE,gBAAAA,CAAiBC,GAChB94E,KAAK23E,0BAA4BmB,EAEjC94E,KAAK23E,0BAA0B/4E,KAAM,cACrCoB,KAAK23E,0BAA0B5zD,eAAiB/jB,KAAK23E,0BAA0BlrD,qBAC5EzsB,KAAK23E,2BACPn2E,IAAI2jD,SAAS,KACZnlD,KAAKQ,MAAM4kD,aAAajlD,QAI3B,EACA44E,mBAAAA,CAAoB1B,GACnB,IAAIpM,EAAQ,IAAIxkC,OAAO,sBACvB4wC,EAAgBjwE,KAAK,CAAC4xE,EAAKC,KAC1B,IAAKC,EAAWC,EAAcC,GAAYJ,EAAKx0D,uBAAuB+f,MAAM0mC,IACvEoO,EAAWC,EAAcC,GAAYN,EAAKz0D,uBAAuB+f,MAAM0mC,GAC5E,OAAGmO,GAAYG,EACPJ,EAAeG,GAAc,EAAG,EAEjCF,EAAWG,GAAU,EAAG,GAEjC,EACAC,OAAAA,CAAQl1C,GAEPrP,SAASw6B,KAAOnrB,CACjB,EACAq0C,qBAAAA,CAAsBpvE,GACrB,IAAI8tE,gBAAEA,EAAe9/C,YAAEA,EAAW3M,SAAEA,EAAQ4M,YAAEA,EAAWouB,oBAAEA,GAAwBr8C,EACnFvJ,KAAK+4E,oBAAoB1B,EAAgBliD,KACzCn1B,KAAKq3E,gBAAkBA,EAAgBliD,IACvCn1B,KAAKs3E,wBAA0BD,EAAgBoC,YAAYj1D,uBAE3DxkB,KAAK8lD,cAAgBvuB,EAAYpC,IACjCn1B,KAAKu3E,oBAAsBhgD,EAAYkiD,aAAax0D,eAEpDjlB,KAAK4qB,SAAWA,EAASuK,IACzBn1B,KAAK03E,iBAAmB9sD,GAAU6uD,YAElCz5E,KAAKw3E,eAAiBhgD,EAAYrC,IAClCn1B,KAAKy3E,uBAAyBjgD,EAAYiiD,aAAab,eAEvD54E,KAAK4lD,oBAAsBA,EAC3B5lD,KAAK4lD,oBAAoBx+C,KAAK,CAACsyE,EAAKC,IAC/BD,EAAInkD,YAAY6K,cAAgBu5C,EAAIpkD,YAAY6K,cAC5C,EACGs5C,EAAInkD,YAAY6K,cAAgBu5C,EAAIpkD,YAAY6K,eACnD,EAEA,GAITpgC,KAAK4lD,oBAAoBh/C,QAASkyE,IACjCA,EAAkBlzB,oBAAoBx+C,KAAK,CAACsyE,EAAIC,IAC3CD,EAAInkD,YAAY6K,cAAgBu5C,EAAIpkD,YAAY6K,cAC5C,EACGs5C,EAAInkD,YAAY6K,cAAgBu5C,EAAIpkD,YAAY6K,eACnD,EAEA,IAIX,EACAw5C,oBAAoB3B,GACfA,EACG,GAAGA,GAAgB1iD,eAAe0iD,GAAgBp3B,oBAAoBo3B,GAAgB4B,wBAAwB5B,GAAgBtkD,YAD1G,GAG5BmmD,iBAAiBviD,GACXA,EACE,GAAGA,GAAaq7C,eAAer7C,GAAahC,eAD1B,GAG1BwkD,oBAAAA,CAAqBt6D,GACpB,IAAKA,EAAiB,MAAO,GAC7B,IAAIu6D,EAAwB,IAAIvzC,OAAO,sBACnClC,EAAQ9kB,EAAgB8kB,MAAMy1C,GAClC,OAAOz1C,EAAM,IACZ,IAAK,KACJ,MAAO,kBAAkBA,EAAM,KAChC,IAAK,KACJ,MAAO,kBAAkBA,EAAM,KAChC,QACC,MAAO,GAAG9kB,IAEb,GAGDpb,SAAS,CACR41E,8BAAAA,GACC,MAAM1iD,EAAcv3B,KAAK8lD,cAAcliB,KAAMrM,GAAgBA,EAAYtS,gBAAkBjlB,KAAKu3E,qBAChG,MAAO,GAAGv3E,KAAK23E,2BAA2BpiD,eAAev1B,KAAK23E,2BAA2BuC,qBAAqB3iD,EAAYq7C,cAAc5yE,KAAK03E,oBAAoB13E,KAAK23E,2BAA2B92B,mBAAmB7gD,KAAKs3E,0BAC1N,EACA6C,sBAAAA,GACC,OAAIn6E,KAAKw3E,eACFh4E,OAAOy6B,OAAOj6B,KAAKw3E,gBAAgB3xE,OAAO,CAACu0E,EAAOn2E,KACpDm2E,EAAMn2E,EAAKsxB,eACd6kD,EAAMn2E,EAAKsxB,aAAe,IAE3B6kD,EAAMn2E,EAAKsxB,aAAajvB,KAAKrC,GACtBm2E,GACN,CAAA,GAP8B,IAQjC,EACAC,kCAAAA,GACC,IAAKr6E,KAAKm6E,uBAAwB,OAAO,KACzC,IAAIn4E,EAAS,GAeb,OAdAxC,OAAO86B,QAAQt6B,KAAKm6E,wBAAwBvzE,QAAQ,EAAE0T,EAAIrb,MACzD+C,EAAOsE,KAAK,CACXivB,YAAa,mBAAmBjb,IAChC25C,UAAU,IAEXh1D,EAAM2H,QAAS4wB,IACdx1B,EAAOsE,KAAK,CACXkxB,YAAYA,EACZ8iD,SAAS,EACT/kD,YAAa,GAAGiC,GAAajC,eAAeiC,GAAaqpB,oBAAoBrpB,GAAaqiD,wBAAwBriD,GAAa7D,kBAK3H3xB,CACR,GAGD8U,OAAAA,GAEC,MAAM2I,EAAkBzf,KAAK+3E,wBAAwB,wBAAqB92E,EACpEs2B,EAAcvjB,KAAKC,MAAMjU,KAAK+3E,wBAAwB,sBAAmB92E,EACzE2pB,EAAW5qB,KAAK+3E,wBAAwB,kBAAe92E,EACvDg3E,EAAiBjkE,KAAKC,MAAMjU,KAAK+3E,wBAAwB,yBAAsB92E,EAIrFjB,KAAKod,QAAQ8b,QAAQ7B,QAAQC,sBAAsB7X,EAAiB8X,EAAa3M,EAAUqtD,GAC1Ft1E,KAAKpE,GAAQA,EAAKA,MAClBoE,KAAK4G,IACLvJ,KAAK24E,sBAAsBpvE,IAG7B,EACAvG,SAAU,4uLCzQXu3E,GAAe,CAEdC,cAAaA,KACL,CACN5/D,OAAQ,MACRC,IAAK,+CACLhH,OAAQ,CAAA,KCUX4mE,GAAe,CACdz5B,KAAIA,CAAChoB,EAAK3kB,KACF,CACNuG,OAAQ,OACRC,IAAK,kCACLhH,OAAQ,CACPmlB,IAAKA,EACL3kB,KAAMA,MCDV,MAAMqmE,GAASpnE,2BAA2BC,SAASsP,QAAQ,4BAA6B,IAAMvP,2BAA2BE,UAEnHmnE,GAASC,UAAUC,aAAa,CACrCC,QAASF,UAAUG,iBAAiB,IAAIL,MACxCM,OAAQ,CACP,CACC3mE,KAAM,eACN/V,KAAM,UACNuW,UAAWuiE,GACX14E,OAAO,GAER,CACC2V,KAAM,wBACN/V,KAAM,aACNuW,UAAWwsD,GACX3iE,OAAO,GAER,CACC2V,KAAM,cACN/V,KAAM,SACNuW,UAAWwsD,GACX3iE,OAAO,GAER,CACC2V,KAAM,6CACN/V,KAAM,oBACNuW,UAAWw7D,GACX3xE,OAAO,GAER,CACC2V,KAAM,8BACN/V,KAAM,wBACNuW,UAAWy/D,GACX51E,OAAO,GAER,CACC2V,KAAM,8CACN/V,KAAM,mBACNuW,UAAWyhE,GACX53E,OAAO,GAER,CACC2V,KAAM,iBACN/V,KAAM,YACNuW,UAAWquD,GACXxkE,OAAO,GAGR,CACC2V,KAAM,6CACN/V,KAAM,qBACNuW,UAAW03D,GACX0O,SAAW/zB,IACH,CACN5oD,KAAM,kBACNuV,OAAQ,CACP2P,WAAY0jC,EAAGrzC,OAAO2P,WACtB7Y,KAAM2hE,GACNjtB,YAAY,IAAI1jC,MAAOmqD,cAAczhC,MAAM,KAAK,OAKpD,CACChwB,KAAM,+DACN/V,KAAM,kBACNuW,UAAW03D,GACX7tE,MAAQw8E,IACP,MAGMvwE,EAAOuwE,EAAMrnE,OAAOlJ,MAHP,CAAC,QAAS,OAAQ,OAI1BzL,SAASg8E,EAAMrnE,OAAOlJ,KAAKwwE,OAAO,GAAG76C,cAAgB46C,EAAMrnE,OAAOlJ,KAAKmrC,MAAM,GAAG1V,eACxF86C,EAAMrnE,OAAOlJ,KAAKwwE,OAAO,GAAG76C,cAAgB46C,EAAMrnE,OAAOlJ,KAAKmrC,MAAM,GAAG1V,cACvEksC,GAGGzvB,EAAI,IAAIlhC,KAAKu/D,EAAMrnE,OAAOwrC,YAKhC,MAAO,CACNF,cAAe,CACdx0C,OACA00C,WAPkBC,MAAMzC,IAA+B,IAAIlhC,MAAOmqD,cAAczhC,MAAM,KAAK,GAA9D62C,EAAMrnE,OAAOwrC,WAQ1C77B,WAAY03D,EAAMrnE,OAAO2P,cAI5B43D,YAAaA,CAACl0B,EAAIn1C,EAAMo1C,KAElBD,EAAGrzC,OAAOlJ,MAASu8C,EAAGrzC,OAAOwrC,WAUjC8H,IATAA,EAAK,CACJ7oD,KAAM,kBACNuV,OAAQ,CACPlJ,KAAMu8C,EAAGrzC,OAAOlJ,MAAQ2hE,GACxBjtB,WAAY6H,EAAGrzC,OAAOwrC,aAAc,IAAI1jC,MAAOmqD,cAAczhC,MAAM,KAAK,GACxE7gB,WAAY03D,MAAMrnE,OAAO2P,gBAQ9B,CACCnP,KAAM,kCACN/V,KAAM,UACNuW,UAAW+2D,GACXltE,OAAO,GAER,CACC2V,KAAM,mBACN/V,KAAM,OACNuW,UAAWi0D,GACXpqE,OAAO,GAER,CACC2V,KAAM,8BACN/V,KAAM,OACNuW,UAAWoxC,GACXvnD,OAAO,GAER,CACC2V,KAAM,yDACN/V,KAAM,SACNuW,UAAW65B,GACXhwC,OAAO,GAGR,CAEC2V,KAAM,2BACN/V,KAAM,YACNuW,UAAWqqC,GACX+7B,QAAAA,CAAS/zB,GACR,MAAMg0B,EAAQ15E,IAAIihD,MAAMk4B,GAAOU,eACzB1wE,KAAEA,EAAI00C,WAAEA,GAAe67B,EAAMrnE,OACnC,MAAO,CACNvV,KAAM,SACNuV,OAAQ,CACPlJ,OACA00C,aACAl7B,MAAO+iC,EAAGrzC,OAAOsQ,OAGpB,GAED,CACC9P,KAAM,0CACN/V,KAAM,SACNuW,UAAWqqC,GACXxgD,MAAMw8E,IACE,CACN/7B,cAAe+7B,EAAMrnE,UAIxB,CACCQ,KAAM,oCACN/V,KAAM,WACNuW,UAAWkrC,GACXrhD,MAAMw8E,IACE,CACN/7B,cAAe+7B,EAAMrnE,UAIxB,CACCQ,KAAM,QACN/V,KAAM,OACNuW,UAAWiG,EACXpc,MAAO,CAACqc,UAAW,QAEpB,CACC1G,KAAM,IACN/V,KAAM,eACNuW,UAAWiG,EACXpc,MAAO,CAACqc,UAAW,QAEpB,CACC1G,KAAM,mBACN/V,KAAM,WACNuW,UAAWiG,EACXpc,MAAO,CAACqc,UAAW,OACnBkgE,SAAUA,KACF,CACN38E,KAAM,OACNuV,OAAQ,CACPkH,UAAW,aAQXie,GAAMx3B,IAAIC,UAAU,CACzBnD,KAAM,SACNC,KAAMA,KAAAA,CACL+8E,mBAAoB,CAAA,EACpBC,UAAW,OAEZr4E,WAAY,CAAA,EACZmB,SAAU,CACTm3E,SAAQA,IACA,sEAAsEC,KAAKC,UAAUC,YAG9F/jE,OAAAA,GACC,MAAO,CACN+F,SAAUnc,IAAI6C,SAAS,IAAMrE,KAAKmY,GAAGsrB,eACrC83C,UAAW/5E,IAAI6C,SAAS,IAAMrE,KAAKu7E,WAErC,EACAz7E,QAAS,CACR87E,eAAAA,CAAgBt2C,GACf,MAAMu2C,EAAeriE,OAAOyb,SAAS6mD,OACrC,OAAOx2C,EAAKy2C,WAAWF,EACxB,EACAG,WAAAA,CAAY/2E,GACX,MAAMR,EAASQ,EAAMR,OAAOI,QAAQ,KAEpC,GAAiB,YAAdJ,GAAQmI,IACPnI,GAAUzE,KAAK47E,gBAAgBn3E,EAAO6gC,MAAO,CAChD,MAEMjxB,EAFM,IAAI4nE,IAAIx3E,EAAO6gC,MAEV42C,SACXtpD,EAAO5yB,KAAK8/C,QAAQj/C,QAAQi6E,QAAQloD,KACpCsoD,EAAQ7mE,EAAKwO,QAAQ+P,EAAM,KAAO,IAGlCrpB,EAAMvJ,KAAK8/C,QAAQz+C,QAAQ65E,GACjC,IAAI3xE,GAAK4yE,SAASh2E,QAAuB,aAAboD,EAAIjL,KAAqB,OAIrD,GAFA2G,EAAME,iBAEHnF,KAAKw7E,SAAU,CACDn5E,SAASyP,eAAe,YAE7BpD,UAAU6D,SAAS,SAC7BlQ,SAASyP,eAAe,gBAAgB8vD,OAE1C,CAEA5hE,KAAK8/C,QAAQx5C,KAAK40E,EAEnB,CACD,GAED,aAAMpkE,SACC9W,KAAKid,KACT3H,KAAKilE,GAAaC,iBAClB73E,KAAK4G,GAAOA,EAAIhL,MAChBoE,KAAKpE,IACL,IAAK,IAAI69E,KAAc58E,OAAO6M,KAAK9N,GAAO,CACzC,IAAI89E,EAAa,KACbC,EAAe,KACfC,EAAgB,KAQpB,GAPIh+E,EAAK69E,GAAYC,aACpBA,EAAa76E,IAAI47C,QAAQ57C,IAAIg7E,qBAAqB,IAAMzlE,OAAOxY,EAAK69E,GAAYC,eAC7E99E,EAAK69E,GAAYE,eACpBA,EAAe96E,IAAI47C,QAAQ57C,IAAIg7E,qBAAqB,IAAMzlE,OAAOxY,EAAK69E,GAAYE,iBAC/E/9E,EAAK69E,GAAYG,gBACpBA,EAAgB/6E,IAAI47C,QAAQ57C,IAAIg7E,qBAAqB,IAAMzlE,OAAOxY,EAAK69E,GAAYG,kBAEhFh+E,EAAK69E,GAAYK,oBAAoB,CACxC,IAAIC,EAAOr6E,SAASq6E,KACpB,IAAIA,EAAKprE,cAAc,cAAc/S,EAAK69E,GAAYK,yBAAyB,CAC9E,IAAIn8B,EAAOj+C,SAASC,cAAc,QAClCg+C,EAAK1hD,KAAO,WACZ0hD,EAAKq8B,IAAM,aACXr8B,EAAKhb,KAAO/mC,EAAK69E,GAAYK,oBAC7BC,EAAK35E,YAAYu9C,EAClB,CACD,CAEsB,OAAnBtgD,KAAKu7E,YACPv7E,KAAKu7E,UAAY,CAAA,GAEbv7E,KAAKu7E,UAAUa,KACnBp8E,KAAKu7E,UAAUa,GAAc,CAAA,GAE9Bp8E,KAAKu7E,UAAUa,GAAYC,WAAaA,EACxCr8E,KAAKu7E,UAAUa,GAAYE,aAAeA,EAC1Ct8E,KAAKu7E,UAAUa,GAAYG,cAAgBA,CAC5C,GAEH,EACAh8E,OAAAA,GACC8B,SAASsX,iBAAiB,QAAS3Z,KAAKg8E,YACzC,EACAj6E,aAAAA,GACCM,SAASunC,oBAAoB,QAAS5pC,KAAKg8E,YAC5C,KC5SM,WACN,MAAMY,EAAa,SAASnB,KAAKC,UAAUC,WACrCkB,EAAY,UAAUpB,KAAKC,UAAUC,WAE3C,GAAIiB,EAAY,CACf,MAAMttE,EAtBR,WACC,MAAMqsD,EAAMt5D,SAASC,cAAc,OAEnCq5D,EAAIjsD,MAAMwgC,SAAW,WACrByrB,EAAIjsD,MAAMC,IAAM,UAChBgsD,EAAIjsD,MAAMJ,MAAQ,QAClBqsD,EAAIjsD,MAAMP,OAAS,QACnBwsD,EAAIjsD,MAAMotE,SAAW,SAErBz6E,SAASzB,KAAKmC,YAAY44D,GAC1B,MAAMohB,EAAiBphB,EAAItxB,YAAcsxB,EAAIjrD,YAG7C,OAFArO,SAASzB,KAAKwB,YAAYu5D,GAEnBohB,CACR,CAQgBC,GAAsB,KACpC36E,SAASzB,KAAK8O,MAAMg3D,YAAY,oBAAqBp3D,EACtD,MAAWutE,GACVx6E,SAASzB,KAAK8O,MAAMg3D,YAAY,oBAAqB,MAEvD,CDsSAuW,GACAjkD,GAAIx2B,OAAOy2B,iBAAiBikD,YEnUrB,SAAoBC,GAC1B,OAAKA,EACEA,EAAO,GAAG78C,cAAgB68C,EAAOrnC,MAAM,GAD1B,EAErB,EFiUA9c,GAAIz2B,IAAIo4E,IACR3hD,GAAIz2B,IAAIpB,SAASqB,OAAOzD,QAAS,CAChC0D,OAAQ,CACPC,QAAS,IACTstD,QAAS,OAGXh3B,GAAIokD,UAAU,UAAWj8E,SAAS6uD,SAClCh3B,GAAIz2B,IAAImiC,IACR1L,GAAIz2B,IAAIkjC,IACRzM,GAAIokD,UAAU,WAAYj3C,IAC1BnN,GAAIl2B,MAAM,eAEV63E,GAAO0C,UAAU,CAACn2B,EAAIn1C,EAAMurE,KAC3BtkD,GAAIx2B,OAAOy2B,iBAAiBhc,KAAK3H,KAAKmlE,GAAaz5B,KAAK,OAAQkG,EAAGq2B"}
\ No newline at end of file
diff --git a/public/dist/js/apps/DashboardAdmin.js b/public/dist/js/apps/DashboardAdmin.js
index 8c386e11f..77274f2b3 100644
--- a/public/dist/js/apps/DashboardAdmin.js
+++ b/public/dist/js/apps/DashboardAdmin.js
@@ -1,4 +1,4 @@
-import t from"../../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js?2025111701";import e from"../../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js?2025111701";import i from"../../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js?2025111701";import r from"../../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js?2025111701";const n={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'};var s={getHeader:t=>({method:"get",url:"/api/frontend/v1/navigation/header",params:{navigation_page:t}}),getMenu:t=>({method:"get",url:"/api/frontend/v1/navigation/menu",params:{navigation_page:t}})};const a={components:{CoreFetchCmpt:n},props:{addHeaderMenuEntries:Object,addSideMenuEntries:Object,hideTopMenu:Boolean,leftNavCssClasses:{type:String,default:"navbar navbar-left-side"}},data:()=>({headerMenu:{},sideMenu:{}}),computed:{headerMenuEntries(){let t=this.headerMenu?{...this.headerMenu}:{};return null!=this.headerMenu&&null!=this.addHeaderMenuEntries&&Object.keys(this.addHeaderMenuEntries).length>0&&(t[this.addHeaderMenuEntries.description]=this.addHeaderMenuEntries),t},sideMenuEntries(){let t=this.sideMenu?{...this.sideMenu}:{};return null!=this.sideMenu&&null!=this.addSideMenuEntries&&Object.keys(this.addSideMenuEntries).length>0&&(t[this.addSideMenuEntries.description]=this.addSideMenuEntries),t}},methods:{getNavigationPage:()=>FHC_JS_DATA_STORAGE_OBJECT.called_path+"/"+FHC_JS_DATA_STORAGE_OBJECT.called_method,fetchCmptApiFunctionHeader(){return this.$api.call(s.getHeader(this.getNavigationPage()))},fetchCmptApiFunctionSideMenu(){return this.$api.call(s.getMenu(this.getNavigationPage()))},fetchCmptDataFetchedHeader(t){this.headerMenu=t||{}},fetchCmptDataFetchedMenu(t){this.sideMenu=t||{}},getDataBsToggle:t=>t.children?"dropdown":null},template:'\n\t\t\x3c!-- Load head menu --\x3e\n\t\t\n\t\t\x3c!-- Load side menu --\x3e\n\t\t\n\n\t\t\x3c!-- Top menu --\x3e\n\t\t\n\n\t\t\x3c!-- Left side menu --\x3e\n\t\t\n\t'};var o={name:"BootstrapModal",data:()=>({modal:null,fullscreen:!1}),props:{backdrop:{type:[Boolean,String],default:!0,validator:t=>["static",!0,!1].includes(t)},focus:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},noCloseBtn:Boolean,dialogClass:[String,Array,Object],headerClass:{type:[String,Array,Object],default:""},bodyClass:{type:[String,Array,Object],default:"px-4 py-5"},footerClass:{type:[String,Array,Object],default:""},allowFullscreenExpand:{type:Boolean,default:!1}},emits:["hideBsModal","hiddenBsModal","hidePreventedBsModal","showBsModal","shownBsModal"],methods:{dispose(){return this.modal.dispose()},handleUpdate(){return this.modal.handleUpdate()},hide(){return this.modal.hide()},show(t){return this.modal.show(t)},toggle(){return this.modal.toggle()},toggleFullscreen(){this.fullscreen=!this.fullscreen}},mounted(){this.$refs.modal&&(this.modal=new bootstrap.Modal(this.$refs.modal,{backdrop:this.backdrop,focus:this.focus,keyboard:this.keyboard}))},popup(t,e,i,r){const n=this,s={};void 0!==t&&(s.default=()=>t),void 0!==i&&(s.title=()=>i),void 0!==r&&(s.footer=()=>r);let a=!1;return"undefined"!=typeof primevue&&(a=!0),new Promise((t,i)=>{const r=Vue.createApp({name:"ModalTmpApp",setup:()=>()=>Vue.h(n,{class:"fade",...e,ref:"modal","onHidden.bs.modal":r.unmount},s),mounted(){this.$refs.modal.show()},beforeUnmount(){this.$refs.modal&&(!1!==this.$refs.modal.result?t(this.$refs.modal.result):i())},unmounted(){o.parentElement.removeChild(o)}}),o=document.createElement("div");a&&r.use(primevue.config.default,{zIndex:{overlay:9999}}),Promise.resolve().then(function(){return et}).then(t=>{r.use(t.default),r.mount(o),document.body.appendChild(o)})})},template:'
'},w={components:{BsModal:o,WidgetIcon:_},props:["widgets"],data:()=>({callbacks:{}}),methods:{getWidget(){return new Promise((t,e)=>{this.callbacks={resolve:t,reject:e},this.$refs.modal.show()})},close(){this.callbacks.reject&&this.callbacks.reject(),this.callbacks={}},pick(t){this.callbacks.resolve&&this.callbacks.resolve(t),this.callbacks={},this.$refs.modal.hide()}},template:'
\n\t\t\n\t\t\tCreate new widget\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tNo Widgets available\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\n\t
'},E={mergeDeep(...t){const e=t=>t&&"object"==typeof t;return t.reduce((t,i)=>(Object.keys(i).forEach(r=>{const n=t[r],s=i[r];Array.isArray(n)&&Array.isArray(s)?t[r]=n.concat(...s):e(n)&&e(s)?t[r]=this.mergeDeep(n,s):t[r]=s}),t),{})}},S={components:{DashboardAdminEdit:p,DashboardAdminWidgets:h,DashboardAdminPresets:{components:{DashboardSection:$,DashboardWidgetPicker:w},props:{dashboard:String,widgets:Array},data:()=>({funktionen:{},sections:[],tmpLoading:""}),computed:{apiurl:()=>FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/dashboard",pickerWidgets(){return this.widgets.filter(t=>t.allowed)}},methods:{widgetAdd(t,e){this.$refs.widgetpicker.getWidget().then(i=>{e.widget=i,delete e.custom,e.preset=1;let r={...e};r.loading=!0,this.sections.forEach(e=>{e.name==t&&e.widgets.push(r)}),axios.post(this.apiurl+"/Config/addWidgetsToPreset",{db:this.dashboard,funktion_kurzbz:t,widgets:[e]}).then(i=>{let n=Object.keys(i.data.retval.data[t].widgets).pop();e.id=n,e.custom=1,this.sections.forEach(i=>{i.name==t&&(i.widgets.splice(i.widgets.indexOf(r),1),i.widgets.push(e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})}).catch(()=>{})},widgetUpdate(t,e){for(var i in e=e[t]){for(var r in this.sections)if(this.sections[r].name==t){for(var n in this.sections[r].widgets)if(this.sections[r].widgets[n].id==i){for(var s in e[i]=E.mergeDeep(this.sections[r].widgets[n],e[i]),{_x:1,_y:1,_w:1,_h:1,index:1,id:1})e[i][s]&&delete e[i][s];break}break}e[i].widgetid=i,delete e[i].custom}axios.post(this.apiurl+"/Config/addWidgetsToPreset",{db:this.dashboard,funktion_kurzbz:t,widgets:e}).then(()=>{this.sections.forEach(i=>{i.name==t&&i.widgets.forEach((t,r)=>{e[t.id]&&(e[t.id].id=t.id,e[t.id].index=t.index,i.widgets[r]=e[t.id],i.widgets[r].custom=1)})})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})},widgetRemove(t,e){axios.post(this.apiurl+"/Config/removeWidgetFromPreset",{db:this.dashboard,funktion_kurzbz:t,widgetid:e}).then(()=>{this.sections.forEach(i=>{i.name==t&&(i.widgets=i.widgets.filter(t=>t.id!=e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})},loadSections(t){let e=Array.from(t.target.querySelectorAll("option:checked"),t=>t.value);this.sections=[],this.tmpLoading=e.join("###"),axios.get(this.apiurl+"/Config/presetBatch",{params:{db:this.dashboard,funktionen:e}}).then(t=>{if(this.tmpLoading===e.join("###"))for(var i in t.data.retval){let e=[];for(var r in t.data.retval[i])t.data.retval[i][r].id=r,t.data.retval[i][r].custom=1,e.push(t.data.retval[i][r]);this.sections.push({name:i,widgets:e})}}).catch(t=>console.error("ERROR:",t))}},created(){axios.get(this.apiurl+"/Config/funktionen").then(t=>{this.funktionen={general:"GENERAL"},t.data.retval.forEach(t=>{this.funktionen[t.funktion_kurzbz]=t.beschreibung})}).catch(t=>console.error("ERROR:",t))},watch:{dashboard(){this.loadSections({target:this.$refs.funktionenList})}},template:'
'},C={search(t,e){return this.$fhcApi.post("/api/frontend/v1/searchbar/search",t,e)},searchAdvanced(t,e){return this.$fhcApi.post("/api/frontend/v1/searchbar/searchAdvanced",t,e)},searchdummy(t){return this.$fhcApi.post("public/js/apps/api/dummyapi.php/Search",t)}},P={loadCategory(t){return this.$fhcApi.get("/api/frontend/v1/phrasen/loadModule/"+t)},setLanguage(t,e){const i={categories:t,language:e};return this.$fhcApi.post("/api/frontend/v1/phrasen/setLanguage",i)},getLanguage(){return this.$fhcApi.get("/api/frontend/v1/phrasen/getLanguage",{})},getActiveDbLanguages(){return this.$fhcApi.get("/api/frontend/v1/phrasen/getAllLanguages",{})}},k={getHeader(t){return this.$fhcApi.get("/api/frontend/v1/navigation/header",{navigation_page:t})},getMenu:function(t){return this.$fhcApi.get("/api/frontend/v1/navigation/menu",{navigation_page:t})}},T={saveCustomFilter(t){return this.$fhcApi.post("/api/frontend/v1/filter/saveCustomFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,customFilterName:t.customFilterName})},removeCustomFilter(t){return this.$fhcApi.post("/api/frontend/v1/filter/removeCustomFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterId:t.filterId})},applyFilterFields(t){return this.$fhcApi.post("/api/frontend/v1/filter/applyFilterFields",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterFields:t.filterFields})},addFilterField(t){return this.$fhcApi.post("/api/frontend/v1/filter/addFilterField",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterField:t.filterField})},removeFilterField(t){return this.$fhcApi.post("/api/frontend/v1/filter/removeFilterField",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterField:t.filterField})},getFilterById(t){return this.$fhcApi.get("/api/frontend/v1/filter/getFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType,filterId:t.filterId})},getFilter(t){return this.$fhcApi.get("/api/frontend/v1/filter/getFilter",{filterUniqueId:t.filterUniqueId,filterType:t.filterType})}},x={abmeldung:{getDetails(t,e){const i="/api/frontend/v1/studstatus/abmeldung/"+(void 0!==t?"getDetailsForAntrag/"+t:"getDetailsForNewAntrag/"+e);return this.$fhcApi.get(i)},create(t,e,i){return this.$fhcApi.post("/api/frontend/v1/studstatus/abmeldung/createAntrag",{studiensemester:t,prestudent_id:e,grund:i},{errorHandling:"strict"})},cancel(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/abmeldung/cancelAntrag",{antrag_id:t.studierendenantrag_id},{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/abmeldung/cancelAntrag",{antrag_id:t})}},unterbrechung:{getDetails(t,e){const i="/api/frontend/v1/studstatus/unterbrechung/"+(void 0!==t?"getDetailsForAntrag/"+t:"getDetailsForNewAntrag/"+e);return this.$fhcApi.get(i)},create(t,e,i,r,n){return this.$fhcApi.post("/api/frontend/v1/studstatus/unterbrechung/createAntrag",{studiensemester:t,prestudent_id:e,grund:i,datum_wiedereinstieg:r,attachment:n},{errorHandling:"strict"})},cancel(t){return this.$fhcApi.post("/api/frontend/v1/studstatus/unterbrechung/cancelAntrag",{antrag_id:t},{errorHandling:"strict"})}},wiederholung:{getDetails(t){const e="/api/frontend/v1/studstatus/wiederholung/getDetailsForNewAntrag/"+t;return this.$fhcApi.get(e)},getLvs(t){const e="/api/frontend/v1/studstatus/wiederholung/getLvs/"+t;return this.$fhcApi.get(e)},create(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/wiederholung/createAntrag",{prestudent_id:t,studiensemester:e},{errorHandling:"strict"})},cancel(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/wiederholung/cancelAntrag",{prestudent_id:t,studiensemester:e},{errorHandling:"strict"})},saveLvs(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/wiederholung/saveLvs",{forbiddenLvs:t,mandatoryLvs:e})}},leitung:{getStgs(){return this.$fhcApi.get("/api/frontend/v1/studstatus/leitung/getActiveStgs")},getAntraege(t,e,i){return this.$fhcApi.get("/api/frontend/v1/studstatus/leitung/getAntraege/"+t).then(t=>t.data)},getHistory(t){return this.$fhcApi.get("/api/frontend/v1/studstatus/leitung/getHistory/"+t)},getPrestudents(t,e){return this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/getPrestudents",{query:t},{signal:e,timeout:3e4})},approve(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveAntrag",t)},reject(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/rejectAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/rejectAntrag",t)},reopen(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/reopenAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/reopenAntrag",t)},pause(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/pauseAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/pauseAntrag",t)},unpause(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/unpauseAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/unpauseAntrag",t)},object(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/objectAntrag",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/objectAntrag",t)},approveObjection(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveObjection",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/approveObjection",t)},denyObjection(t){return Array.isArray(t)?Promise.allSettled(t.map(t=>this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/denyObjection",t,{errorHeader:"#"+t.studierendenantrag_id}))):this.$fhcApi.post("/api/frontend/v1/studstatus/leitung/denyObjection",t)}}},O={getView:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/getView/${t}`,{})},fotoSperre:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/fotoSperre/${t}`,{})},isStudent:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/isStudent",{uid:t})},isMitarbeiter:function(t){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/isMitarbeiter/${t}`,{})},getZustellAdresse:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/getZustellAdresse",{})},getZustellKontakt:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/getZustellKontakt",{})},getGemeinden:function(t,e){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+`/api/frontend/v1/Profil/getGemeinden/${t}/${e}`,{})},getAllNationen:function(){return this.$fhcApi.get(FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/api/frontend/v1/Profil/getAllNationen",{})}},D={
+import t from"../../../../index.ci.php/public/js/components/primevue/config/config.esm.min.js?2025121701";import e from"../../../../index.ci.php/public/js/components/primevue/toast/toast.esm.min.js?2025121701";import i from"../../../../index.ci.php/public/js/components/primevue/confirmdialog/confirmdialog.esm.min.js?2025121701";import r from"../../../../index.ci.php/public/js/components/primevue/confirmationservice/confirmationservice.esm.min.js?2025121701";const n={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'};var s={getHeader:t=>({method:"get",url:"/api/frontend/v1/navigation/header",params:{navigation_page:t}}),getMenu:t=>({method:"get",url:"/api/frontend/v1/navigation/menu",params:{navigation_page:t}})};const a={components:{CoreFetchCmpt:n},props:{addHeaderMenuEntries:Object,addSideMenuEntries:Object,hideTopMenu:Boolean,leftNavCssClasses:{type:String,default:"navbar navbar-left-side"}},data:()=>({headerMenu:{},sideMenu:{}}),computed:{headerMenuEntries(){let t=this.headerMenu?{...this.headerMenu}:{};return null!=this.headerMenu&&null!=this.addHeaderMenuEntries&&Object.keys(this.addHeaderMenuEntries).length>0&&(t[this.addHeaderMenuEntries.description]=this.addHeaderMenuEntries),t},sideMenuEntries(){let t=this.sideMenu?{...this.sideMenu}:{};return null!=this.sideMenu&&null!=this.addSideMenuEntries&&Object.keys(this.addSideMenuEntries).length>0&&(t[this.addSideMenuEntries.description]=this.addSideMenuEntries),t}},methods:{getNavigationPage:()=>FHC_JS_DATA_STORAGE_OBJECT.called_path+"/"+FHC_JS_DATA_STORAGE_OBJECT.called_method,fetchCmptApiFunctionHeader(){return this.$api.call(s.getHeader(this.getNavigationPage()))},fetchCmptApiFunctionSideMenu(){return this.$api.call(s.getMenu(this.getNavigationPage()))},fetchCmptDataFetchedHeader(t){this.headerMenu=t||{}},fetchCmptDataFetchedMenu(t){this.sideMenu=t||{}},getDataBsToggle:t=>t.children?"dropdown":null},template:'\n\t\t\x3c!-- Load head menu --\x3e\n\t\t\n\t\t\x3c!-- Load side menu --\x3e\n\t\t\n\n\t\t\x3c!-- Top menu --\x3e\n\t\t\n\n\t\t\x3c!-- Left side menu --\x3e\n\t\t\n\t'};var o={name:"BootstrapModal",data:()=>({modal:null,fullscreen:!1}),props:{backdrop:{type:[Boolean,String],default:!0,validator:t=>["static",!0,!1].includes(t)},focus:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},noCloseBtn:Boolean,dialogClass:[String,Array,Object],headerClass:{type:[String,Array,Object],default:""},bodyClass:{type:[String,Array,Object],default:"px-4 py-5"},footerClass:{type:[String,Array,Object],default:""},allowFullscreenExpand:{type:Boolean,default:!1}},emits:["hideBsModal","hiddenBsModal","hidePreventedBsModal","showBsModal","shownBsModal"],methods:{dispose(){return this.modal.dispose()},handleUpdate(){return this.modal.handleUpdate()},hide(){return this.modal.hide()},show(t){return this.modal.show(t)},toggle(){return this.modal.toggle()},toggleFullscreen(){this.fullscreen=!this.fullscreen}},mounted(){this.$refs.modal&&(this.modal=new bootstrap.Modal(this.$refs.modal,{backdrop:this.backdrop,focus:this.focus,keyboard:this.keyboard}))},popup(t,e,i,r){const n=this,s={};void 0!==t&&(s.default=()=>t),void 0!==i&&(s.title=()=>i),void 0!==r&&(s.footer=()=>r);let a=!1;return"undefined"!=typeof primevue&&(a=!0),new Promise((t,i)=>{const r=Vue.createApp({name:"ModalTmpApp",setup:()=>()=>Vue.h(n,{class:"fade",...e,ref:"modal","onHidden.bs.modal":r.unmount},s),mounted(){this.$refs.modal.show()},beforeUnmount(){this.$refs.modal&&(!1!==this.$refs.modal.result?t(this.$refs.modal.result):i())},unmounted(){o.parentElement.removeChild(o)}}),o=document.createElement("div");a&&r.use(primevue.config.default,{zIndex:{overlay:9999}}),Promise.resolve().then(function(){return et}).then(t=>{r.use(t.default),r.mount(o),document.body.appendChild(o)})})},template:'
'},w={components:{BsModal:o,WidgetIcon:_},props:["widgets"],data:()=>({callbacks:{}}),methods:{getWidget(){return new Promise((t,e)=>{this.callbacks={resolve:t,reject:e},this.$refs.modal.show()})},close(){this.callbacks.reject&&this.callbacks.reject(),this.callbacks={}},pick(t){this.callbacks.resolve&&this.callbacks.resolve(t),this.callbacks={},this.$refs.modal.hide()}},template:'
\n\t\t\n\t\t\tCreate new widget\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tNo Widgets available\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\n\t
'},E={mergeDeep(...t){const e=t=>t&&"object"==typeof t;return t.reduce((t,i)=>(Object.keys(i).forEach(r=>{const n=t[r],s=i[r];Array.isArray(n)&&Array.isArray(s)?t[r]=n.concat(...s):e(n)&&e(s)?t[r]=this.mergeDeep(n,s):t[r]=s}),t),{})}},S={components:{DashboardAdminEdit:p,DashboardAdminWidgets:h,DashboardAdminPresets:{components:{DashboardSection:$,DashboardWidgetPicker:w},props:{dashboard:String,widgets:Array},data:()=>({funktionen:{},sections:[],tmpLoading:""}),computed:{apiurl:()=>FHC_JS_DATA_STORAGE_OBJECT.app_root+FHC_JS_DATA_STORAGE_OBJECT.ci_router+"/dashboard",pickerWidgets(){return this.widgets.filter(t=>t.allowed)}},methods:{widgetAdd(t,e){this.$refs.widgetpicker.getWidget().then(i=>{e.widget=i,delete e.custom,e.preset=1;let r={...e};r.loading=!0,this.sections.forEach(e=>{e.name==t&&e.widgets.push(r)}),axios.post(this.apiurl+"/Config/addWidgetsToPreset",{db:this.dashboard,funktion_kurzbz:t,widgets:[e]}).then(i=>{let n=Object.keys(i.data.retval.data[t].widgets).pop();e.id=n,e.custom=1,this.sections.forEach(i=>{i.name==t&&(i.widgets.splice(i.widgets.indexOf(r),1),i.widgets.push(e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})}).catch(()=>{})},widgetUpdate(t,e){for(var i in e=e[t]){for(var r in this.sections)if(this.sections[r].name==t){for(var n in this.sections[r].widgets)if(this.sections[r].widgets[n].id==i){for(var s in e[i]=E.mergeDeep(this.sections[r].widgets[n],e[i]),{_x:1,_y:1,_w:1,_h:1,index:1,id:1})e[i][s]&&delete e[i][s];break}break}e[i].widgetid=i,delete e[i].custom}axios.post(this.apiurl+"/Config/addWidgetsToPreset",{db:this.dashboard,funktion_kurzbz:t,widgets:e}).then(()=>{this.sections.forEach(i=>{i.name==t&&i.widgets.forEach((t,r)=>{e[t.id]&&(e[t.id].id=t.id,e[t.id].index=t.index,i.widgets[r]=e[t.id],i.widgets[r].custom=1)})})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})},widgetRemove(t,e){axios.post(this.apiurl+"/Config/removeWidgetFromPreset",{db:this.dashboard,funktion_kurzbz:t,widgetid:e}).then(()=>{this.sections.forEach(i=>{i.name==t&&(i.widgets=i.widgets.filter(t=>t.id!=e))})}).catch(t=>{console.error("ERROR: ",t),alert("ERROR: "+t.response.data.retval)})},loadSections(t){let e=Array.from(t.target.querySelectorAll("option:checked"),t=>t.value);this.sections=[],this.tmpLoading=e.join("###"),axios.get(this.apiurl+"/Config/presetBatch",{params:{db:this.dashboard,funktionen:e}}).then(t=>{if(this.tmpLoading===e.join("###"))for(var i in t.data.retval){let e=[];for(var r in t.data.retval[i])t.data.retval[i][r].id=r,t.data.retval[i][r].custom=1,e.push(t.data.retval[i][r]);this.sections.push({name:i,widgets:e})}}).catch(t=>console.error("ERROR:",t))}},created(){axios.get(this.apiurl+"/Config/funktionen").then(t=>{this.funktionen={general:"GENERAL"},t.data.retval.forEach(t=>{this.funktionen[t.funktion_kurzbz]=t.beschreibung})}).catch(t=>console.error("ERROR:",t))},watch:{dashboard(){this.loadSections({target:this.$refs.funktionenList})}},template:'
\n\t\t\t\t\n\t\t\t\t\t{{ title }}\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
'},o={name:"SearchbarResultPerson",components:{TemplateFrame:l},emits:["actionexecuted"],props:{res:Object,actions:Object},computed:{emails(){return new Set(this.res.email)}},template:'\n\t\n\t\t
\n\t'},b={name:"FhcSearchbar",components:{person:o,room:d,employee:c,organisationunit:u,student:p,prestudent:h,dms:f,cms:m,mergedStudent:g,mergedPerson:v},props:["searchoptions","searchfunction"],provide(){return{query:Vue.computed(()=>this.lastQuery)}},data:function(){return{searchtimer:null,hidetimer:null,searchsettings:{searchstr:this.getSearchStr(),types:this.getInitiallySelectedTypes()},searchresult:[],searchmode:"",showresult:!1,searching:!1,error:null,abortController:null,settingsDropdown:null,lastQuery:""}},computed:{searchTypesPlaceholder(){return this.searchsettings.types.length?this.searchsettings.types.map(t=>this.typeLabels[t]).join(" / "):Object.values(this.typeLabels).join(" / ")},types(){return this.searchoptions.types?Array.isArray(this.searchoptions.types)?this.searchoptions.types:Object.keys(this.searchoptions.types):[]},typeLabels(){return this.searchoptions.types?Array.isArray(this.searchoptions.types)?this.searchoptions.types.reduce((t,e)=>(t[e]=e,t),{}):this.searchoptions.types:{}}},template:'\n\t\t\n ',watch:{"searchsettings.searchstr":function(t){this.searchoptions.origin&&sessionStorage.setItem(`${this.searchoptions.origin}_searchstr`,t)},"searchsettings.types"(t){Array.isArray(t)&&0===t.length&&(this.searchsettings.types=[...this.types]),Array.isArray(t)&&this.searchoptions.origin&&localStorage.setItem(`${this.searchoptions.origin}_searchtypes`,JSON.stringify(t)),this.search()}},mounted(){this.settingsDropdown=new bootstrap.Collapse(this.$refs.settings,{toggle:!1}),this.searchoptions.origin||console.warn("No origin defined in the searchoptions for the searchbar, please define the origin property in the searchbaroptions to allow reliable storage of searchstr and searchtypes accross applications.")},updated(){this.showresult&&Vue.nextTick(()=>{this.calcSearchResultHeight()})},methods:{clearInput(){this.searchsettings.searchstr="",this.hideresult(),this.$refs.input.focus()},getInitiallySelectedTypes(){let t=!1;if(this.searchoptions.origin){let e=localStorage.getItem(`${this.searchoptions.origin}_searchtypes`);e&&(t=JSON.parse(e))}return t||(this.searchoptions.types?Array.isArray(this.searchoptions.types)?[...this.searchoptions.types]:Object.keys(this.searchoptions.types):[])},getSearchStr:function(){return this.searchoptions.origin?sessionStorage.getItem(`${this.searchoptions.origin}_searchstr`)??"":""},checkSettingsVisibility:function(t){this.$refs.settings.contains(t.target)||this.settingsDropdown.hide()},handleShowSettings:function(){document.addEventListener("click",this.checkSettingsVisibility)},handleHideSettings:function(){document.removeEventListener("click",this.checkSettingsVisibility)},calcSearchResultHeight:function(){const t=this.$refs.results.getBoundingClientRect();t.height>0&&t.height<.8*window.innerHeight?this.$refs.result.style.height=Math.ceil(t.height+16)+"px":this.$refs.result.style.height=Math.floor(.8*window.innerHeight)+"px"},calcSearchResultExtent:function(){if(this.showresult){if(void 0===this.searchoptions?.calcheightonly||!1===this.searchoptions.calcheightonly){var t=this.$refs.searchbox.getBoundingClientRect();this.$refs.result.style.top=Math.floor(t.bottom+3)+"px",this.$refs.result.style.right=Math.floor(t.right)+"px",this.$refs.result.style.width=Math.floor(t.width)+"px"}this.calcSearchResultHeight()}},search:function(){null!==this.searchtimer&&clearTimeout(this.searchtimer),this.abortController&&(this.abortController.abort(),this.abortController=null),this.searchsettings.searchstr.length>=2?(this.calcSearchResultExtent(),this.searchtimer=setTimeout(this.callsearchapi,500)):this.showresult=!1},callsearchapi:function(){if(this.error=null,this.searchresult.splice(0,this.searchresult.length),this.searching=!0,this.showsearchresult(),0===this.searchsettings.types.length)return this.error=this.$p.t("search/error_missing_type"),void(this.searching=!1);this.abortController&&this.abortController.abort(),this.abortController=new AbortController,this.searchfunction(this.searchsettings,{timeout:5e4,signal:this.abortController.signal}).then(t=>{if(t.data){let e=t.data.map(t=>t.data?{...t,...JSON.parse(t.data)}:t);if(this.lastQuery=t.meta.searchstring,this.searchoptions.mergeResults){let t=0,n=[],r="merged-",a="";switch(this.searchoptions.mergeResults){case"student":n=["student","prestudent"],r+=this.searchoptions.mergeResults,a="uid";break;case"person":n=["person","employee","student","prestudent"],r+=this.searchoptions.mergeResults,a="person_id"}n.length&&(e=Object.values(e.reduce((e,s)=>(n.includes(s.renderer)?null===s[a]?e["nomerge"+t++]=s:void 0===e[s[a]]?e[s[a]]={rank:s.rank,renderer:r,type:r,list:[s]}:(e[s[a]].list.push(s),s.rank>e[s[a]].rank&&(e[s[a]].rank=s.rank)):e["nomerge"+t++]=s,e),{})).sort((t,e)=>e.rank-t.rank))}this.searchresult=e,this.searchmode=t.meta.mode}else this.error=this.$p.t("search/error_general");this.searching=!1,this.retry=0}).catch(t=>"ERR_CANCELED"==t.code?this.retry=0:"ECONNABORTED"==t.code&&this.retry?(this.retry--,this.callsearchapi()):(this.error=this.$p.t("search/error_general",t),this.searching=!1,void(this.retry=0)))},refreshsearch:function(){this.search(),this.togglesettings()},hideresult:function(){this.showresult=!1,window.removeEventListener("resize",this.calcSearchResultExtent)},showsearchresult:function(){this.searchsettings.searchstr.length>=2&&(this.showresult=!0,window.addEventListener("resize",this.calcSearchResultExtent),this.calcSearchResultExtent())},searchfocusin:function(t){t.preventDefault(),t.stopPropagation(),null!==this.hidetimer&&clearTimeout(this.hidetimer),this.searchsettings.searchstr.length>=2&&0===this.searchresult.length&&this.search()},searchfocusout:function(t){t.preventDefault(),t.stopPropagation(),this.hidetimer=setTimeout(this.hideresult,100)},dash2camelCase:t=>t.replace(/-([a-z])/g,t=>t[1].toUpperCase()),isValidRenderer(t){const e=this.dash2camelCase(t);return Object.keys(this.$.components).includes(e)},getActions(t){let e=this.searchoptions.actions[this.dash2camelCase(t.renderer)];return e||this.searchoptions.actions[t.type]}}},y={name:"VerticalSplit",data:function(){return{availHeight:0,topheight:0,bottomheight:0,mousePosY:0,resize:!1,vsplitter:null,vsplitterOffset:0,selfOffsetTop:0}},template:'\n
\n\t'};const j={emits:["dataFetched"],props:{refresh:{type:Boolean},apiFunction:{required:!0,type:Function},apiFunctionParameters:{}},watch:{refresh:function(t,e){this.fetchData()}},data:function(){return{loading:!1,error:!1,errorMessage:null}},created:function(){this.fetchData()},methods:{fetchData:function(){if(this.loading=!0,this.error=!1,this.errorMessage=null,"function"==typeof this.apiFunction){let t=this.apiFunction(this.apiFunctionParameters);t instanceof Promise?t.then(this.successHandler).catch(this.errorHandler).finally(this.finallyHandler):this.setError("The called apiFunction does not return a Promise")}else this.setError("Property apiFunction is not a function")},setError:function(t){this.loading=!1,this.error=!0,this.errorMessage=t},successHandler:function(t){this.$emit("dataFetched",t?t.data:void 0)},errorHandler:function(t){t.response?.data?.retval?this.setError(t.response.data.retval):t.data?.message?this.setError(t.data.message):this.setError(t.message)},finallyHandler:function(){this.loading=!1}},template:'\n\t\t\n\t\t\t
Loading...
\n\t\t\n\t\t\n\t\t\t
{{ errorMessage }}
\n\t\t\n\t\t\n\t'},B="Filter Component New Filter";var I={props:{filters:{type:Array,default:[]},columns:{type:Array,default:[]},fields:{type:Array,default:[]}},emits:{switchFilter:["filterId"],applyFilterConfig:["filterFields"],saveCustomFilter:["customFilterName"]},data:function(){return{currentFields:[]}},computed:{types(){return this.columns.reduce((t,e)=>{let n=e.type.toLowerCase();return n.indexOf("int")>=0?t[e.name]="Numeric":n.indexOf("varchar")>=0||n.indexOf("text")>=0||n.indexOf("bpchar")>=0?t[e.name]="Text":n.indexOf("timestamp")>=0||n.indexOf("date")>=0?t[e.name]="Date":t[e.name]="",t},{})}},watch:{fields(t){this.currentFields=t}},methods:{switchFilter(t){this.$emit("switchFilter",t.currentTarget.value)},applyFilterConfig(){const t=this.currentFields.filter(t=>t.name!=B);t.filter(t=>""==t.condition).length?alert("Please fill all the filter options"):this.$emit("applyFilterConfig",t)},addField(t){this.currentFields.push({name:B})},removeField(t){this.currentFields.splice(t,1)}},template:'\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tFilter {{ index + 1 }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t'};const H={jsonLines:"fa-file-lines",xlsx:"fa-file-excel",pdf:"fa-file-pdf",html:"fa-file-code",json:"fa-file",csv:"fa-file-csv"},M={jsonLines:"Download as JSONLINES",xlsx:"Download as XLSX",pdf:"Download as PDF",html:"Download as HTML",json:"Download as JSON",csv:"Download as CSV "};var N={props:{tabulator:Object,config:{type:[Boolean,String,Function,Array,Object],default:!1},iconClass:[String,Array,Object]},computed:{currentConfig(){if(!this.config)return!1;let t=this.config;if(t instanceof Function)return[t];if(null===t)return[];if(!0===this.config&&(t=["csv"]),"[object String]"===Object.prototype.toString.call(t)&&(t=t.split(",")),"object"==typeof t&&!Array.isArray(t)){let a=[];for(var e in t){var n,r=t[e];r&&("[object String]"===Object.prototype.toString.call(r)?null!==(n=this.stringToFileFormatter(r))?a.push({icon:"fa-solid "+H[n],label:r===e?M[n]:e,formatter:n}):null!==(n=this.stringToFileFormatter(e))?a.push({icon:"fa-solid "+H[n],label:r,formatter:n}):alert("neither "+e+" nor "+r+" are supported download file types"):"object"!=typeof r||Array.isArray(r)?null!==(n=this.stringToFileFormatter(e))?a.push({icon:"fa-solid "+H[n],label:M[n],formatter:n}):alert(e+" is not a supported download file type"):null!==(n=this.stringToFileFormatter(e))?(void 0===r.formatter&&(r.formatter=n),void 0===r.label&&(r.label=M[n]),void 0===r.icon&&(r.icon=H[n]),a.push(r)):(void 0===r.label&&(r.label=e),a.push(r)))}t=a}if(Array.isArray(t)){if(t=t.map(t=>{if("[object String]"===Object.prototype.toString.call(t)){let e=this.stringToFileFormatter(t);return null===e?null:{icon:"fa-solid "+H[e],label:M[e],formatter:e}}if(t instanceof Function)return{formatter:t};if("object"==typeof t&&!Array.isArray(t)&&null!==t){if(t.formatter instanceof Function)return t;if(this.validateFileFormatter(t.formatter))return t}return null}).filter(t=>null!==t),t.length<2)return t;if(t.filter(t=>t.label||t.icon).length==t.length)return t;alert("Config not valid")}return[]}},methods:{stringToFileFormatter(t){let e=t.toLowerCase();return"jsonlines"==e?"jsonLines":["xlsx","pdf","html","json","csv"].includes(e)?e:null},validateFileFormatter(t){let e=this.stringToFileFormatter(t);if(!e)return alert(t+" is not a supported file formatter"),!1;if("xlsx"==e&&!window.XLSX)return alert("XLSX Library not loaded"),!1;if("pdf"==e){if(!window.jspdf)return alert("jsPDF Library not loaded"),!1;if(!new jspdf.jsPDF({}).autoTable)return alert("jsPDF-AutoTable Plugin not loaded"),!1}return!0},download(t){this.tabulator.download(t.formatter,t.file,t.options)}},template:'\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t