diff --git a/src/static/app/src/views/signin.vue b/src/static/app/src/views/signin.vue index 6d034c39..94226fdf 100644 --- a/src/static/app/src/views/signin.vue +++ b/src/static/app/src/views/signin.vue @@ -172,11 +172,24 @@ export default {
+ + + + + + +
+ class="form-check-input" + type="checkbox" + role="switch" + id="flexSwitchCheckChecked"> diff --git a/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-DDEBJ8Q3.js b/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-CrCjGd3j.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-DDEBJ8Q3.js rename to src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-CrCjGd3j.js index ae588245..9e1e1704 100644 --- a/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-DDEBJ8Q3.js +++ b/src/static/dist/WGDashboardAdmin/assets/DashboardClientAssignmentStore-CrCjGd3j.js @@ -1 +1 @@ -import{a5 as A,r as n,D as S,g as l,z as v}from"./index-DYYtDSji.js";const b=A("DashboardClientAssignmentStore",()=>{const f=n({}),d=n([]),o=n({}),c=n([]),g=n(!1),r=n(""),i=S(),w=async()=>{await l("/api/clients/allClients",{},s=>{o.value=s.data})},y=async()=>{await l("/api/clients/allClientsRaw",{},s=>{c.value=s.data,console.log(c.value)})},m=s=>Object.values(o.value).flat().find(e=>e.ClientID===s),u=async(s,e)=>{await l("/api/clients/assignedClients",{ConfigurationName:s,Peer:e},a=>{d.value=a.data})};return{assignments:d,getAssignedClients:u,getClients:w,getClientsRaw:y,clients:o,unassignClient:async(s,e,a)=>{g.value=!0,await v("/api/clients/unassignClient",{AssignmentID:a},async t=>{t.status?(i.newMessage("Server","Unassign successfully!","success"),s&&e&&await u(s,e)):(i.newMessage("Server","Unassign Failed. Reason: "+t.message,"success"),console.error("Unassign Failed. Reason: "+t.message)),g.value=!1})},assignClient:async(s,e,a,t=!0)=>{r.value=a,await v("/api/clients/assignClient",{ConfigurationName:s,Peer:e,ClientID:a},async C=>{C.status?(i.newMessage("Server","Assign successfully!","success"),t&&await u(s,e)):(i.newMessage("Server","Assign Failed. Reason: "+C.message,"success"),console.error("Assign Failed. Reason: "+C.message)),r.value=""})},getClientById:m,unassigning:g,assigning:r,clientsRaw:c,allConfigurationsPeers:f,getAllConfigurationsPeers:async()=>{await l("/api/clients/allConfigurationsPeers",{},s=>{f.value=s.data})}}});export{b as D}; +import{a5 as A,r as n,D as S,g as l,z as v}from"./index-Y3pG9DoR.js";const b=A("DashboardClientAssignmentStore",()=>{const f=n({}),d=n([]),o=n({}),c=n([]),g=n(!1),r=n(""),i=S(),w=async()=>{await l("/api/clients/allClients",{},s=>{o.value=s.data})},y=async()=>{await l("/api/clients/allClientsRaw",{},s=>{c.value=s.data,console.log(c.value)})},m=s=>Object.values(o.value).flat().find(e=>e.ClientID===s),u=async(s,e)=>{await l("/api/clients/assignedClients",{ConfigurationName:s,Peer:e},a=>{d.value=a.data})};return{assignments:d,getAssignedClients:u,getClients:w,getClientsRaw:y,clients:o,unassignClient:async(s,e,a)=>{g.value=!0,await v("/api/clients/unassignClient",{AssignmentID:a},async t=>{t.status?(i.newMessage("Server","Unassign successfully!","success"),s&&e&&await u(s,e)):(i.newMessage("Server","Unassign Failed. Reason: "+t.message,"success"),console.error("Unassign Failed. Reason: "+t.message)),g.value=!1})},assignClient:async(s,e,a,t=!0)=>{r.value=a,await v("/api/clients/assignClient",{ConfigurationName:s,Peer:e,ClientID:a},async C=>{C.status?(i.newMessage("Server","Assign successfully!","success"),t&&await u(s,e)):(i.newMessage("Server","Assign Failed. Reason: "+C.message,"success"),console.error("Assign Failed. Reason: "+C.message)),r.value=""})},getClientById:m,unassigning:g,assigning:r,clientsRaw:c,allConfigurationsPeers:f,getAllConfigurationsPeers:async()=>{await l("/api/clients/allConfigurationsPeers",{},s=>{f.value=s.data})}}});export{b as D}; diff --git a/src/static/dist/WGDashboardAdmin/assets/browser-LdOMKRZX.js b/src/static/dist/WGDashboardAdmin/assets/browser-QmM-r3j5.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/browser-LdOMKRZX.js rename to src/static/dist/WGDashboardAdmin/assets/browser-QmM-r3j5.js index 12aaf90a..651ab18a 100644 --- a/src/static/dist/WGDashboardAdmin/assets/browser-LdOMKRZX.js +++ b/src/static/dist/WGDashboardAdmin/assets/browser-QmM-r3j5.js @@ -1,4 +1,4 @@ -import{O as te}from"./index-DYYtDSji.js";import{r as ee}from"./galois-field-I2lBzzs-.js";var z={},Q,Bt;function ne(){return Bt||(Bt=1,Q=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),Q}var G={},U={},pt;function _(){if(pt)return U;pt=1;let r;const o=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return U.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17},U.getSymbolTotalCodewords=function(n){return o[n]},U.getBCHDigit=function(i){let n=0;for(;i!==0;)n++,i>>>=1;return n},U.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');r=n},U.isKanjiModeEnabled=function(){return typeof r<"u"},U.toSJIS=function(n){return r(n)},U}var $={},Rt;function wt(){return Rt||(Rt=1,(function(r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2};function o(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+i)}}r.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},r.from=function(n,t){if(r.isValid(n))return n;try{return o(n)}catch{return t}}})($)),$}var W,At;function re(){if(At)return W;At=1;function r(){this.buffer=[],this.length=0}return r.prototype={get:function(o){const i=Math.floor(o/8);return(this.buffer[i]>>>7-o%8&1)===1},put:function(o,i){for(let n=0;n>>i-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(o){const i=Math.floor(this.length/8);this.buffer.length<=i&&this.buffer.push(0),o&&(this.buffer[i]|=128>>>this.length%8),this.length++}},W=r,W}var Z,It;function oe(){if(It)return Z;It=1;function r(o){if(!o||o<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=o,this.data=new Uint8Array(o*o),this.reservedBit=new Uint8Array(o*o)}return r.prototype.set=function(o,i,n,t){const e=o*this.size+i;this.data[e]=n,t&&(this.reservedBit[e]=!0)},r.prototype.get=function(o,i){return this.data[o*this.size+i]},r.prototype.xor=function(o,i,n){this.data[o*this.size+i]^=n},r.prototype.isReserved=function(o,i){return this.reservedBit[o*this.size+i]},Z=r,Z}var X={},Nt;function ie(){return Nt||(Nt=1,(function(r){const o=_().getSymbolSize;r.getRowColCoords=function(n){if(n===1)return[];const t=Math.floor(n/7)+2,e=o(n),s=e===145?26:Math.ceil((e-13)/(2*t-2))*2,a=[e-7];for(let u=1;u=0&&t<=7},r.from=function(t){return r.isValid(t)?parseInt(t,10):void 0},r.getPenaltyN1=function(t){const e=t.size;let s=0,a=0,u=0,c=null,d=null;for(let B=0;B=5&&(s+=o.N1+(a-5)),c=f,a=1),f=t.get(h,B),f===d?u++:(u>=5&&(s+=o.N1+(u-5)),d=f,u=1)}a>=5&&(s+=o.N1+(a-5)),u>=5&&(s+=o.N1+(u-5))}return s},r.getPenaltyN2=function(t){const e=t.size;let s=0;for(let a=0;a=10&&(a===1488||a===93)&&s++,u=u<<1&2047|t.get(d,c),d>=10&&(u===1488||u===93)&&s++}return s*o.N3},r.getPenaltyN4=function(t){let e=0;const s=t.data.length;for(let u=0;u=0;){const s=e[0];for(let u=0;u0){const a=new Uint8Array(this.degree);return a.set(e,s),a}return e},nt=o,nt}var rt={},ot={},it={},Lt;function Gt(){return Lt||(Lt=1,it.isValid=function(o){return!isNaN(o)&&o>=1&&o<=40}),it}var L={},Dt;function $t(){if(Dt)return L;Dt=1;const r="[0-9]+",o="[A-Z $%*+\\-./:]+";let i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";i=i.replace(/u/g,"\\u");const n="(?:(?![A-Z0-9 $%*+\\-./:]|"+i+`)(?:.|[\r +import{O as te}from"./index-Y3pG9DoR.js";import{r as ee}from"./galois-field-I2lBzzs-.js";var z={},Q,Bt;function ne(){return Bt||(Bt=1,Q=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),Q}var G={},U={},pt;function _(){if(pt)return U;pt=1;let r;const o=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return U.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17},U.getSymbolTotalCodewords=function(n){return o[n]},U.getBCHDigit=function(i){let n=0;for(;i!==0;)n++,i>>>=1;return n},U.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');r=n},U.isKanjiModeEnabled=function(){return typeof r<"u"},U.toSJIS=function(n){return r(n)},U}var $={},Rt;function wt(){return Rt||(Rt=1,(function(r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2};function o(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+i)}}r.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},r.from=function(n,t){if(r.isValid(n))return n;try{return o(n)}catch{return t}}})($)),$}var W,At;function re(){if(At)return W;At=1;function r(){this.buffer=[],this.length=0}return r.prototype={get:function(o){const i=Math.floor(o/8);return(this.buffer[i]>>>7-o%8&1)===1},put:function(o,i){for(let n=0;n>>i-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(o){const i=Math.floor(this.length/8);this.buffer.length<=i&&this.buffer.push(0),o&&(this.buffer[i]|=128>>>this.length%8),this.length++}},W=r,W}var Z,It;function oe(){if(It)return Z;It=1;function r(o){if(!o||o<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=o,this.data=new Uint8Array(o*o),this.reservedBit=new Uint8Array(o*o)}return r.prototype.set=function(o,i,n,t){const e=o*this.size+i;this.data[e]=n,t&&(this.reservedBit[e]=!0)},r.prototype.get=function(o,i){return this.data[o*this.size+i]},r.prototype.xor=function(o,i,n){this.data[o*this.size+i]^=n},r.prototype.isReserved=function(o,i){return this.reservedBit[o*this.size+i]},Z=r,Z}var X={},Nt;function ie(){return Nt||(Nt=1,(function(r){const o=_().getSymbolSize;r.getRowColCoords=function(n){if(n===1)return[];const t=Math.floor(n/7)+2,e=o(n),s=e===145?26:Math.ceil((e-13)/(2*t-2))*2,a=[e-7];for(let u=1;u=0&&t<=7},r.from=function(t){return r.isValid(t)?parseInt(t,10):void 0},r.getPenaltyN1=function(t){const e=t.size;let s=0,a=0,u=0,c=null,d=null;for(let B=0;B=5&&(s+=o.N1+(a-5)),c=f,a=1),f=t.get(h,B),f===d?u++:(u>=5&&(s+=o.N1+(u-5)),d=f,u=1)}a>=5&&(s+=o.N1+(a-5)),u>=5&&(s+=o.N1+(u-5))}return s},r.getPenaltyN2=function(t){const e=t.size;let s=0;for(let a=0;a=10&&(a===1488||a===93)&&s++,u=u<<1&2047|t.get(d,c),d>=10&&(u===1488||u===93)&&s++}return s*o.N3},r.getPenaltyN4=function(t){let e=0;const s=t.data.length;for(let u=0;u=0;){const s=e[0];for(let u=0;u0){const a=new Uint8Array(this.degree);return a.set(e,s),a}return e},nt=o,nt}var rt={},ot={},it={},Lt;function Gt(){return Lt||(Lt=1,it.isValid=function(o){return!isNaN(o)&&o>=1&&o<=40}),it}var L={},Dt;function $t(){if(Dt)return L;Dt=1;const r="[0-9]+",o="[A-Z $%*+\\-./:]+";let i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";i=i.replace(/u/g,"\\u");const n="(?:(?![A-Z0-9 $%*+\\-./:]|"+i+`)(?:.|[\r ]))+`;L.KANJI=new RegExp(i,"g"),L.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),L.BYTE=new RegExp(n,"g"),L.NUMERIC=new RegExp(r,"g"),L.ALPHANUMERIC=new RegExp(o,"g");const t=new RegExp("^"+i+"$"),e=new RegExp("^"+r+"$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return L.testKanji=function(u){return t.test(u)},L.testNumeric=function(u){return e.test(u)},L.testAlphanumeric=function(u){return s.test(u)},L}var qt;function F(){return qt||(qt=1,(function(r){const o=Gt(),i=$t();r.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},r.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},r.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},r.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},r.MIXED={bit:-1},r.getCharCountIndicator=function(e,s){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!o.isValid(s))throw new Error("Invalid version: "+s);return s>=1&&s<10?e.ccBits[0]:s<27?e.ccBits[1]:e.ccBits[2]},r.getBestModeForData=function(e){return i.testNumeric(e)?r.NUMERIC:i.testAlphanumeric(e)?r.ALPHANUMERIC:i.testKanji(e)?r.KANJI:r.BYTE},r.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")},r.isValid=function(e){return e&&e.bit&&e.ccBits};function n(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return r.NUMERIC;case"alphanumeric":return r.ALPHANUMERIC;case"kanji":return r.KANJI;case"byte":return r.BYTE;default:throw new Error("Unknown mode: "+t)}}r.from=function(e,s){if(r.isValid(e))return e;try{return n(e)}catch{return s}}})(ot)),ot}var vt;function fe(){return vt||(vt=1,(function(r){const o=_(),i=Qt(),n=wt(),t=F(),e=Gt(),s=7973,a=o.getBCHDigit(s);function u(h,f,T){for(let M=1;M<=40;M++)if(f<=r.getCapacity(M,T,h))return M}function c(h,f){return t.getCharCountIndicator(h,f)+4}function d(h,f){let T=0;return h.forEach(function(M){const S=c(M.mode,f);T+=S+M.getBitsLength()}),T}function B(h,f){for(let T=1;T<=40;T++)if(d(h,T)<=r.getCapacity(T,f,t.MIXED))return T}r.from=function(f,T){return e.isValid(f)?parseInt(f,10):T},r.getCapacity=function(f,T,M){if(!e.isValid(f))throw new Error("Invalid QR Code version");typeof M>"u"&&(M=t.BYTE);const S=o.getSymbolTotalCodewords(f),A=i.getTotalCodewordsCount(f,T),P=(S-A)*8;if(M===t.MIXED)return P;const I=P-c(M,f);switch(M){case t.NUMERIC:return Math.floor(I/10*3);case t.ALPHANUMERIC:return Math.floor(I/11*2);case t.KANJI:return Math.floor(I/13);case t.BYTE:default:return Math.floor(I/8)}},r.getBestVersionForData=function(f,T){let M;const S=n.from(T,n.M);if(Array.isArray(f)){if(f.length>1)return B(f,S);if(f.length===0)return 1;M=f[0]}else M=f;return u(M.mode,M.getLength(),S)},r.getEncodedBits=function(f){if(!e.isValid(f)||f<7)throw new Error("Invalid QR Code version");let T=f<<12;for(;o.getBCHDigit(T)-a>=0;)T^=s<=0;)u^=o<0&&(e=this.data.substr(t),s=parseInt(e,10),n.put(s,a*3+1))},at=o,at}var ct,Ft;function ge(){if(Ft)return ct;Ft=1;const r=F(),o=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function i(n){this.mode=r.ALPHANUMERIC,this.data=n}return i.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){let e;for(e=0;e+2<=this.data.length;e+=2){let s=o.indexOf(this.data[e])*45;s+=o.indexOf(this.data[e+1]),t.put(s,11)}this.data.length%2&&t.put(o.indexOf(this.data[e]),6)},ct=i,ct}var ft,kt;function he(){if(kt)return ft;kt=1;const r=F();function o(i){this.mode=r.BYTE,typeof i=="string"?this.data=new TextEncoder().encode(i):this.data=new Uint8Array(i)}return o.getBitsLength=function(n){return n*8},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(i){for(let n=0,t=this.data.length;n=33088&&e<=40956)e-=33088;else if(e>=57408&&e<=60351)e-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` Make sure your charset is UTF-8`);e=(e>>>8&255)*192+(e&255),n.put(e,13)}},lt=i,lt}var dt={exports:{}},Vt;function we(){return Vt||(Vt=1,(function(r){var o={single_source_shortest_paths:function(i,n,t){var e={},s={};s[n]=0;var a=o.PriorityQueue.make();a.push(n,0);for(var u,c,d,B,h,f,T,M,S;!a.empty();){u=a.pop(),c=u.value,B=u.cost,h=i[c]||{};for(d in h)h.hasOwnProperty(d)&&(f=h[d],T=B+f,M=s[d],S=typeof s[d]>"u",(S||M>T)&&(s[d]=T,a.push(d,T),e[d]=c))}if(typeof t<"u"&&typeof s[t]>"u"){var A=["Could not find a path from ",n," to ",t,"."].join("");throw new Error(A)}return e},extract_shortest_path_from_predecessor_list:function(i,n){for(var t=[],e=n;e;)t.push(e),i[e],e=i[e];return t.reverse(),t},find_path:function(i,n,t){var e=o.single_source_shortest_paths(i,n,t);return o.extract_shortest_path_from_predecessor_list(e,t)},PriorityQueue:{make:function(i){var n=o.PriorityQueue,t={},e;i=i||{};for(e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t.queue=[],t.sorter=i.sorter||n.default_sorter,t},default_sorter:function(i,n){return i.cost-n.cost},push:function(i,n){var t={value:i,cost:n};this.queue.push(t),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};r.exports=o})(dt)),dt.exports}var Kt;function Ce(){return Kt||(Kt=1,(function(r){const o=F(),i=de(),n=ge(),t=he(),e=me(),s=$t(),a=_(),u=we();function c(A){return unescape(encodeURIComponent(A)).length}function d(A,P,I){const p=[];let b;for(;(b=A.exec(I))!==null;)p.push({data:b[0],index:b.index,mode:P,length:b[0].length});return p}function B(A){const P=d(s.NUMERIC,o.NUMERIC,A),I=d(s.ALPHANUMERIC,o.ALPHANUMERIC,A);let p,b;return a.isKanjiModeEnabled()?(p=d(s.BYTE,o.BYTE,A),b=d(s.KANJI,o.KANJI,A)):(p=d(s.BYTE_KANJI,o.BYTE,A),b=[]),P.concat(I,p,b).sort(function(y,C){return y.index-C.index}).map(function(y){return{data:y.data,mode:y.mode,length:y.length}})}function h(A,P){switch(P){case o.NUMERIC:return i.getBitsLength(A);case o.ALPHANUMERIC:return n.getBitsLength(A);case o.KANJI:return e.getBitsLength(A);case o.BYTE:return t.getBitsLength(A)}}function f(A){return A.reduce(function(P,I){const p=P.length-1>=0?P[P.length-1]:null;return p&&p.mode===I.mode?(P[P.length-1].data+=I.data,P):(P.push(I),P)},[])}function T(A){const P=[];for(let I=0;I=0&&w<=6&&(N===0||N===6)||N>=0&&N<=6&&(w===0||w===6)||w>=2&&w<=4&&N>=2&&N<=4?g.set(m+w,E+N,!0,!0):g.set(m+w,E+N,!1,!0))}}function T(g){const y=g.size;for(let C=8;C>w&1)===1,g.set(R,m,E,!0),g.set(m,R,E,!0)}function A(g,y,C){const l=g.size,R=d.getEncodedBits(y,C);let m,E;for(m=0;m<15;m++)E=(R>>m&1)===1,m<6?g.set(m,8,E,!0):m<8?g.set(m+1,8,E,!0):g.set(l-15+m,8,E,!0),m<8?g.set(8,l-m-1,E,!0):m<9?g.set(8,15-m-1+1,E,!0):g.set(8,15-m-1,E,!0);g.set(l-8,8,1,!0)}function P(g,y){const C=g.size;let l=-1,R=C-1,m=7,E=0;for(let w=C-1;w>0;w-=2)for(w===6&&w--;;){for(let N=0;N<2;N++)if(!g.isReserved(R,w-N)){let v=!1;E>>m&1)===1),g.set(R,w-N,v),m--,m===-1&&(E++,m=7)}if(R+=l,R<0||C<=R){R-=l,l=-l;break}}}function I(g,y,C){const l=new i;C.forEach(function(N){l.put(N.mode.bit,4),l.put(N.getLength(),B.getCharCountIndicator(N.mode,g)),N.write(l)});const R=r.getSymbolTotalCodewords(g),m=a.getTotalCodewordsCount(g,y),E=(R-m)*8;for(l.getLengthInBits()+4<=E&&l.put(0,4);l.getLengthInBits()%8!==0;)l.putBit(0);const w=(E-l.getLengthInBits())/8;for(let N=0;Na.clientAssignedPeers&&Object.keys(a.clientAssignedPeers).includes(a.configuration)?a.peers.filter(n=>!a.clientAssignedPeers[a.configuration].map(t=>t.id).includes(n.id)&&(!a.availablePeerSearchString||a.availablePeerSearchString&&(n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)))):a.availablePeerSearchString?a.peers.filter(n=>n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)):a.peers),p=h(!1),v=h(!1);return(n,t)=>{const g=M("RouterLink");return l(),i("div",H,[e("div",{onClick:t[0]||(t[0]=s=>v.value=!v.value),role:"button",class:"card-header rounded-0 sticky-top bg-body-secondary border-0 border-bottom text-white d-flex"},[e("small",null,[e("samp",null,x(c.configuration),1)]),e("a",Q,[v.value?(l(),i("i",X)):(l(),i("i",Z))])]),v.value?_("",!0):(l(),i("div",ee,[e("div",se,[(l(!0),i(C,null,N(b.value,s=>(l(),i("div",{class:"list-group-item d-flex border-bottom list-group-item-action d-flex align-items-center gap-3",key:s.id},[p.value?(l(),i("div",ie,[e("small",ae,[o(r,{t:"Are you sure to remove this peer?"})]),t[2]||(t[2]=e("br",null,null,-1)),e("small",oe,[e("samp",null,x(s.id),1)])])):(l(),i("div",te,[e("small",le,[o(g,{class:"text-decoration-none",target:"_blank",to:"/configuration/"+c.configuration+"/peers?id="+encodeURIComponent(s.id)},{default:B(()=>[e("samp",null,x(s.id),1)]),_:2},1032,["to"])]),t[1]||(t[1]=e("br",null,null,-1)),e("small",ne,x(s.name?s.name:"Untitled Peer"),1)])),c.clientAssignedPeers?(l(),i("button",{key:2,onClick:m=>f("assign",s.id),class:L([{disabled:w(d).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},[...t[3]||(t[3]=[e("i",{class:"bi bi-plus-circle-fill"},null,-1)])],10,re)):(l(),i("button",{key:3,onClick:m=>f("unassign",s.assignment_id),class:L([{disabled:w(d).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},[...t[4]||(t[4]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],10,de))]))),128))])]))])}}}),ce={key:0,class:"d-flex rounded-0 border-0 flex-column d-flex flex-column border-bottom pb-1"},ue={class:"d-flex flex-column p-3 gap-3"},me={class:"d-flex align-items-center"},be={class:"mb-0"},ge={class:"text-bg-primary badge ms-2"},ve={class:"text-bg-info badge ms-2"},fe={class:"rounded-3 availablePeers border h-100 overflow-scroll flex-grow-1 d-flex flex-column"},pe={key:0,class:"text-muted m-auto p-3"},he={key:0,style:{height:"500px"},class:"d-flex flex-column p-3"},xe={class:"availablePeers border h-100 card rounded-3"},ye={class:"card-header sticky-top p-3"},_e={class:"mb-0 d-flex align-items-center"},ke={class:"card-body p-0 overflow-scroll"},Ce={key:0,class:"text-muted m-auto"},Pe={class:"card-footer d-flex gap-2 p-3 align-items-center justify-content-end"},Se={key:1},$e=D({__name:"clientAssignedPeers",props:["client","clientAssignedPeers"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=j(),b=h(!1),p=k,v=async(g,s,m)=>{await d.assignClient(g,s,m,!1),p("refresh")},n=async g=>{await d.unassignClient(void 0,void 0,g),p("refresh")},t=h("");return(g,s)=>(l(),i("div",null,[f.value?(l(),i("div",Se,[...s[6]||(s[6]=[e("div",{class:"p-3 placeholder-glow border-bottom"},[e("h6",{class:"placeholder w-100 rounded-3"}),e("div",{class:"placeholder w-100 rounded-3",style:{height:"400px"}})],-1)])])):(l(),i("div",ce,[e("div",ue,[e("div",me,[e("h6",be,[o(r,{t:"Assigned Peers"}),e("span",ge,[I(x(Object.keys(c.clientAssignedPeers).length)+" ",1),o(r,{t:Object.keys(c.clientAssignedPeers).length>1?"Configurations":"Configuration"},null,8,["t"])]),e("span",ve,[I(x(Object.values(c.clientAssignedPeers).flat().length)+" ",1),o(r,{t:Object.values(c.clientAssignedPeers).flat().length>1?"Peers":"Peer"},null,8,["t"])])]),e("button",{class:"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3 ms-auto",onClick:s[0]||(s[0]=m=>b.value=!b.value)},[b.value?(l(),i(C,{key:1},[s[4]||(s[4]=e("i",{class:"bi bi-check me-2"},null,-1)),o(r,{t:"Done"})],64)):(l(),i(C,{key:0},[s[3]||(s[3]=e("i",{class:"bi bi-list-check me-2"},null,-1)),o(r,{t:"Manage"})],64))])]),e("div",fe,[(l(!0),i(C,null,N(c.clientAssignedPeers,(m,y)=>(l(),A(R,{configuration:y,peers:m,onUnassign:s[1]||(s[1]=async P=>await n(P))},null,8,["configuration","peers"]))),256)),Object.keys(c.clientAssignedPeers).length===0?(l(),i("h6",pe,[o(r,{t:"No peer assigned to this client"})])):_("",!0)])]),b.value?(l(),i("div",he,[e("div",xe,[e("div",ye,[e("h6",_e,[o(r,{t:"Available Peers"})])]),e("div",ke,[(l(!0),i(C,null,N(w(d).allConfigurationsPeers,(m,y)=>(l(),A(R,{availablePeerSearchString:t.value,configuration:y,clientAssignedPeers:c.clientAssignedPeers,peers:m,key:y,onAssign:async P=>await v(y,P,a.client.ClientID)},null,8,["availablePeerSearchString","configuration","clientAssignedPeers","peers","onAssign"]))),128)),Object.keys(w(d).allConfigurationsPeers).length===0?(l(),i("h6",Ce,[o(r,{t:"No peer is available to assign"})])):_("",!0)]),e("div",Pe,[s[5]||(s[5]=e("label",{for:"availablePeerSearchString"},[e("i",{class:"bi bi-search me-2"})],-1)),O(e("input",{id:"availablePeerSearchString","onUpdate:modelValue":s[2]||(s[2]=m=>t.value=m),class:"form-control form-control-sm rounded-3 w-auto",type:"text"},null,512),[[U,t.value]])])])])):_("",!0)]))]))}}),we={class:"p-3 d-flex gap-3 flex-column border-bottom"},Ae={class:"d-flex align-items-center gap-2"},De={class:"mb-0"},Ne=D({__name:"clientDelete",props:["client"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=h(!1),b=k,p=E(),v=async()=>{f.value=!0,await z("/api/clients/deleteClient",{ClientID:a.client.ClientID},n=>{f.value=!1,n.status?(b("deleteSuccess"),p.newMessage("Server","Delete client successfully","success")):p.newMessage("Server","Failed to delete client","danger")})};return(n,t)=>(l(),i("div",we,[e("div",Ae,[e("h6",De,[d.value?(l(),A(r,{key:1,t:"Are you sure to delete this client?"})):(l(),A(r,{key:0,t:"Delete Client"}))]),d.value?_("",!0):(l(),i("button",{key:0,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto",onClick:t[0]||(t[0]=g=>d.value=!0)},[t[2]||(t[2]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Delete"})])),d.value?(l(),i(C,{key:1},[e("button",{onClick:v,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto"},[t[3]||(t[3]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Yes"})]),d.value?(l(),i("button",{key:0,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:t[1]||(t[1]=g=>d.value=!1)},[t[4]||(t[4]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),o(r,{t:"No"})])):_("",!0)],64)):_("",!0)])]))}}),Ie={class:"p-4 border-bottom bg-body-tertiary z-0"},je={class:"mb-3 backLink"},Le={class:"text-muted"},Re={class:"d-flex flex-column gap-2"},Ve={class:"d-flex align-items-center"},Be={class:"text-muted"},Me={class:"ms-auto"},Oe={class:"d-flex align-items-center gap-2"},Ue={class:"text-muted"},Ee={style:{flex:"1 0 0","overflow-y":"scroll"}},ze={key:1,class:"d-flex w-100 h-100 text-muted"},Fe={class:"m-auto text-center"},Ge=D({__name:"clientViewer",emits:["deleteSuccess"],async setup(c,{emit:k}){let a,f;const d=j(),b=E(),p=G(),v=K(),n=V(()=>d.getClientById(p.params.id)),t=h({}),g=async()=>{await W("/api/clients/assignedPeers",{ClientID:n.value.ClientID},S=>{t.value=S.data})},s=T({Name:void 0});n.value?(q(()=>n.value.ClientID,async()=>{s.Name=n.value.Name,await g()}),[a,f]=J(()=>g()),await a,f(),s.Name=n.value.Name):(v.push("/clients"),b.newMessage("WGDashboard","Client does not exist","danger"));const m=h(!1),y=async()=>{m.value=!0,await z("/api/clients/updateProfileName",{ClientID:n.value.ClientID,Name:s.Name},S=>{S.status?(n.value.Name=s.Name,b.newMessage("Server","Client name update success","success")):(s.Name=n.value.Name,b.newMessage("Server","Client name update failed","danger")),m.value=!1})},P=async()=>{await v.push("/clients"),await d.getClients()};return(S,u)=>{const F=M("RouterLink");return n.value?(l(),i("div",{class:"text-body d-flex flex-column overflow-y-scroll h-100",key:n.value.ClientID},[e("div",Ie,[e("div",je,[o(F,{to:"/clients",class:"text-body text-decoration-none"},{default:B(()=>[...u[4]||(u[4]=[e("i",{class:"bi bi-arrow-left me-2"},null,-1),I(" Back",-1)])]),_:1})]),e("small",Le,[o(r,{t:"Email"})]),e("h1",null,x(n.value.Email),1),e("div",Re,[e("div",Ve,[e("small",Be,[o(r,{t:"Client ID"})]),e("small",Me,[e("samp",null,x(n.value.ClientID),1)])]),e("div",Oe,[e("small",Ue,[o(r,{t:"Client Name"})]),O(e("input",{class:"form-control form-control-sm rounded-3 ms-auto",style:{width:"300px"},type:"text","onUpdate:modelValue":u[0]||(u[0]=$=>s.Name=$)},null,512),[[U,s.Name]]),e("button",{onClick:u[1]||(u[1]=$=>y()),"aria-label":"Save Client Name",class:"btn btn-sm rounded-3 bg-success-subtle border-success-subtle text-success-emphasis"},[...u[5]||(u[5]=[e("i",{class:"bi bi-save-fill"},null,-1)])])])])]),e("div",Ee,[o($e,{onRefresh:u[2]||(u[2]=$=>g()),clientAssignedPeers:t.value,client:n.value},null,8,["clientAssignedPeers","client"]),o(Ne,{onDeleteSuccess:u[3]||(u[3]=$=>P()),client:n.value},null,8,["client"])])])):(l(),i("div",ze,[e("div",Fe,[u[6]||(u[6]=e("h1",null,[e("i",{class:"bi bi-person-x"})],-1)),e("p",null,[o(r,{t:"Client does not exist"})])])]))}}}),Ke=Y(Ge,[["__scopeId","data-v-f874264d"]]);export{Ke as default}; +import{B as D,q as V,r as h,c as i,a as e,d as _,t as x,F as C,i as N,b as o,w as B,h as M,n as L,u as w,f as l,e as I,m as O,y as U,j as A,D as E,z,L as G,J as T,I as q,E as J,K,g as W,_ as Y}from"./index-Y3pG9DoR.js";import{D as j}from"./DashboardClientAssignmentStore-CrCjGd3j.js";import{L as r}from"./localeText-DcQapG1o.js";const H={class:"card rounded-0 border-0"},Q={role:"button",class:"ms-auto text-white"},X={key:0,class:"bi bi-chevron-compact-down"},Z={key:1,class:"bi bi-chevron-compact-up"},ee={key:0,class:"card-body p-0"},se={class:"list-group list-group-flush"},te={key:0},le={class:"text-body"},ne={class:"text-muted"},ie={key:1},ae={class:"text-body"},oe={class:"text-muted"},re=["onClick"],de=["onClick"],R=D({__name:"availablePeersGroup",props:["configuration","peers","clientAssignedPeers","availablePeerSearchString"],emits:["assign","unassign"],setup(c,{emit:k}){const a=c,f=k,d=j(),b=V(()=>a.clientAssignedPeers&&Object.keys(a.clientAssignedPeers).includes(a.configuration)?a.peers.filter(n=>!a.clientAssignedPeers[a.configuration].map(t=>t.id).includes(n.id)&&(!a.availablePeerSearchString||a.availablePeerSearchString&&(n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)))):a.availablePeerSearchString?a.peers.filter(n=>n.id.includes(a.availablePeerSearchString)||n.name.includes(a.availablePeerSearchString)):a.peers),p=h(!1),v=h(!1);return(n,t)=>{const g=M("RouterLink");return l(),i("div",H,[e("div",{onClick:t[0]||(t[0]=s=>v.value=!v.value),role:"button",class:"card-header rounded-0 sticky-top bg-body-secondary border-0 border-bottom text-white d-flex"},[e("small",null,[e("samp",null,x(c.configuration),1)]),e("a",Q,[v.value?(l(),i("i",X)):(l(),i("i",Z))])]),v.value?_("",!0):(l(),i("div",ee,[e("div",se,[(l(!0),i(C,null,N(b.value,s=>(l(),i("div",{class:"list-group-item d-flex border-bottom list-group-item-action d-flex align-items-center gap-3",key:s.id},[p.value?(l(),i("div",ie,[e("small",ae,[o(r,{t:"Are you sure to remove this peer?"})]),t[2]||(t[2]=e("br",null,null,-1)),e("small",oe,[e("samp",null,x(s.id),1)])])):(l(),i("div",te,[e("small",le,[o(g,{class:"text-decoration-none",target:"_blank",to:"/configuration/"+c.configuration+"/peers?id="+encodeURIComponent(s.id)},{default:B(()=>[e("samp",null,x(s.id),1)]),_:2},1032,["to"])]),t[1]||(t[1]=e("br",null,null,-1)),e("small",ne,x(s.name?s.name:"Untitled Peer"),1)])),c.clientAssignedPeers?(l(),i("button",{key:2,onClick:m=>f("assign",s.id),class:L([{disabled:w(d).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},[...t[3]||(t[3]=[e("i",{class:"bi bi-plus-circle-fill"},null,-1)])],10,re)):(l(),i("button",{key:3,onClick:m=>f("unassign",s.assignment_id),class:L([{disabled:w(d).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},[...t[4]||(t[4]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],10,de))]))),128))])]))])}}}),ce={key:0,class:"d-flex rounded-0 border-0 flex-column d-flex flex-column border-bottom pb-1"},ue={class:"d-flex flex-column p-3 gap-3"},me={class:"d-flex align-items-center"},be={class:"mb-0"},ge={class:"text-bg-primary badge ms-2"},ve={class:"text-bg-info badge ms-2"},fe={class:"rounded-3 availablePeers border h-100 overflow-scroll flex-grow-1 d-flex flex-column"},pe={key:0,class:"text-muted m-auto p-3"},he={key:0,style:{height:"500px"},class:"d-flex flex-column p-3"},xe={class:"availablePeers border h-100 card rounded-3"},ye={class:"card-header sticky-top p-3"},_e={class:"mb-0 d-flex align-items-center"},ke={class:"card-body p-0 overflow-scroll"},Ce={key:0,class:"text-muted m-auto"},Pe={class:"card-footer d-flex gap-2 p-3 align-items-center justify-content-end"},Se={key:1},$e=D({__name:"clientAssignedPeers",props:["client","clientAssignedPeers"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=j(),b=h(!1),p=k,v=async(g,s,m)=>{await d.assignClient(g,s,m,!1),p("refresh")},n=async g=>{await d.unassignClient(void 0,void 0,g),p("refresh")},t=h("");return(g,s)=>(l(),i("div",null,[f.value?(l(),i("div",Se,[...s[6]||(s[6]=[e("div",{class:"p-3 placeholder-glow border-bottom"},[e("h6",{class:"placeholder w-100 rounded-3"}),e("div",{class:"placeholder w-100 rounded-3",style:{height:"400px"}})],-1)])])):(l(),i("div",ce,[e("div",ue,[e("div",me,[e("h6",be,[o(r,{t:"Assigned Peers"}),e("span",ge,[I(x(Object.keys(c.clientAssignedPeers).length)+" ",1),o(r,{t:Object.keys(c.clientAssignedPeers).length>1?"Configurations":"Configuration"},null,8,["t"])]),e("span",ve,[I(x(Object.values(c.clientAssignedPeers).flat().length)+" ",1),o(r,{t:Object.values(c.clientAssignedPeers).flat().length>1?"Peers":"Peer"},null,8,["t"])])]),e("button",{class:"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3 ms-auto",onClick:s[0]||(s[0]=m=>b.value=!b.value)},[b.value?(l(),i(C,{key:1},[s[4]||(s[4]=e("i",{class:"bi bi-check me-2"},null,-1)),o(r,{t:"Done"})],64)):(l(),i(C,{key:0},[s[3]||(s[3]=e("i",{class:"bi bi-list-check me-2"},null,-1)),o(r,{t:"Manage"})],64))])]),e("div",fe,[(l(!0),i(C,null,N(c.clientAssignedPeers,(m,y)=>(l(),A(R,{configuration:y,peers:m,onUnassign:s[1]||(s[1]=async P=>await n(P))},null,8,["configuration","peers"]))),256)),Object.keys(c.clientAssignedPeers).length===0?(l(),i("h6",pe,[o(r,{t:"No peer assigned to this client"})])):_("",!0)])]),b.value?(l(),i("div",he,[e("div",xe,[e("div",ye,[e("h6",_e,[o(r,{t:"Available Peers"})])]),e("div",ke,[(l(!0),i(C,null,N(w(d).allConfigurationsPeers,(m,y)=>(l(),A(R,{availablePeerSearchString:t.value,configuration:y,clientAssignedPeers:c.clientAssignedPeers,peers:m,key:y,onAssign:async P=>await v(y,P,a.client.ClientID)},null,8,["availablePeerSearchString","configuration","clientAssignedPeers","peers","onAssign"]))),128)),Object.keys(w(d).allConfigurationsPeers).length===0?(l(),i("h6",Ce,[o(r,{t:"No peer is available to assign"})])):_("",!0)]),e("div",Pe,[s[5]||(s[5]=e("label",{for:"availablePeerSearchString"},[e("i",{class:"bi bi-search me-2"})],-1)),O(e("input",{id:"availablePeerSearchString","onUpdate:modelValue":s[2]||(s[2]=m=>t.value=m),class:"form-control form-control-sm rounded-3 w-auto",type:"text"},null,512),[[U,t.value]])])])])):_("",!0)]))]))}}),we={class:"p-3 d-flex gap-3 flex-column border-bottom"},Ae={class:"d-flex align-items-center gap-2"},De={class:"mb-0"},Ne=D({__name:"clientDelete",props:["client"],emits:["refresh"],setup(c,{emit:k}){const a=c,f=h(!1),d=h(!1),b=k,p=E(),v=async()=>{f.value=!0,await z("/api/clients/deleteClient",{ClientID:a.client.ClientID},n=>{f.value=!1,n.status?(b("deleteSuccess"),p.newMessage("Server","Delete client successfully","success")):p.newMessage("Server","Failed to delete client","danger")})};return(n,t)=>(l(),i("div",we,[e("div",Ae,[e("h6",De,[d.value?(l(),A(r,{key:1,t:"Are you sure to delete this client?"})):(l(),A(r,{key:0,t:"Delete Client"}))]),d.value?_("",!0):(l(),i("button",{key:0,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto",onClick:t[0]||(t[0]=g=>d.value=!0)},[t[2]||(t[2]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Delete"})])),d.value?(l(),i(C,{key:1},[e("button",{onClick:v,class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3 ms-auto"},[t[3]||(t[3]=e("i",{class:"bi bi-trash-fill me-2"},null,-1)),o(r,{t:"Yes"})]),d.value?(l(),i("button",{key:0,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:t[1]||(t[1]=g=>d.value=!1)},[t[4]||(t[4]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),o(r,{t:"No"})])):_("",!0)],64)):_("",!0)])]))}}),Ie={class:"p-4 border-bottom bg-body-tertiary z-0"},je={class:"mb-3 backLink"},Le={class:"text-muted"},Re={class:"d-flex flex-column gap-2"},Ve={class:"d-flex align-items-center"},Be={class:"text-muted"},Me={class:"ms-auto"},Oe={class:"d-flex align-items-center gap-2"},Ue={class:"text-muted"},Ee={style:{flex:"1 0 0","overflow-y":"scroll"}},ze={key:1,class:"d-flex w-100 h-100 text-muted"},Fe={class:"m-auto text-center"},Ge=D({__name:"clientViewer",emits:["deleteSuccess"],async setup(c,{emit:k}){let a,f;const d=j(),b=E(),p=G(),v=K(),n=V(()=>d.getClientById(p.params.id)),t=h({}),g=async()=>{await W("/api/clients/assignedPeers",{ClientID:n.value.ClientID},S=>{t.value=S.data})},s=T({Name:void 0});n.value?(q(()=>n.value.ClientID,async()=>{s.Name=n.value.Name,await g()}),[a,f]=J(()=>g()),await a,f(),s.Name=n.value.Name):(v.push("/clients"),b.newMessage("WGDashboard","Client does not exist","danger"));const m=h(!1),y=async()=>{m.value=!0,await z("/api/clients/updateProfileName",{ClientID:n.value.ClientID,Name:s.Name},S=>{S.status?(n.value.Name=s.Name,b.newMessage("Server","Client name update success","success")):(s.Name=n.value.Name,b.newMessage("Server","Client name update failed","danger")),m.value=!1})},P=async()=>{await v.push("/clients"),await d.getClients()};return(S,u)=>{const F=M("RouterLink");return n.value?(l(),i("div",{class:"text-body d-flex flex-column overflow-y-scroll h-100",key:n.value.ClientID},[e("div",Ie,[e("div",je,[o(F,{to:"/clients",class:"text-body text-decoration-none"},{default:B(()=>[...u[4]||(u[4]=[e("i",{class:"bi bi-arrow-left me-2"},null,-1),I(" Back",-1)])]),_:1})]),e("small",Le,[o(r,{t:"Email"})]),e("h1",null,x(n.value.Email),1),e("div",Re,[e("div",Ve,[e("small",Be,[o(r,{t:"Client ID"})]),e("small",Me,[e("samp",null,x(n.value.ClientID),1)])]),e("div",Oe,[e("small",Ue,[o(r,{t:"Client Name"})]),O(e("input",{class:"form-control form-control-sm rounded-3 ms-auto",style:{width:"300px"},type:"text","onUpdate:modelValue":u[0]||(u[0]=$=>s.Name=$)},null,512),[[U,s.Name]]),e("button",{onClick:u[1]||(u[1]=$=>y()),"aria-label":"Save Client Name",class:"btn btn-sm rounded-3 bg-success-subtle border-success-subtle text-success-emphasis"},[...u[5]||(u[5]=[e("i",{class:"bi bi-save-fill"},null,-1)])])])])]),e("div",Ee,[o($e,{onRefresh:u[2]||(u[2]=$=>g()),clientAssignedPeers:t.value,client:n.value},null,8,["clientAssignedPeers","client"]),o(Ne,{onDeleteSuccess:u[3]||(u[3]=$=>P()),client:n.value},null,8,["client"])])])):(l(),i("div",ze,[e("div",Fe,[u[6]||(u[6]=e("h1",null,[e("i",{class:"bi bi-person-x"})],-1)),e("p",null,[o(r,{t:"Client does not exist"})])])]))}}}),Ke=Y(Ge,[["__scopeId","data-v-f874264d"]]);export{Ke as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/clients-B5XnFbd-.js b/src/static/dist/WGDashboardAdmin/assets/clients-MF_KSLm9.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/clients-B5XnFbd-.js rename to src/static/dist/WGDashboardAdmin/assets/clients-MF_KSLm9.js index 56dc2dbe..1f937cc2 100644 --- a/src/static/dist/WGDashboardAdmin/assets/clients-B5XnFbd-.js +++ b/src/static/dist/WGDashboardAdmin/assets/clients-MF_KSLm9.js @@ -1 +1 @@ -import{B as C,q as L,o as B,c as g,a as e,t as y,b as d,F as D,i as N,j as v,w as V,h as I,L as E,f as r,D as z,r as b,E as O,m as x,v as j,g as w,J as R,k as G,y as M,u as f,G as T,n as $,d as S,_ as U}from"./index-DYYtDSji.js";import{D as q}from"./DashboardClientAssignmentStore-DDEBJ8Q3.js";import{L as p}from"./localeText-Cd7vLnRM.js";const F={class:"card rounded-0 border-0"},J={class:"card-header d-flex align-items-center rounded-0"},P={class:"my-2"},H={class:"badge text-bg-primary ms-auto"},K={class:"card-body p-0"},Q={class:"list-group list-group-flush clientList"},W={class:"text-body"},X={class:"text-muted"},k=C({__name:"clientGroup",props:["groupName","clients","searchString"],setup(h){const l=h,i=L(()=>{const a=l.searchString.toLowerCase();return l.searchString?l.clients.filter(s=>s.ClientID&&s.ClientID.toLowerCase().includes(a)||s.Email&&s.Email.toLowerCase().includes(a)||s.Name&&s.Name.toLowerCase().includes(a)):l.clients});return E(),B(()=>{document.querySelector(".clientList .active")?.scrollIntoView()}),(a,s)=>{const n=I("RouterLink");return r(),g("div",F,[e("div",J,[e("h6",P,y(h.groupName),1),e("span",H,[d(p,{t:i.value.length+" Client"+(i.value.length>1?"s":"")},null,8,["t"])])]),e("div",K,[e("div",Q,[(r(!0),g(D,null,N(i.value,o=>(r(),v(n,{key:o.ClientID,id:"client_"+o.ClientID,"active-class":"active",to:{name:"Client Viewer",params:{id:o.ClientID}},class:"list-group-item d-flex flex-column border-bottom list-group-item-action client"},{default:V(()=>[e("small",W,y(o.Email),1),e("small",X,y(o.Name?o.Name:"No Name"),1)]),_:2},1032,["id","to"]))),128))])])])}}}),Y={class:"d-flex flex-column gap-2"},Z={class:"d-flex align-items-center"},ee={class:"mb-0"},te={class:"form-check form-switch ms-auto"},se={class:"form-check-label",for:"oidc_switch"},oe=["disabled"],ae=C({__name:"oidcSettings",props:["mode"],async setup(h){let l,i;const a=h,s=z(),n=b(!1),o=b(!1),_=async()=>{await w("/api/oidc/status",{mode:a.mode},t=>{n.value=t.data,o.value=!1})};[l,i]=O(()=>_()),await l,i();const c=async()=>{o.value=!0,await w("/api/oidc/toggle",{mode:a.mode},t=>{t.status||(n.value=!n.value,s.newMessage("Server",t.message,"danger")),o.value=!1})};return(t,u)=>(r(),g("div",Y,[e("div",Z,[e("h6",ee,[d(p,{t:"OpenID Connect (OIDC)"})]),e("div",te,[e("label",se,[d(p,{t:n.value?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:o.value,"onUpdate:modelValue":u[0]||(u[0]=m=>n.value=m),onChange:u[1]||(u[1]=m=>c()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,oe),[[j,n.value]])])])]))}}),ne={class:"position-absolute w-100 h-100 top-0 start-0 z-1 rounded-3 d-flex p-2",style:{"background-color":"#00000070","z-index":"9999"}},le={class:"card m-auto rounded-3",style:{width:"700px"}},ie={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},ce={class:"mb-0"},re={class:"card-body px-4 d-flex gap-3 flex-column"},de={class:"d-flex align-items-center"},ue={class:"mb-0"},me={class:"form-check form-switch ms-auto"},_e={class:"form-check-label",for:"oidc_switch"},pe=["disabled"],he=C({__name:"clientSettings",emits:["close"],setup(h,{emit:l}){const i=l,a=z();b(!1);const s=R({enableClients:a.Configuration.Clients.enable}),n=b(!1),o=async()=>{n.value=!0,await w("/api/clients/toggleStatus",{},_=>{s.enableClients=_.data}),n.value=!1};return(_,c)=>(r(),g("div",ne,[e("div",le,[e("div",ie,[e("h4",ce,[d(p,{t:"Clients Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=t=>i("close"))})]),e("div",re,[e("div",de,[e("h6",ue,[d(p,{t:"Client Side App"})]),e("div",me,[e("label",_e,[d(p,{t:s.enableClients?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:_.oidcStatusLoading,"onUpdate:modelValue":c[1]||(c[1]=t=>s.enableClients=t),onChange:c[2]||(c[2]=t=>o()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,pe),[[j,s.enableClients]])])]),d(ae,{mode:"Client"})])])]))}}),ge={class:"text-body w-100 h-100 pb-2 position-relative"},be={class:"w-100 h-100 card rounded-3"},fe={class:"border-bottom z-0"},ve={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},Ce=["placeholder"],ye={class:"row h-100 g-0"},we={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},xe=C({__name:"clients",async setup(h){let l,i;const a=q();[l,i]=O(()=>a.getClients()),await l,i(),a.getAllConfigurationsPeers();const s=b(""),n=E(),o=b(!1),_=L(()=>Object.fromEntries(Object.entries(a.clients).filter(([c,t])=>Object.keys(a.clients).filter(u=>u!=="Local").includes(c))));return(c,t)=>{const u=I("RouterView");return r(),g("div",ge,[e("div",be,[d(G,{name:"zoom"},{default:V(()=>[o.value?(r(),v(he,{key:0,onClose:t[0]||(t[0]=m=>o.value=!1),class:"z-5"})):S("",!0)]),_:1}),e("div",fe,[e("div",ve,[t[4]||(t[4]=e("label",{for:"searchClient"},[e("i",{class:"bi bi-search me-2"})],-1)),x(e("input",{"onUpdate:modelValue":t[1]||(t[1]=m=>s.value=m),id:"searchClient",class:"form-control rounded-3 form-control-sm",placeholder:f(T)("Search Clients..."),type:"email",style:{width:"auto"}},null,8,Ce),[[M,s.value]]),e("button",{class:"btn btn-body ms-auto bg-body-secondary rounded-3 btn-sm",onClick:t[2]||(t[2]=m=>o.value=!o.value)},[t[3]||(t[3]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),d(p,{t:"Settings"})])])]),e("div",ye,[e("div",{class:$([{hide:f(n).params.id},"col-sm-4 border-end d-flex flex-column clientListContainer"])},[e("div",we,[Object.keys(f(a).clients).includes("Local")?(r(),v(k,{key:0,searchString:s.value,clients:f(a).clients.Local,groupName:"Local"},null,8,["searchString","clients"])):S("",!0),(r(!0),g(D,null,N(_.value,(m,A)=>(r(),v(k,{searchString:s.value,clients:m,groupName:A},null,8,["searchString","clients","groupName"]))),256))])],2),e("div",{class:$([{hide:!f(n).params.id},"col-sm-8 clientViewerContainer z-0"])},[d(u)],2)])])])}}}),Le=U(xe,[["__scopeId","data-v-a8650ee3"]]);export{Le as default}; +import{B as C,q as L,o as B,c as g,a as e,t as y,b as d,F as D,i as N,j as v,w as V,h as I,L as E,f as r,D as z,r as b,E as O,m as x,v as j,g as w,J as R,k as G,y as M,u as f,G as T,n as $,d as S,_ as U}from"./index-Y3pG9DoR.js";import{D as q}from"./DashboardClientAssignmentStore-CrCjGd3j.js";import{L as p}from"./localeText-DcQapG1o.js";const F={class:"card rounded-0 border-0"},J={class:"card-header d-flex align-items-center rounded-0"},P={class:"my-2"},H={class:"badge text-bg-primary ms-auto"},K={class:"card-body p-0"},Q={class:"list-group list-group-flush clientList"},W={class:"text-body"},X={class:"text-muted"},k=C({__name:"clientGroup",props:["groupName","clients","searchString"],setup(h){const l=h,i=L(()=>{const a=l.searchString.toLowerCase();return l.searchString?l.clients.filter(s=>s.ClientID&&s.ClientID.toLowerCase().includes(a)||s.Email&&s.Email.toLowerCase().includes(a)||s.Name&&s.Name.toLowerCase().includes(a)):l.clients});return E(),B(()=>{document.querySelector(".clientList .active")?.scrollIntoView()}),(a,s)=>{const n=I("RouterLink");return r(),g("div",F,[e("div",J,[e("h6",P,y(h.groupName),1),e("span",H,[d(p,{t:i.value.length+" Client"+(i.value.length>1?"s":"")},null,8,["t"])])]),e("div",K,[e("div",Q,[(r(!0),g(D,null,N(i.value,o=>(r(),v(n,{key:o.ClientID,id:"client_"+o.ClientID,"active-class":"active",to:{name:"Client Viewer",params:{id:o.ClientID}},class:"list-group-item d-flex flex-column border-bottom list-group-item-action client"},{default:V(()=>[e("small",W,y(o.Email),1),e("small",X,y(o.Name?o.Name:"No Name"),1)]),_:2},1032,["id","to"]))),128))])])])}}}),Y={class:"d-flex flex-column gap-2"},Z={class:"d-flex align-items-center"},ee={class:"mb-0"},te={class:"form-check form-switch ms-auto"},se={class:"form-check-label",for:"oidc_switch"},oe=["disabled"],ae=C({__name:"oidcSettings",props:["mode"],async setup(h){let l,i;const a=h,s=z(),n=b(!1),o=b(!1),_=async()=>{await w("/api/oidc/status",{mode:a.mode},t=>{n.value=t.data,o.value=!1})};[l,i]=O(()=>_()),await l,i();const c=async()=>{o.value=!0,await w("/api/oidc/toggle",{mode:a.mode},t=>{t.status||(n.value=!n.value,s.newMessage("Server",t.message,"danger")),o.value=!1})};return(t,u)=>(r(),g("div",Y,[e("div",Z,[e("h6",ee,[d(p,{t:"OpenID Connect (OIDC)"})]),e("div",te,[e("label",se,[d(p,{t:n.value?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:o.value,"onUpdate:modelValue":u[0]||(u[0]=m=>n.value=m),onChange:u[1]||(u[1]=m=>c()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,oe),[[j,n.value]])])])]))}}),ne={class:"position-absolute w-100 h-100 top-0 start-0 z-1 rounded-3 d-flex p-2",style:{"background-color":"#00000070","z-index":"9999"}},le={class:"card m-auto rounded-3",style:{width:"700px"}},ie={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},ce={class:"mb-0"},re={class:"card-body px-4 d-flex gap-3 flex-column"},de={class:"d-flex align-items-center"},ue={class:"mb-0"},me={class:"form-check form-switch ms-auto"},_e={class:"form-check-label",for:"oidc_switch"},pe=["disabled"],he=C({__name:"clientSettings",emits:["close"],setup(h,{emit:l}){const i=l,a=z();b(!1);const s=R({enableClients:a.Configuration.Clients.enable}),n=b(!1),o=async()=>{n.value=!0,await w("/api/clients/toggleStatus",{},_=>{s.enableClients=_.data}),n.value=!1};return(_,c)=>(r(),g("div",ne,[e("div",le,[e("div",ie,[e("h4",ce,[d(p,{t:"Clients Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=t=>i("close"))})]),e("div",re,[e("div",de,[e("h6",ue,[d(p,{t:"Client Side App"})]),e("div",me,[e("label",_e,[d(p,{t:s.enableClients?"Enabled":"Disabled"},null,8,["t"])]),x(e("input",{disabled:_.oidcStatusLoading,"onUpdate:modelValue":c[1]||(c[1]=t=>s.enableClients=t),onChange:c[2]||(c[2]=t=>o()),class:"form-check-input",type:"checkbox",role:"switch",id:"oidc_switch"},null,40,pe),[[j,s.enableClients]])])]),d(ae,{mode:"Client"})])])]))}}),ge={class:"text-body w-100 h-100 pb-2 position-relative"},be={class:"w-100 h-100 card rounded-3"},fe={class:"border-bottom z-0"},ve={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},Ce=["placeholder"],ye={class:"row h-100 g-0"},we={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},xe=C({__name:"clients",async setup(h){let l,i;const a=q();[l,i]=O(()=>a.getClients()),await l,i(),a.getAllConfigurationsPeers();const s=b(""),n=E(),o=b(!1),_=L(()=>Object.fromEntries(Object.entries(a.clients).filter(([c,t])=>Object.keys(a.clients).filter(u=>u!=="Local").includes(c))));return(c,t)=>{const u=I("RouterView");return r(),g("div",ge,[e("div",be,[d(G,{name:"zoom"},{default:V(()=>[o.value?(r(),v(he,{key:0,onClose:t[0]||(t[0]=m=>o.value=!1),class:"z-5"})):S("",!0)]),_:1}),e("div",fe,[e("div",ve,[t[4]||(t[4]=e("label",{for:"searchClient"},[e("i",{class:"bi bi-search me-2"})],-1)),x(e("input",{"onUpdate:modelValue":t[1]||(t[1]=m=>s.value=m),id:"searchClient",class:"form-control rounded-3 form-control-sm",placeholder:f(T)("Search Clients..."),type:"email",style:{width:"auto"}},null,8,Ce),[[M,s.value]]),e("button",{class:"btn btn-body ms-auto bg-body-secondary rounded-3 btn-sm",onClick:t[2]||(t[2]=m=>o.value=!o.value)},[t[3]||(t[3]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),d(p,{t:"Settings"})])])]),e("div",ye,[e("div",{class:$([{hide:f(n).params.id},"col-sm-4 border-end d-flex flex-column clientListContainer"])},[e("div",we,[Object.keys(f(a).clients).includes("Local")?(r(),v(k,{key:0,searchString:s.value,clients:f(a).clients.Local,groupName:"Local"},null,8,["searchString","clients"])):S("",!0),(r(!0),g(D,null,N(_.value,(m,A)=>(r(),v(k,{searchString:s.value,clients:m,groupName:A},null,8,["searchString","clients","groupName"]))),256))])],2),e("div",{class:$([{hide:!f(n).params.id},"col-sm-8 clientViewerContainer z-0"])},[d(u)],2)])])])}}}),Le=U(xe,[["__scopeId","data-v-a8650ee3"]]);export{Le as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/configuration-Day1LioO.js b/src/static/dist/WGDashboardAdmin/assets/configuration-C8aJUpEn.js similarity index 86% rename from src/static/dist/WGDashboardAdmin/assets/configuration-Day1LioO.js rename to src/static/dist/WGDashboardAdmin/assets/configuration-C8aJUpEn.js index 3e9731e5..0cebe255 100644 --- a/src/static/dist/WGDashboardAdmin/assets/configuration-Day1LioO.js +++ b/src/static/dist/WGDashboardAdmin/assets/configuration-C8aJUpEn.js @@ -1 +1 @@ -import{_ as r,c as i,b as o,w as e,k as l,j as a,l as _,S as u,h as d,f as t}from"./index-DYYtDSji.js";const m={name:"configuration"},f={class:"mt-md-5 mt-3 text-body"};function p(h,k,x,w,$,v){const n=d("RouterView");return t(),i("div",f,[o(n,null,{default:e(({Component:s,route:c})=>[o(l,{name:"fade2",mode:"out-in"},{default:e(()=>[(t(),a(u,null,{default:e(()=>[(t(),a(_(s),{key:c.path,class:"z-1"}))]),_:2},1024))]),_:2},1024)]),_:1})])}const B=r(m,[["render",p]]);export{B as default}; +import{_ as r,c as i,b as o,w as e,k as l,j as a,l as _,S as u,h as d,f as t}from"./index-Y3pG9DoR.js";const m={name:"configuration"},f={class:"mt-md-5 mt-3 text-body"};function p(h,k,x,w,$,v){const n=d("RouterView");return t(),i("div",f,[o(n,null,{default:e(({Component:s,route:c})=>[o(l,{name:"fade2",mode:"out-in"},{default:e(()=>[(t(),a(u,null,{default:e(()=>[(t(),a(_(s),{key:c.path,class:"z-1"}))]),_:2},1024))]),_:2},1024)]),_:1})])}const B=r(m,[["render",p]]);export{B as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/configurationList-BmBzibCH.js b/src/static/dist/WGDashboardAdmin/assets/configurationList-BxcibL2l.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/configurationList-BmBzibCH.js rename to src/static/dist/WGDashboardAdmin/assets/configurationList-BxcibL2l.js index 6fd4a158..4d65326e 100644 --- a/src/static/dist/WGDashboardAdmin/assets/configurationList-BmBzibCH.js +++ b/src/static/dist/WGDashboardAdmin/assets/configurationList-BxcibL2l.js @@ -1 +1 @@ -import{_ as D,g as B,D as N,c as i,a as t,b as l,w as x,h as p,n as m,e as v,t as u,m as U,j as y,d as h,v as I,f as o,p as K,q as G,r as R,s as C,k as V,o as O,x as W,F as w,i as k,T as q,G as L,W as F,y as z}from"./index-DYYtDSji.js";import{L as S}from"./localeText-Cd7vLnRM.js";import{_ as j}from"./protocolBadge-DbN6X1oX.js";import{C as E}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.js";const P={name:"configurationCard",components:{ProtocolBadge:j,LocaleText:S},props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String},delay:String,display:String},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:N()}},methods:{toggle(){this.configurationToggling=!0,B("/api/toggleWireguardConfiguration",{configurationName:this.c.Name},n=>{n.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${n.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",n.message,"danger"),this.c.Status=n.data,this.configurationToggling=!1})}}},T=()=>{K(n=>({v0d365bfc:n.delay}))},M=P.setup;P.setup=M?(n,s)=>(T(),M(n,s)):T;const H={class:"card conf_card rounded-3 shadow text-decoration-none"},Y={class:"mb-0"},A={class:"card-title mb-0 d-flex align-items-center gap-2"},J={key:0},Q={class:"badge text-bg-info rounded-3 shadow"},X={class:"card-footer d-flex gap-2 flex-column"},Z={class:"row"},tt={class:"d-flex gap-2 align-items-center"},et={class:"text-muted"},st={class:"mb-0 d-block d-lg-inline-block"},ot={style:{"line-break":"anywhere"}},nt={class:"form-check form-switch ms-auto"},at=["for"],it={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},rt=["disabled","id"];function lt(n,s,e,_,a,g){const d=p("ProtocolBadge"),r=p("RouterLink"),c=p("LocaleText");return o(),i("div",{class:m(["col-12",{"col-lg-6 col-xl-4":this.display==="Grid"}])},[t("div",H,[l(r,{to:"/configuration/"+e.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:x(()=>[t("h6",Y,[t("span",{class:m(["dot",{active:e.c.Status}])},null,2)]),t("h6",A,[t("samp",null,u(e.c.Name),1),t("small",null,[l(d,{protocol:e.c.Protocol,mini:!0},null,8,["protocol"])]),e.c.Info.Description?(o(),i("small",J,[t("span",Q,[s[2]||(s[2]=t("i",{class:"bi bi-pencil-fill me-2"},null,-1)),v(" "+u(e.c.Info.Description),1)])])):h("",!0)]),s[3]||(s[3]=t("h6",{class:"mb-0 ms-auto"},[t("i",{class:"bi bi-chevron-right"})],-1))]),_:1},8,["to"]),t("div",X,[t("div",Z,[t("small",{class:m(["col-6",{"col-md-3":this.display==="List"}])},[s[4]||(s[4]=t("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),v(u(e.c.DataUsage.Total>0?e.c.DataUsage.Total.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-primary-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[5]||(s[5]=t("i",{class:"bi bi-arrow-down me-2"},null,-1)),v(u(e.c.DataUsage.Receive>0?e.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-success-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[6]||(s[6]=t("i",{class:"bi bi-arrow-up me-2"},null,-1)),v(u(e.c.DataUsage.Sent>0?e.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["col-6",{"col-md-3 text-md-end ":this.display==="List"}])},[t("span",{class:m(["dot me-2",{active:e.c.ConnectedPeers>0}])},null,2),v(" "+u(e.c.ConnectedPeers)+" / "+u(e.c.TotalPeers)+" ",1),l(c,{t:"Peers"})],2)]),t("div",{class:m(["d-flex gap-2",[this.display==="Grid"?"flex-column":"gap-lg-3 flex-column flex-lg-row"]])},[t("div",tt,[t("small",et,[t("strong",null,[l(c,{t:"Public Key"})])]),t("small",st,[t("samp",ot,u(e.c.PublicKey),1)])]),t("div",nt,[t("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+e.c.PrivateKey},[!e.c.Status&&this.configurationToggling?(o(),y(c,{key:0,t:"Turning Off..."})):e.c.Status&&this.configurationToggling?(o(),y(c,{key:1,t:"Turning On..."})):e.c.Status&&!this.configurationToggling?(o(),y(c,{key:2,t:"On"})):!e.c.Status&&!this.configurationToggling?(o(),y(c,{key:3,t:"Off"})):h("",!0),this.configurationToggling?(o(),i("span",it)):h("",!0)],8,at),U(t("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+e.c.PrivateKey,onChange:s[0]||(s[0]=$=>this.toggle()),"onUpdate:modelValue":s[1]||(s[1]=$=>e.c.Status=$)},null,40,rt),[[I,e.c.Status]])])],2)])])],2)}const dt=D(P,[["render",lt],["__scopeId","data-v-9f596f5e"]]),ct={class:"text-muted me-2"},ut={class:"fw-bold"},mt={__name:"storageMount",props:{mount:Object,align:Boolean,square:Boolean},setup(n){K(a=>({v2dc8ab7e:_.value}));const s=n,e=R(!1),_=G(()=>s.square?"40px":"25px");return(a,g)=>(o(),i("div",{class:"flex-grow-1 square rounded-3 border position-relative",onMouseenter:g[0]||(g[0]=d=>e.value=!0),onMouseleave:g[1]||(g[1]=d=>e.value=!1),style:C({"background-color":`rgb(25 135 84 / ${n.mount.percent}%)`})},[l(V,{name:"zoomReversed"},{default:x(()=>[e.value?(o(),i("div",{key:0,style:C([{"white-space":"nowrap"},{top:_.value}]),class:m(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[n.align?"end-0":"start-0"]])},[t("small",ct,[t("samp",null,u(n.mount.mountPoint),1)]),t("small",ut,u(n.mount.percent)+"% ",1)],6)):h("",!0)]),_:1})],36))}},gt=D(mt,[["__scopeId","data-v-9509d7a0"]]),ft={class:"row text-body g-3 mb-5"},_t={class:"col-md-6 col-sm-12 col-xl-3"},ht={class:"d-flex align-items-center"},pt={class:"text-muted"},yt={class:"ms-auto"},bt={key:0},vt={key:1,class:"spinner-border spinner-border-sm"},xt={class:"progress",role:"progressbar",style:{height:"6px"}},St={class:"d-flex mt-2 gap-1"},Ct={class:"col-md-6 col-sm-12 col-xl-3"},wt={class:"d-flex align-items-center"},kt={class:"text-muted"},$t={class:"ms-auto"},Dt={key:0},Lt={key:1,class:"spinner-border spinner-border-sm"},Pt={class:"progress",role:"progressbar",style:{height:"6px"}},Tt={class:"d-flex mt-2 gap-1"},Mt={class:"col-md-6 col-sm-12 col-xl-3"},Bt={class:"d-flex align-items-center"},Nt={class:"text-muted"},Ut={class:"ms-auto"},Kt={key:0},Gt={key:1,class:"spinner-border spinner-border-sm"},Vt={class:"progress",role:"progressbar",style:{height:"6px"}},It={class:"col-md-6 col-sm-12 col-xl-3"},Rt={class:"d-flex align-items-center"},Ot={class:"text-muted"},Wt={class:"ms-auto"},qt={key:0},Ft={key:1,class:"spinner-border spinner-border-sm"},zt={__name:"systemStatusWidget",setup(n){const s=N();let e=null;O(()=>{_(),e=setInterval(()=>{_()},5e3)}),W(()=>{clearInterval(e)});const _=()=>{B("/api/systemStatus",{},g=>{s.SystemStatus=g.data})},a=G(()=>s.SystemStatus);return(g,d)=>(o(),i("div",ft,[t("div",_t,[t("div",ht,[t("h6",pt,[d[0]||(d[0]=t("i",{class:"bi bi-cpu-fill me-2"},null,-1)),l(S,{t:"CPU"})]),t("h6",yt,[a.value?(o(),i("span",bt,u(a.value.CPU.cpu_percent)+"% ",1)):(o(),i("span",vt))])]),t("div",xt,[t("div",{class:"progress-bar",style:C({width:`${a.value?.CPU.cpu_percent}%`})},null,4)]),t("div",St,[(o(!0),i(w,null,k(a.value?.CPU.cpu_percent_per_cpu,(r,c)=>(o(),y(E,{key:c,align:c+1>Math.round(a.value?.CPU.cpu_percent_per_cpu.length/2),core_number:c,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),t("div",Ct,[t("div",wt,[t("h6",kt,[d[1]||(d[1]=t("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),l(S,{t:"Storage"})]),t("h6",$t,[a.value?(o(),i("span",Dt,u(a.value.Disks.find(r=>r.mountPoint==="/")?a.value?.Disks.find(r=>r.mountPoint==="/").percent:a.value?.Disks[0].percent)+"% ",1)):(o(),i("span",Lt))])]),t("div",Pt,[t("div",{class:"progress-bar bg-success",style:C({width:`${a.value?.Disks.find(r=>r.mountPoint==="/")?a.value?.Disks.find(r=>r.mountPoint==="/").percent:a.value?.Disks[0].percent}%`})},null,4)]),t("div",Tt,[a.value?(o(!0),i(w,{key:0},k(a.value?.Disks,(r,c)=>(o(),y(gt,{key:r.mountPoint,align:c+1>Math.round(a.value?.Disks.length/2),mount:r},null,8,["align","mount"]))),128)):h("",!0)])]),t("div",Mt,[t("div",Bt,[t("h6",Nt,[d[2]||(d[2]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Memory"})]),t("h6",Ut,[a.value?(o(),i("span",Kt,u(a.value?.Memory.VirtualMemory.percent)+"% ",1)):(o(),i("span",Gt))])]),t("div",Vt,[t("div",{class:"progress-bar bg-info",style:C({width:`${a.value?.Memory.VirtualMemory.percent}%`})},null,4)])]),t("div",It,[t("div",Rt,[t("h6",Ot,[d[3]||(d[3]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Swap Memory"})]),t("h6",Wt,[a.value?(o(),i("span",qt,u(a.value?.Memory.SwapMemory.percent)+"% ",1)):(o(),i("span",Ft))])]),d[4]||(d[4]=t("div",{class:"progress",role:"progressbar",style:{height:"6px"}},[t("div",{class:"progress-bar bg-warning",style:{width:"$ data?.Memory.SwapMemory.percent}%"}})],-1))])]))}},jt=D(zt,[["__scopeId","data-v-851170e4"]]),Et={name:"configurationList",components:{SystemStatus:jt,LocaleText:S,ConfigurationCard:dt},async setup(){return{wireguardConfigurationsStore:F()}},data(){return{configurationLoaded:!1,sort:{Name:L("Name"),Status:L("Status"),"DataUsage.Total":L("Total Usage")},currentSort:{key:"Name",order:"asc"},currentDisplay:"List",searchKey:""}},computed:{configurations(){return this.wireguardConfigurationsStore.sortConfigurations.filter(n=>n.Name.toLowerCase().includes(this.searchKey)||n.PublicKey.includes(this.searchKey)||!this.searchKey)}},methods:{dotNotation(n,s){let e=s.split(".").reduce((_,a)=>_&&_[a],n);return typeof e=="string"?e.toLowerCase():e},updateSort(n){this.wireguardConfigurationsStore.CurrentSort.key===n?this.wireguardConfigurationsStore.CurrentSort.order=this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"desc":"asc":this.wireguardConfigurationsStore.CurrentSort.key=n},updateDisplay(n){this.wireguardConfigurationsStore.CurrentDisplay!==n&&(this.wireguardConfigurationsStore.CurrentDisplay=n)}}},Ht={class:"mt-md-5 mt-3"},Yt={class:"container-fluid"},At={class:"d-flex mb-4 configurationListTitle align-items-md-center gap-2 flex-column flex-md-row"},Jt={class:"text-body d-flex mb-0"},Qt={key:0,class:"text-body filter mb-3 d-flex gap-2 flex-column flex-md-row"},Xt={class:"d-flex align-items-center gap-3 align-items-center mb-3 mb-md-0"},Zt={class:"text-muted"},te={class:"d-flex ms-auto ms-lg-0"},ee=["onClick"],se={class:"align-items-center gap-3 align-items-center mb-3 mb-md-0 d-none d-lg-flex"},oe={class:"text-muted"},ne={class:"d-flex ms-auto ms-lg-0"},ae=["onClick"],ie={class:"d-flex align-items-center ms-md-auto"},re={class:"row g-3 mb-2"},le={class:"text-muted col-12",key:"noConfiguration"};function de(n,s,e,_,a,g){const d=p("SystemStatus"),r=p("LocaleText"),c=p("RouterLink"),$=p("ConfigurationCard");return o(),i("div",Ht,[t("div",Yt,[l(d),t("div",At,[t("h2",Jt,[l(r,{t:"WireGuard Configurations"})]),l(c,{to:"/new_configuration",class:"ms-md-auto py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[1]||(s[1]=t("i",{class:"bi bi-plus-circle me-2"},null,-1)),l(r,{t:"Configuration"})]),_:1}),l(c,{to:"/restore_configuration",class:"py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[2]||(s[2]=t("i",{class:"bi bi-clock-history me-2"},null,-1)),l(r,{t:"Restore"})]),_:1})]),l(V,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded?(o(),i("div",Qt,[t("div",Xt,[t("small",Zt,[l(r,{t:"Sort By"})]),t("div",te,[(o(!0),i(w,null,k(this.wireguardConfigurationsStore.SortOptions,(f,b)=>(o(),i("a",{role:"button",onClick:ce=>g.updateSort(b),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentSort.key===b},"px-2 py-1 rounded-3"])},[t("small",null,[this.wireguardConfigurationsStore.CurrentSort.key===b?(o(),i("i",{key:0,class:m(["bi me-2",[this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"bi-sort-up":"bi-sort-down"]])},null,2)):h("",!0),l(r,{t:f},null,8,["t"])])],10,ee))),256))])]),t("div",se,[t("small",oe,[l(r,{t:"Display as"})]),t("div",ne,[(o(),i(w,null,k([{name:"List",key:"list"},{name:"Grid",key:"grid"}],f=>t("a",{role:"button",onClick:b=>g.updateDisplay(f.name),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentDisplay===f.name},"px-2 py-1 rounded-3"])},[t("small",null,[t("i",{class:m(["bi me-2","bi-"+f.key])},null,2),s[3]||(s[3]=v()),l(r,{t:f.name},null,8,["t"])])],10,ae)),64))])]),t("div",ie,[s[4]||(s[4]=t("label",{for:"configurationSearch",class:"text-muted"},[t("i",{class:"bi bi-search me-2"})],-1)),U(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":s[0]||(s[0]=f=>this.searchKey=f),id:"configurationSearch"},null,512),[[z,this.searchKey]])])])):h("",!0)]),_:1}),t("div",re,[l(q,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded&&this.wireguardConfigurationsStore.Configurations.length===0?(o(),i("p",le,[l(r,{t:"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard."})])):this.wireguardConfigurationsStore.ConfigurationLoaded?(o(!0),i(w,{key:1},k(g.configurations,(f,b)=>(o(),y($,{display:this.wireguardConfigurationsStore.CurrentDisplay,delay:b*.03+"s",key:f.Name,c:f},null,8,["display","delay","c"]))),128)):h("",!0)]),_:1})])])])}const _e=D(Et,[["render",de],["__scopeId","data-v-7ed053f0"]]);export{_e as default}; +import{_ as D,g as B,D as N,c as i,a as t,b as l,w as x,h as p,n as m,e as v,t as u,m as U,j as y,d as h,v as I,f as o,p as K,q as G,r as R,s as C,k as V,o as O,x as W,F as w,i as k,T as q,G as L,W as F,y as z}from"./index-Y3pG9DoR.js";import{L as S}from"./localeText-DcQapG1o.js";import{_ as j}from"./protocolBadge-lwYXkpho.js";import{C as E}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-B5X49oRk.js";const P={name:"configurationCard",components:{ProtocolBadge:j,LocaleText:S},props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String},delay:String,display:String},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:N()}},methods:{toggle(){this.configurationToggling=!0,B("/api/toggleWireguardConfiguration",{configurationName:this.c.Name},n=>{n.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${n.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",n.message,"danger"),this.c.Status=n.data,this.configurationToggling=!1})}}},T=()=>{K(n=>({v0d365bfc:n.delay}))},M=P.setup;P.setup=M?(n,s)=>(T(),M(n,s)):T;const H={class:"card conf_card rounded-3 shadow text-decoration-none"},Y={class:"mb-0"},A={class:"card-title mb-0 d-flex align-items-center gap-2"},J={key:0},Q={class:"badge text-bg-info rounded-3 shadow"},X={class:"card-footer d-flex gap-2 flex-column"},Z={class:"row"},tt={class:"d-flex gap-2 align-items-center"},et={class:"text-muted"},st={class:"mb-0 d-block d-lg-inline-block"},ot={style:{"line-break":"anywhere"}},nt={class:"form-check form-switch ms-auto"},at=["for"],it={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},rt=["disabled","id"];function lt(n,s,e,_,a,g){const d=p("ProtocolBadge"),r=p("RouterLink"),c=p("LocaleText");return o(),i("div",{class:m(["col-12",{"col-lg-6 col-xl-4":this.display==="Grid"}])},[t("div",H,[l(r,{to:"/configuration/"+e.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:x(()=>[t("h6",Y,[t("span",{class:m(["dot",{active:e.c.Status}])},null,2)]),t("h6",A,[t("samp",null,u(e.c.Name),1),t("small",null,[l(d,{protocol:e.c.Protocol,mini:!0},null,8,["protocol"])]),e.c.Info.Description?(o(),i("small",J,[t("span",Q,[s[2]||(s[2]=t("i",{class:"bi bi-pencil-fill me-2"},null,-1)),v(" "+u(e.c.Info.Description),1)])])):h("",!0)]),s[3]||(s[3]=t("h6",{class:"mb-0 ms-auto"},[t("i",{class:"bi bi-chevron-right"})],-1))]),_:1},8,["to"]),t("div",X,[t("div",Z,[t("small",{class:m(["col-6",{"col-md-3":this.display==="List"}])},[s[4]||(s[4]=t("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),v(u(e.c.DataUsage.Total>0?e.c.DataUsage.Total.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-primary-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[5]||(s[5]=t("i",{class:"bi bi-arrow-down me-2"},null,-1)),v(u(e.c.DataUsage.Receive>0?e.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-success-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[6]||(s[6]=t("i",{class:"bi bi-arrow-up me-2"},null,-1)),v(u(e.c.DataUsage.Sent>0?e.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["col-6",{"col-md-3 text-md-end ":this.display==="List"}])},[t("span",{class:m(["dot me-2",{active:e.c.ConnectedPeers>0}])},null,2),v(" "+u(e.c.ConnectedPeers)+" / "+u(e.c.TotalPeers)+" ",1),l(c,{t:"Peers"})],2)]),t("div",{class:m(["d-flex gap-2",[this.display==="Grid"?"flex-column":"gap-lg-3 flex-column flex-lg-row"]])},[t("div",tt,[t("small",et,[t("strong",null,[l(c,{t:"Public Key"})])]),t("small",st,[t("samp",ot,u(e.c.PublicKey),1)])]),t("div",nt,[t("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+e.c.PrivateKey},[!e.c.Status&&this.configurationToggling?(o(),y(c,{key:0,t:"Turning Off..."})):e.c.Status&&this.configurationToggling?(o(),y(c,{key:1,t:"Turning On..."})):e.c.Status&&!this.configurationToggling?(o(),y(c,{key:2,t:"On"})):!e.c.Status&&!this.configurationToggling?(o(),y(c,{key:3,t:"Off"})):h("",!0),this.configurationToggling?(o(),i("span",it)):h("",!0)],8,at),U(t("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+e.c.PrivateKey,onChange:s[0]||(s[0]=$=>this.toggle()),"onUpdate:modelValue":s[1]||(s[1]=$=>e.c.Status=$)},null,40,rt),[[I,e.c.Status]])])],2)])])],2)}const dt=D(P,[["render",lt],["__scopeId","data-v-9f596f5e"]]),ct={class:"text-muted me-2"},ut={class:"fw-bold"},mt={__name:"storageMount",props:{mount:Object,align:Boolean,square:Boolean},setup(n){K(a=>({v2dc8ab7e:_.value}));const s=n,e=R(!1),_=G(()=>s.square?"40px":"25px");return(a,g)=>(o(),i("div",{class:"flex-grow-1 square rounded-3 border position-relative",onMouseenter:g[0]||(g[0]=d=>e.value=!0),onMouseleave:g[1]||(g[1]=d=>e.value=!1),style:C({"background-color":`rgb(25 135 84 / ${n.mount.percent}%)`})},[l(V,{name:"zoomReversed"},{default:x(()=>[e.value?(o(),i("div",{key:0,style:C([{"white-space":"nowrap"},{top:_.value}]),class:m(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[n.align?"end-0":"start-0"]])},[t("small",ct,[t("samp",null,u(n.mount.mountPoint),1)]),t("small",ut,u(n.mount.percent)+"% ",1)],6)):h("",!0)]),_:1})],36))}},gt=D(mt,[["__scopeId","data-v-9509d7a0"]]),ft={class:"row text-body g-3 mb-5"},_t={class:"col-md-6 col-sm-12 col-xl-3"},ht={class:"d-flex align-items-center"},pt={class:"text-muted"},yt={class:"ms-auto"},bt={key:0},vt={key:1,class:"spinner-border spinner-border-sm"},xt={class:"progress",role:"progressbar",style:{height:"6px"}},St={class:"d-flex mt-2 gap-1"},Ct={class:"col-md-6 col-sm-12 col-xl-3"},wt={class:"d-flex align-items-center"},kt={class:"text-muted"},$t={class:"ms-auto"},Dt={key:0},Lt={key:1,class:"spinner-border spinner-border-sm"},Pt={class:"progress",role:"progressbar",style:{height:"6px"}},Tt={class:"d-flex mt-2 gap-1"},Mt={class:"col-md-6 col-sm-12 col-xl-3"},Bt={class:"d-flex align-items-center"},Nt={class:"text-muted"},Ut={class:"ms-auto"},Kt={key:0},Gt={key:1,class:"spinner-border spinner-border-sm"},Vt={class:"progress",role:"progressbar",style:{height:"6px"}},It={class:"col-md-6 col-sm-12 col-xl-3"},Rt={class:"d-flex align-items-center"},Ot={class:"text-muted"},Wt={class:"ms-auto"},qt={key:0},Ft={key:1,class:"spinner-border spinner-border-sm"},zt={__name:"systemStatusWidget",setup(n){const s=N();let e=null;O(()=>{_(),e=setInterval(()=>{_()},5e3)}),W(()=>{clearInterval(e)});const _=()=>{B("/api/systemStatus",{},g=>{s.SystemStatus=g.data})},a=G(()=>s.SystemStatus);return(g,d)=>(o(),i("div",ft,[t("div",_t,[t("div",ht,[t("h6",pt,[d[0]||(d[0]=t("i",{class:"bi bi-cpu-fill me-2"},null,-1)),l(S,{t:"CPU"})]),t("h6",yt,[a.value?(o(),i("span",bt,u(a.value.CPU.cpu_percent)+"% ",1)):(o(),i("span",vt))])]),t("div",xt,[t("div",{class:"progress-bar",style:C({width:`${a.value?.CPU.cpu_percent}%`})},null,4)]),t("div",St,[(o(!0),i(w,null,k(a.value?.CPU.cpu_percent_per_cpu,(r,c)=>(o(),y(E,{key:c,align:c+1>Math.round(a.value?.CPU.cpu_percent_per_cpu.length/2),core_number:c,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),t("div",Ct,[t("div",wt,[t("h6",kt,[d[1]||(d[1]=t("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),l(S,{t:"Storage"})]),t("h6",$t,[a.value?(o(),i("span",Dt,u(a.value.Disks.find(r=>r.mountPoint==="/")?a.value?.Disks.find(r=>r.mountPoint==="/").percent:a.value?.Disks[0].percent)+"% ",1)):(o(),i("span",Lt))])]),t("div",Pt,[t("div",{class:"progress-bar bg-success",style:C({width:`${a.value?.Disks.find(r=>r.mountPoint==="/")?a.value?.Disks.find(r=>r.mountPoint==="/").percent:a.value?.Disks[0].percent}%`})},null,4)]),t("div",Tt,[a.value?(o(!0),i(w,{key:0},k(a.value?.Disks,(r,c)=>(o(),y(gt,{key:r.mountPoint,align:c+1>Math.round(a.value?.Disks.length/2),mount:r},null,8,["align","mount"]))),128)):h("",!0)])]),t("div",Mt,[t("div",Bt,[t("h6",Nt,[d[2]||(d[2]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Memory"})]),t("h6",Ut,[a.value?(o(),i("span",Kt,u(a.value?.Memory.VirtualMemory.percent)+"% ",1)):(o(),i("span",Gt))])]),t("div",Vt,[t("div",{class:"progress-bar bg-info",style:C({width:`${a.value?.Memory.VirtualMemory.percent}%`})},null,4)])]),t("div",It,[t("div",Rt,[t("h6",Ot,[d[3]||(d[3]=t("i",{class:"bi bi-memory me-2"},null,-1)),l(S,{t:"Swap Memory"})]),t("h6",Wt,[a.value?(o(),i("span",qt,u(a.value?.Memory.SwapMemory.percent)+"% ",1)):(o(),i("span",Ft))])]),d[4]||(d[4]=t("div",{class:"progress",role:"progressbar",style:{height:"6px"}},[t("div",{class:"progress-bar bg-warning",style:{width:"$ data?.Memory.SwapMemory.percent}%"}})],-1))])]))}},jt=D(zt,[["__scopeId","data-v-851170e4"]]),Et={name:"configurationList",components:{SystemStatus:jt,LocaleText:S,ConfigurationCard:dt},async setup(){return{wireguardConfigurationsStore:F()}},data(){return{configurationLoaded:!1,sort:{Name:L("Name"),Status:L("Status"),"DataUsage.Total":L("Total Usage")},currentSort:{key:"Name",order:"asc"},currentDisplay:"List",searchKey:""}},computed:{configurations(){return this.wireguardConfigurationsStore.sortConfigurations.filter(n=>n.Name.toLowerCase().includes(this.searchKey)||n.PublicKey.includes(this.searchKey)||!this.searchKey)}},methods:{dotNotation(n,s){let e=s.split(".").reduce((_,a)=>_&&_[a],n);return typeof e=="string"?e.toLowerCase():e},updateSort(n){this.wireguardConfigurationsStore.CurrentSort.key===n?this.wireguardConfigurationsStore.CurrentSort.order=this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"desc":"asc":this.wireguardConfigurationsStore.CurrentSort.key=n},updateDisplay(n){this.wireguardConfigurationsStore.CurrentDisplay!==n&&(this.wireguardConfigurationsStore.CurrentDisplay=n)}}},Ht={class:"mt-md-5 mt-3"},Yt={class:"container-fluid"},At={class:"d-flex mb-4 configurationListTitle align-items-md-center gap-2 flex-column flex-md-row"},Jt={class:"text-body d-flex mb-0"},Qt={key:0,class:"text-body filter mb-3 d-flex gap-2 flex-column flex-md-row"},Xt={class:"d-flex align-items-center gap-3 align-items-center mb-3 mb-md-0"},Zt={class:"text-muted"},te={class:"d-flex ms-auto ms-lg-0"},ee=["onClick"],se={class:"align-items-center gap-3 align-items-center mb-3 mb-md-0 d-none d-lg-flex"},oe={class:"text-muted"},ne={class:"d-flex ms-auto ms-lg-0"},ae=["onClick"],ie={class:"d-flex align-items-center ms-md-auto"},re={class:"row g-3 mb-2"},le={class:"text-muted col-12",key:"noConfiguration"};function de(n,s,e,_,a,g){const d=p("SystemStatus"),r=p("LocaleText"),c=p("RouterLink"),$=p("ConfigurationCard");return o(),i("div",Ht,[t("div",Yt,[l(d),t("div",At,[t("h2",Jt,[l(r,{t:"WireGuard Configurations"})]),l(c,{to:"/new_configuration",class:"ms-md-auto py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[1]||(s[1]=t("i",{class:"bi bi-plus-circle me-2"},null,-1)),l(r,{t:"Configuration"})]),_:1}),l(c,{to:"/restore_configuration",class:"py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:x(()=>[s[2]||(s[2]=t("i",{class:"bi bi-clock-history me-2"},null,-1)),l(r,{t:"Restore"})]),_:1})]),l(V,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded?(o(),i("div",Qt,[t("div",Xt,[t("small",Zt,[l(r,{t:"Sort By"})]),t("div",te,[(o(!0),i(w,null,k(this.wireguardConfigurationsStore.SortOptions,(f,b)=>(o(),i("a",{role:"button",onClick:ce=>g.updateSort(b),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentSort.key===b},"px-2 py-1 rounded-3"])},[t("small",null,[this.wireguardConfigurationsStore.CurrentSort.key===b?(o(),i("i",{key:0,class:m(["bi me-2",[this.wireguardConfigurationsStore.CurrentSort.order==="asc"?"bi-sort-up":"bi-sort-down"]])},null,2)):h("",!0),l(r,{t:f},null,8,["t"])])],10,ee))),256))])]),t("div",se,[t("small",oe,[l(r,{t:"Display as"})]),t("div",ne,[(o(),i(w,null,k([{name:"List",key:"list"},{name:"Grid",key:"grid"}],f=>t("a",{role:"button",onClick:b=>g.updateDisplay(f.name),class:m([{"bg-primary-subtle text-primary-emphasis":this.wireguardConfigurationsStore.CurrentDisplay===f.name},"px-2 py-1 rounded-3"])},[t("small",null,[t("i",{class:m(["bi me-2","bi-"+f.key])},null,2),s[3]||(s[3]=v()),l(r,{t:f.name},null,8,["t"])])],10,ae)),64))])]),t("div",ie,[s[4]||(s[4]=t("label",{for:"configurationSearch",class:"text-muted"},[t("i",{class:"bi bi-search me-2"})],-1)),U(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":s[0]||(s[0]=f=>this.searchKey=f),id:"configurationSearch"},null,512),[[z,this.searchKey]])])])):h("",!0)]),_:1}),t("div",re,[l(q,{name:"fade"},{default:x(()=>[this.wireguardConfigurationsStore.ConfigurationLoaded&&this.wireguardConfigurationsStore.Configurations.length===0?(o(),i("p",le,[l(r,{t:"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard."})])):this.wireguardConfigurationsStore.ConfigurationLoaded?(o(!0),i(w,{key:1},k(g.configurations,(f,b)=>(o(),y($,{display:this.wireguardConfigurationsStore.CurrentDisplay,delay:b*.03+"s",key:f.Name,c:f},null,8,["display","delay","c"]))),128)):h("",!0)]),_:1})])])])}const _e=D(Et,[["render",de],["__scopeId","data-v-7ed053f0"]]);export{_e as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BLi3ez-N.js b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-CL6ajYjE.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BLi3ez-N.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-CL6ajYjE.js index 0bd62545..83743835 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-BLi3ez-N.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardEmailSettings-CL6ajYjE.js @@ -1 +1 @@ -import{_ as A,c as r,a as e,m as h,b as l,h as y,y as _,n as $,t as x,z as w,D as k,A as K,f as i,d as g,v as D,e as C,j as v,F as S,w as V,T as F,k as M,g as T,i as E,o as N,r as I,u as m,C as U}from"./index-DYYtDSji.js";import{L as c}from"./localeText-Cd7vLnRM.js";import{d as P}from"./dayjs.min-WRW_FTL4.js";import{Z as Y}from"./vue-datepicker-Cw5Y4tvU.js";const H={name:"accountSettingsInputUsername",components:{LocaleText:c},props:{targetData:String,title:String},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(t){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1}))}}},R={class:"form-group mb-2"},j=["for"],q=["id","disabled"],B={class:"invalid-feedback"};function z(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",R,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:this.title},null,8,["t"])])])],8,j),h(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.value=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation()),disabled:this.updating},null,42,q),[[_,this.value]]),e("div",B,x(this.invalidFeedback),1)])}const ft=A(H,[["render",z]]),G={name:"accountSettingsInputPassword",components:{LocaleText:c},props:{targetData:String,warning:!1,warningText:""},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(t=>t.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},t=>{t.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=t.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}},computed:{passwordValid(){return Object.values(this.value).find(t=>t.length===0)===void 0&&this.value.newPassword===this.value.repeatNewPassword}}},W={class:"d-flex flex-column gap-2"},O={class:"row g-2"},Z={class:"col-sm"},J={class:"form-group"},Q=["for"],X=["id"],ee={key:0,class:"invalid-feedback d-block"},se={class:"col-sm"},te={class:"form-group"},ae=["for"],ie=["id"],oe={class:"col-sm"},ne={class:"form-group"},le=["for"],de=["id"],re=["disabled"];function ue(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("h6",null,[l(o,{t:"Update Password"})]),e("form",W,[e("div",O,[e("div",Z,[e("div",J,[e("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Current Password"})])])],8,Q),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"current-password","onUpdate:modelValue":s[0]||(s[0]=a=>this.value.currentPassword=a),id:"currentPassword_"+this.uuid},null,10,X),[[_,this.value.currentPassword]]),u.showInvalidFeedback?(i(),r("div",ee,x(this.invalidFeedback),1)):g("",!0)])]),e("div",se,[e("div",te,[e("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"New Password"})])])],8,ae),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.value.newPassword=a),id:"newPassword_"+this.uuid},null,10,ie),[[_,this.value.newPassword]])])]),e("div",oe,[e("div",ne,[e("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Repeat New Password"})])])],8,le),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.value.repeatNewPassword=a),id:"repeatNewPassword_"+this.uuid},null,10,de),[[_,this.value.repeatNewPassword]])])])]),e("button",{disabled:!this.passwordValid,class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:s[3]||(s[3]=a=>this.useValidation())},[s[4]||(s[4]=e("i",{class:"bi bi-save2-fill me-2"},null,-1)),l(o,{t:"Save"})],8,re)])])}const gt=A(G,[["render",ue]]),ce={name:"dashboardTheme",components:{LocaleText:c},setup(){return{dashboardConfigurationStore:k()}},methods:{async switchTheme(t){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:t},s=>{s.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=t)})}}},me={class:"text-muted mb-1 d-block"},he={class:"d-flex gap-1"};function pe(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",me,[e("strong",null,[l(o,{t:"Theme"})])]),e("div",he,[e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:s[0]||(s[0]=a=>this.switchTheme("light"))},[s[2]||(s[2]=e("i",{class:"bi bi-sun-fill me-2"},null,-1)),l(o,{t:"Light"})],2),e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:s[1]||(s[1]=a=>this.switchTheme("dark"))},[s[3]||(s[3]=e("i",{class:"bi bi-moon-fill me-2"},null,-1)),l(o,{t:"Dark"})],2)])])}const _t=A(ce,[["render",pe]]),be={name:"newDashboardAPIKey",components:{LocaleText:c,VueDatePicker:Y},data(){return{newKeyData:{ExpiredAt:P().add(7,"d").format("YYYY-MM-DD HH:mm:ss"),NeverExpire:!1},submitting:!1}},setup(){return{store:k()}},mounted(){console.log(this.newKeyData.ExpiredAt)},methods:{submitNewAPIKey(){this.submitting=!0,w("/api/newDashboardAPIKey",this.newKeyData,t=>{t.status?(this.$emit("created",t.data),this.store.newMessage("Server","API Key created","success"),this.$emit("close")):this.store.newMessage("Server",t.message,"danger"),this.submitting=!1})},fixDate(t){return console.log(P(t).format("YYYY-MM-DDTHH:mm:ss")),P(t).format("YYYY-MM-DDTHH:mm:ss")},parseTime(t){t?this.newKeyData.ExpiredAt=P(t).format("YYYY-MM-DD HH:mm:ss"):this.newKeyData.ExpiredAt=void 0}}},fe={class:"position-absolute w-100 h-100 top-0 start-0 rounded-bottom-3 p-3 d-flex",style:{"background-color":"#00000060","backdrop-filter":"blur(3px)","z-index":"9999"}},ge={class:"card m-auto rounded-3 mt-5"},_e={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},ve={class:"mb-0"},ye={class:"card-body d-flex gap-2 p-4 flex-column"},we={class:"text-muted"},$e={class:"d-flex align-items-center gap-2"},ke={class:"form-check"},xe=["disabled"],Ae={class:"form-check-label",for:"neverExpire"},Pe={key:0,class:"bi bi-check-lg me-2"};function Ce(t,s,p,b,u,f){const o=y("LocaleText"),a=y("VueDatePicker");return i(),r("div",fe,[e("div",ge,[e("div",_e,[e("h6",ve,[l(o,{t:"Create API Key"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=n=>this.$emit("close"))})]),e("div",ye,[e("small",we,[l(o,{t:"When should this API Key expire?"})]),e("div",$e,[l(a,{style:{"z-index":"9999"},is24:!0,"min-date":new Date,"model-value":this.newKeyData.ExpiredAt,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:this.newKeyData.NeverExpire||this.submitting,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])]),e("div",ke,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=n=>this.newKeyData.NeverExpire=n),id:"neverExpire",disabled:this.submitting},null,8,xe),[[D,this.newKeyData.NeverExpire]]),e("label",Ae,[l(o,{t:"Never Expire"}),s[3]||(s[3]=C(" (",-1)),s[4]||(s[4]=e("i",{class:"bi bi-emoji-grimace-fill me-2"},null,-1)),l(o,{t:"Don't think that's a good idea"}),s[5]||(s[5]=C(") ",-1))])]),e("button",{class:$(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:s[2]||(s[2]=n=>this.submitNewAPIKey())},[this.submitting?g("",!0):(i(),r("i",Pe)),this.submitting?(i(),v(o,{key:1,t:"Creating..."})):(i(),v(o,{key:2,t:"Create"}))],2)])])])}const De=A(be,[["render",Ce]]),Ie={name:"dashboardAPIKey",components:{LocaleText:c},props:{apiKey:Object},setup(){return{store:k()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){w("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},t=>{t.status?(this.$emit("deleted",t.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",t.message,"danger")})}}},Ke={class:"card rounded-3 shadow-sm"},Se={key:0,class:"card-body d-flex gap-3 align-items-center apiKey-card-body"},Te={class:"d-flex align-items-center gap-2"},Ve={class:"text-muted"},Ee={style:{"word-break":"break-all"}},Le={class:"d-flex align-items-center gap-2 ms-auto"},Fe={class:"text-muted"},Me={key:0,class:"card-body d-flex gap-3 align-items-center justify-content-end"};function Ne(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",Ke,[this.confirmDelete?(i(),r(S,{key:1},[this.store.getActiveCrossServer()?g("",!0):(i(),r("div",Me,[l(o,{t:"Are you sure to delete this API key?"}),e("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:s[1]||(s[1]=a=>this.deleteAPIKey())},[...s[4]||(s[4]=[e("i",{class:"bi bi-check-lg"},null,-1)])]),e("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:s[2]||(s[2]=a=>this.confirmDelete=!1)},[...s[5]||(s[5]=[e("i",{class:"bi bi-x-lg"},null,-1)])])]))],64)):(i(),r("div",Se,[e("div",Te,[e("small",Ve,[l(o,{t:"Key"})]),e("span",Ee,x(this.apiKey.Key),1)]),e("div",Le,[e("small",Fe,[l(o,{t:"Expire At"})]),this.apiKey.ExpiredAt?g("",!0):(i(),v(o,{key:0,t:"Never Expire"})),e("span",null,x(this.apiKey.ExpiredAt),1)]),this.store.getActiveCrossServer()?g("",!0):(i(),r("a",{key:0,role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:s[0]||(s[0]=a=>this.confirmDelete=!0)},[...s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)])]))]))])}const Ue=A(Ie,[["render",Ne],["__scopeId","data-v-a76253c8"]]),Ye={name:"dashboardAPIKeys",components:{LocaleText:c,DashboardAPIKey:Ue,NewDashboardAPIKey:De},setup(){return{store:k()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},t=>{t.status?(this.store.Configuration.Peers[this.targetData]=this.value,this.store.newMessage("Server",`API Keys function is successfully ${this.value?"enabled":"disabled"}`,"success")):(this.value=this.store.Configuration.Peers[this.targetData],this.store.newMessage("Server",`API Keys function is failed to ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(t){t?T("/api/getDashboardAPIKeys",{},s=>{s.status?this.apiKeys=s.data:(this.apiKeys=[],this.store.newMessage("Server",s.message,"danger"))}):this.apiKeys=[]}}}},He={class:"card rounded-3"},Re={class:"my-2"},je={key:0,class:"form-check form-switch ms-auto"},qe={class:"form-check-label",for:"allowAPIKeysSwitch"},Be={key:0,class:"card-body position-relative d-flex flex-column gap-2"},ze={key:1,class:"card",style:{height:"300px"}},Ge={class:"card-body d-flex text-muted"},We={class:"m-auto"},Oe={key:2,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function Ze(t,s,p,b,u,f){const o=y("LocaleText"),a=y("DashboardAPIKey"),n=y("NewDashboardAPIKey");return i(),r("div",He,[e("div",{class:$(["card-header d-flex align-items-center",{"border-bottom-0 rounded-3":!this.value}])},[e("h6",Re,[s[6]||(s[6]=e("i",{class:"bi bi-key-fill me-2"},null,-1)),l(o,{t:"API Keys"})]),this.store.getActiveCrossServer()?g("",!0):(i(),r("div",je,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=d=>this.value=d),onChange:s[1]||(s[1]=d=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[D,this.value]]),e("label",qe,[this.value?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(o,{key:1,t:"Disabled"}))])]))],2),this.value?(i(),r("div",Be,[this.store.getActiveCrossServer()?g("",!0):(i(),r("button",{key:0,class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:s[2]||(s[2]=d=>this.newDashboardAPIKey=!0)},[s[7]||(s[7]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(o,{t:"API Key"})])),this.apiKeys.length===0?(i(),r("div",ze,[e("div",Ge,[e("span",We,[l(o,{t:"No WGDashboard API Key"})])])])):(i(),r("div",Oe,[l(F,{name:"apiKey"},{default:V(()=>[(i(!0),r(S,null,E(this.apiKeys,d=>(i(),v(a,{apiKey:d,key:d.Key,onDeleted:s[3]||(s[3]=L=>this.apiKeys=L)},null,8,["apiKey"]))),128))]),_:1})])),l(M,{name:"zoomReversed"},{default:V(()=>[this.newDashboardAPIKey?(i(),v(n,{key:0,onCreated:s[4]||(s[4]=d=>this.apiKeys=d),onClose:s[5]||(s[5]=d=>this.newDashboardAPIKey=!1)})):g("",!0)]),_:1})])):g("",!0)])}const vt=A(Ye,[["render",Ze],["__scopeId","data-v-f7e62927"]]),Je={name:"accountSettingsMFA",components:{LocaleText:c},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{status:!1}},mounted(){this.status=this.store.Configuration.Account.enable_totp},methods:{async resetMFA(){await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"totp_verified",value:"false"},async t=>{await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"enable_totp",value:"false"},s=>{s.status&&this.$router.push("/2FASetup")})})}}},Qe={class:"d-flex align-items-center"},Xe={class:"form-check form-switch"},es={for:"allowMFAKeysSwitch"};function ss(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",Qe,[e("div",Xe,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=a=>this.status=a),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[D,this.status]]),e("label",es,[this.status?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(o,{key:1,t:"Disabled"}))])]),this.status?(i(),r("button",{key:0,class:"btn bg-warning-subtle text-warning-emphasis border-1 border-warning-subtle ms-auto rounded-3 shadow-sm",onClick:s[1]||(s[1]=a=>this.resetMFA())},[s[2]||(s[2]=e("i",{class:"bi bi-shield-lock-fill me-2"},null,-1)),this.store.Configuration.Account.totp_verified?(i(),v(o,{key:0,t:"Reset"})):(i(),v(o,{key:1,t:"Setup"})),s[3]||(s[3]=C(" MFA ",-1))])):g("",!0)])])}const yt=A(Je,[["render",ss]]),ts={name:"dashboardLanguage",components:{LocaleText:c},setup(){return{store:k()}},data(){return{languages:void 0}},mounted(){T("/api/locale/available",{},t=>{this.languages=t.data})},methods:{changeLanguage(t){w("/api/locale/update",{lang_id:t},s=>{s.status?(this.store.Configuration.Server.dashboard_language=t,this.store.Locale=s.data):this.store.newMessage("Server","WGDashboard language update failed","danger")})}},computed:{currentLanguage(){let t=this.store.Configuration.Server.dashboard_language;return this.languages.find(s=>s.lang_id===t)}}},as={class:"text-muted d-block mb-1"},is={class:"d-flex gap-2"},os={class:"dropdown w-100"},ns=["disabled"],ls={key:1},ds={class:"dropdown-menu rounded-3 shadow",style:{"max-height":"500px","overflow-y":"scroll"}},rs=["onClick"],us={class:"me-auto mb-0"},cs={class:"d-block",style:{"font-size":"0.8rem"}},ms={key:0,class:"bi bi-check text-primary fs-5"};function hs(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",as,[e("strong",null,[l(o,{t:"Language"})])]),e("div",is,[e("div",os,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis dropdown-toggle w-100 rounded-3",disabled:!this.languages,type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[this.languages?(i(),r("span",ls,x(f.currentLanguage?.lang_name_localized),1)):(i(),v(o,{key:0,t:"Loading..."}))],8,ns),e("ul",ds,[(i(!0),r(S,null,E(this.languages,a=>(i(),r("li",null,[e("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:n=>this.changeLanguage(a.lang_id)},[e("p",us,[C(x(a.lang_name_localized)+" ",1),e("small",cs,x(a.lang_name),1)]),f.currentLanguage?.lang_id===a.lang_id?(i(),r("i",ms)):g("",!0)],8,rs)]))),256))])])])])}const wt=A(ts,[["render",hs],["__scopeId","data-v-4e34593e"]]),ps={name:"dashboardIPPortInput",components:{LocaleText:c},setup(){return{store:k()}},data(){return{ipAddress:"",port:0,invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.ipAddress=this.store.Configuration.Server.app_ip,this.port=this.store.Configuration.Server.app_port},methods:{async useValidation(t,s,p){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Server",key:s,value:p},b=>{b.status?(t.target.classList.add("is-valid"),this.showInvalidFeedback=!1,this.store.Configuration.Server[s]=p,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t.target.classList.remove("is-valid")},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=b.message),this.changed=!1,this.updating=!1}))}}},bs={class:"row g-2"},fs={class:"col-sm"},gs={class:"form-group"},_s={for:"input_dashboard_ip",class:"text-muted mb-1"},vs=["disabled"],ys={class:"invalid-feedback"},ws={class:"col-sm"},$s={class:"form-group"},ks={for:"input_dashboard_ip",class:"text-muted mb-1"},xs=["disabled"],As={class:"invalid-feedback"},Ps={class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mb-2 mt-2"};function Cs(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",bs,[e("div",fs,[e("div",gs,[e("label",_s,[e("strong",null,[e("small",null,[l(o,{t:"IP Address / Hostname"})])])]),h(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[0]||(s[0]=a=>this.ipAddress=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation(a,"app_ip",this.ipAddress)),disabled:this.updating},null,42,vs),[[_,this.ipAddress]]),e("div",ys,x(this.invalidFeedback),1)])]),e("div",ws,[e("div",$s,[e("label",ks,[e("strong",null,[e("small",null,[l(o,{t:"Listen Port"})])])]),h(e("input",{type:"number",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[3]||(s[3]=a=>this.port=a),onKeydown:s[4]||(s[4]=a=>this.changed=!0),onBlur:s[5]||(s[5]=a=>f.useValidation(a,"app_port",this.port)),disabled:this.updating},null,42,xs),[[_,this.port]]),e("div",As,x(this.invalidFeedback),1)])])]),e("div",Ps,[e("small",null,[s[6]||(s[6]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),l(o,{t:"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port"})])])])}const $t=A(ps,[["render",Cs]]),Ds={class:"card"},Is={class:"card-header"},Ks={class:"my-2 d-flex"},Ss={key:0,class:"text-success ms-auto"},Ts={class:"card-body d-flex flex-column gap-3"},Vs={class:"row gx-2 gy-2"},Es={class:"col-12"},Ls={class:"form-check mb-2 form-switch"},Fs={class:"form-check-label",for:"authentication_required"},Ms={class:"col-12 col-lg-4"},Ns={class:"form-group"},Us={for:"server",class:"text-muted mb-1"},Ys={class:"col-12 col-lg-4"},Hs={class:"form-group"},Rs={for:"port",class:"text-muted mb-1"},js={class:"col-12 col-lg-4"},qs={class:"form-group"},Bs={for:"encryption",class:"text-muted mb-1"},zs={value:"NOTLS"},Gs={key:0,class:"col-12 col-lg-4"},Ws={class:"form-group"},Os={for:"username",class:"text-muted mb-1"},Zs={key:1,class:"col-12 col-lg-4"},Js={class:"form-group"},Qs={for:"email_password",class:"text-muted mb-1"},Xs={class:"col-12 col-lg-4"},et={class:"form-group"},st={for:"send_from",class:"text-muted mb-1"},tt={key:0},at={key:1},it={class:"text-muted mb-1",for:"test_email"},ot={class:"fw-bold"},nt=["disabled"],lt=["disabled"],dt={key:0,class:"bi bi-send me-2"},rt={key:1,class:"spinner-border spinner-border-sm me-2"},ut={class:"text-muted mb-1",for:"email_template"},ct={class:"fw-bold"},kt={__name:"dashboardEmailSettings",setup(t){const s=k();N(()=>{f(),document.querySelectorAll("#emailAccount input, #emailAccount select, #email_template").forEach(a=>{a.addEventListener("change",async()=>{let n=a.attributes.getNamedItem("id").value;await w("/api/updateDashboardConfigurationItem",{section:"Email",key:n,value:s.Configuration.Email[n]},d=>{d.status?(a.classList.remove("is-invalid"),a.classList.add("is-valid")):(a.classList.remove("is-valid"),a.classList.add("is-invalid")),f()})})})});const p=I(!1),b=I(""),u=I(!1),f=async()=>{await T("/api/email/ready",{},a=>{p.value=a.status})},o=async()=>{u.value=!0,await w("/api/email/send",{Receiver:b.value,Subject:"WGDashboard Testing Email",Body:"Test 1, 2, 3! Hello World :)"},a=>{a.status?s.newMessage("Server","Test email sent successfully!","success"):s.newMessage("Server",`Test email sent failed! Reason: ${a.message}`,"danger"),u.value=!1})};return(a,n)=>(i(),r("div",Ds,[e("div",Is,[e("h6",Ks,[n[12]||(n[12]=e("i",{class:"bi bi-envelope-fill me-2"},null,-1)),l(c,{t:"Email Account"}),p.value?(i(),r("span",Ss,[n[11]||(n[11]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),l(c,{t:"Ready"})])):g("",!0)])]),e("div",Ts,[e("form",{onSubmit:n[7]||(n[7]=d=>d.preventDefault(d)),id:"emailAccount"},[e("div",Vs,[e("div",Es,[e("div",Ls,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":n[0]||(n[0]=d=>m(s).Configuration.Email.authentication_required=d),id:"authentication_required"},null,512),[[D,m(s).Configuration.Email.authentication_required]]),e("label",Fs,[l(c,{t:"Require SMTP Authentication"})])])]),e("div",Ms,[e("div",Ns,[e("label",Us,[e("strong",null,[e("small",null,[l(c,{t:"Server"})])])]),h(e("input",{id:"server","onUpdate:modelValue":n[1]||(n[1]=d=>m(s).Configuration.Email.server=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.server]])])]),e("div",Ys,[e("div",Hs,[e("label",Rs,[e("strong",null,[e("small",null,[l(c,{t:"Port"})])])]),h(e("input",{id:"port","onUpdate:modelValue":n[2]||(n[2]=d=>m(s).Configuration.Email.port=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.port]])])]),e("div",js,[e("div",qs,[e("label",Bs,[e("strong",null,[e("small",null,[l(c,{t:"Encryption"})])])]),h(e("select",{class:"form-select rounded-3","onUpdate:modelValue":n[3]||(n[3]=d=>m(s).Configuration.Email.encryption=d),id:"encryption"},[n[13]||(n[13]=e("option",{value:"STARTTLS"}," STARTTLS ",-1)),e("option",zs,[l(c,{t:"No Encryption"})])],512),[[U,m(s).Configuration.Email.encryption]])])]),m(s).Configuration.Email.authentication_required?(i(),r("div",Gs,[e("div",Ws,[e("label",Os,[e("strong",null,[e("small",null,[l(c,{t:"Username"})])])]),h(e("input",{id:"username","onUpdate:modelValue":n[4]||(n[4]=d=>m(s).Configuration.Email.username=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.username]])])])):g("",!0),m(s).Configuration.Email.authentication_required?(i(),r("div",Zs,[e("div",Js,[e("label",Qs,[e("strong",null,[e("small",null,[l(c,{t:"Password"})])])]),h(e("input",{id:"email_password","onUpdate:modelValue":n[5]||(n[5]=d=>m(s).Configuration.Email.email_password=d),type:"password",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.email_password]])])])):g("",!0),e("div",Xs,[e("div",et,[e("label",st,[e("strong",null,[e("small",null,[l(c,{t:"Send From"})])])]),h(e("input",{id:"send_from","onUpdate:modelValue":n[6]||(n[6]=d=>m(s).Configuration.Email.send_from=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.send_from]])])])])],32),p.value?(i(),r("hr",tt)):g("",!0),p.value?(i(),r("div",at,[e("label",it,[e("small",ot,[l(c,{t:"Send Test Email"})])]),e("form",{onSubmit:n[9]||(n[9]=d=>{d.preventDefault(),o()}),class:"input-group"},[h(e("input",{type:"email",class:"form-control rounded-start-3",id:"test_email",placeholder:"john@example.com","onUpdate:modelValue":n[8]||(n[8]=d=>b.value=d),disabled:u.value},null,8,nt),[[_,b.value]]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-end-3",type:"submit",value:"Submit",disabled:b.value.length===0||u.value,id:"button-addon2"},[u.value?(i(),r("span",rt)):(i(),r("i",dt)),l(c,{t:u.value?"Sending...":"Send"},null,8,["t"])],8,lt)],32)])):g("",!0),n[14]||(n[14]=e("hr",null,null,-1)),e("div",null,[e("label",ut,[e("small",ct,[l(c,{t:"Email Body Template"})])]),h(e("textarea",{class:"form-control rounded-3 font-monospace","onUpdate:modelValue":n[10]||(n[10]=d=>m(s).Configuration.Email.email_template=d),id:"email_template",style:{"min-height":"400px"}},null,512),[[_,m(s).Configuration.Email.email_template]])])])]))}};export{ft as A,_t as D,kt as _,gt as a,vt as b,yt as c,wt as d,$t as e}; +import{_ as A,c as r,a as e,m as h,b as l,h as y,y as _,n as $,t as x,z as w,D as k,A as K,f as i,d as g,v as D,e as C,j as v,F as S,w as V,T as F,k as M,g as T,i as E,o as N,r as I,u as m,C as U}from"./index-Y3pG9DoR.js";import{L as c}from"./localeText-DcQapG1o.js";import{d as P}from"./dayjs.min-BxkQs1mo.js";import{Z as Y}from"./vue-datepicker-BOhP7hRx.js";const H={name:"accountSettingsInputUsername",components:{LocaleText:c},props:{targetData:String,title:String},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(t){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1}))}}},R={class:"form-group mb-2"},j=["for"],q=["id","disabled"],B={class:"invalid-feedback"};function z(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",R,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:this.title},null,8,["t"])])])],8,j),h(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.value=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation()),disabled:this.updating},null,42,q),[[_,this.value]]),e("div",B,x(this.invalidFeedback),1)])}const ft=A(H,[["render",z]]),G={name:"accountSettingsInputPassword",components:{LocaleText:c},props:{targetData:String,warning:!1,warningText:""},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(t=>t.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await w("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},t=>{t.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=t.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}},computed:{passwordValid(){return Object.values(this.value).find(t=>t.length===0)===void 0&&this.value.newPassword===this.value.repeatNewPassword}}},W={class:"d-flex flex-column gap-2"},O={class:"row g-2"},Z={class:"col-sm"},J={class:"form-group"},Q=["for"],X=["id"],ee={key:0,class:"invalid-feedback d-block"},se={class:"col-sm"},te={class:"form-group"},ae=["for"],ie=["id"],oe={class:"col-sm"},ne={class:"form-group"},le=["for"],de=["id"],re=["disabled"];function ue(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("h6",null,[l(o,{t:"Update Password"})]),e("form",W,[e("div",O,[e("div",Z,[e("div",J,[e("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Current Password"})])])],8,Q),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"current-password","onUpdate:modelValue":s[0]||(s[0]=a=>this.value.currentPassword=a),id:"currentPassword_"+this.uuid},null,10,X),[[_,this.value.currentPassword]]),u.showInvalidFeedback?(i(),r("div",ee,x(this.invalidFeedback),1)):g("",!0)])]),e("div",se,[e("div",te,[e("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"New Password"})])])],8,ae),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.value.newPassword=a),id:"newPassword_"+this.uuid},null,10,ie),[[_,this.value.newPassword]])])]),e("div",oe,[e("div",ne,[e("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[l(o,{t:"Repeat New Password"})])])],8,le),h(e("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.value.repeatNewPassword=a),id:"repeatNewPassword_"+this.uuid},null,10,de),[[_,this.value.repeatNewPassword]])])])]),e("button",{disabled:!this.passwordValid,class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:s[3]||(s[3]=a=>this.useValidation())},[s[4]||(s[4]=e("i",{class:"bi bi-save2-fill me-2"},null,-1)),l(o,{t:"Save"})],8,re)])])}const gt=A(G,[["render",ue]]),ce={name:"dashboardTheme",components:{LocaleText:c},setup(){return{dashboardConfigurationStore:k()}},methods:{async switchTheme(t){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:t},s=>{s.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=t)})}}},me={class:"text-muted mb-1 d-block"},he={class:"d-flex gap-1"};function pe(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",me,[e("strong",null,[l(o,{t:"Theme"})])]),e("div",he,[e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:s[0]||(s[0]=a=>this.switchTheme("light"))},[s[2]||(s[2]=e("i",{class:"bi bi-sun-fill me-2"},null,-1)),l(o,{t:"Light"})],2),e("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:s[1]||(s[1]=a=>this.switchTheme("dark"))},[s[3]||(s[3]=e("i",{class:"bi bi-moon-fill me-2"},null,-1)),l(o,{t:"Dark"})],2)])])}const _t=A(ce,[["render",pe]]),be={name:"newDashboardAPIKey",components:{LocaleText:c,VueDatePicker:Y},data(){return{newKeyData:{ExpiredAt:P().add(7,"d").format("YYYY-MM-DD HH:mm:ss"),NeverExpire:!1},submitting:!1}},setup(){return{store:k()}},mounted(){console.log(this.newKeyData.ExpiredAt)},methods:{submitNewAPIKey(){this.submitting=!0,w("/api/newDashboardAPIKey",this.newKeyData,t=>{t.status?(this.$emit("created",t.data),this.store.newMessage("Server","API Key created","success"),this.$emit("close")):this.store.newMessage("Server",t.message,"danger"),this.submitting=!1})},fixDate(t){return console.log(P(t).format("YYYY-MM-DDTHH:mm:ss")),P(t).format("YYYY-MM-DDTHH:mm:ss")},parseTime(t){t?this.newKeyData.ExpiredAt=P(t).format("YYYY-MM-DD HH:mm:ss"):this.newKeyData.ExpiredAt=void 0}}},fe={class:"position-absolute w-100 h-100 top-0 start-0 rounded-bottom-3 p-3 d-flex",style:{"background-color":"#00000060","backdrop-filter":"blur(3px)","z-index":"9999"}},ge={class:"card m-auto rounded-3 mt-5"},_e={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},ve={class:"mb-0"},ye={class:"card-body d-flex gap-2 p-4 flex-column"},we={class:"text-muted"},$e={class:"d-flex align-items-center gap-2"},ke={class:"form-check"},xe=["disabled"],Ae={class:"form-check-label",for:"neverExpire"},Pe={key:0,class:"bi bi-check-lg me-2"};function Ce(t,s,p,b,u,f){const o=y("LocaleText"),a=y("VueDatePicker");return i(),r("div",fe,[e("div",ge,[e("div",_e,[e("h6",ve,[l(o,{t:"Create API Key"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=n=>this.$emit("close"))})]),e("div",ye,[e("small",we,[l(o,{t:"When should this API Key expire?"})]),e("div",$e,[l(a,{style:{"z-index":"9999"},is24:!0,"min-date":new Date,"model-value":this.newKeyData.ExpiredAt,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:this.newKeyData.NeverExpire||this.submitting,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])]),e("div",ke,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[1]||(s[1]=n=>this.newKeyData.NeverExpire=n),id:"neverExpire",disabled:this.submitting},null,8,xe),[[D,this.newKeyData.NeverExpire]]),e("label",Ae,[l(o,{t:"Never Expire"}),s[3]||(s[3]=C(" (",-1)),s[4]||(s[4]=e("i",{class:"bi bi-emoji-grimace-fill me-2"},null,-1)),l(o,{t:"Don't think that's a good idea"}),s[5]||(s[5]=C(") ",-1))])]),e("button",{class:$(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:s[2]||(s[2]=n=>this.submitNewAPIKey())},[this.submitting?g("",!0):(i(),r("i",Pe)),this.submitting?(i(),v(o,{key:1,t:"Creating..."})):(i(),v(o,{key:2,t:"Create"}))],2)])])])}const De=A(be,[["render",Ce]]),Ie={name:"dashboardAPIKey",components:{LocaleText:c},props:{apiKey:Object},setup(){return{store:k()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){w("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},t=>{t.status?(this.$emit("deleted",t.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",t.message,"danger")})}}},Ke={class:"card rounded-3 shadow-sm"},Se={key:0,class:"card-body d-flex gap-3 align-items-center apiKey-card-body"},Te={class:"d-flex align-items-center gap-2"},Ve={class:"text-muted"},Ee={style:{"word-break":"break-all"}},Le={class:"d-flex align-items-center gap-2 ms-auto"},Fe={class:"text-muted"},Me={key:0,class:"card-body d-flex gap-3 align-items-center justify-content-end"};function Ne(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",Ke,[this.confirmDelete?(i(),r(S,{key:1},[this.store.getActiveCrossServer()?g("",!0):(i(),r("div",Me,[l(o,{t:"Are you sure to delete this API key?"}),e("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:s[1]||(s[1]=a=>this.deleteAPIKey())},[...s[4]||(s[4]=[e("i",{class:"bi bi-check-lg"},null,-1)])]),e("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:s[2]||(s[2]=a=>this.confirmDelete=!1)},[...s[5]||(s[5]=[e("i",{class:"bi bi-x-lg"},null,-1)])])]))],64)):(i(),r("div",Se,[e("div",Te,[e("small",Ve,[l(o,{t:"Key"})]),e("span",Ee,x(this.apiKey.Key),1)]),e("div",Le,[e("small",Fe,[l(o,{t:"Expire At"})]),this.apiKey.ExpiredAt?g("",!0):(i(),v(o,{key:0,t:"Never Expire"})),e("span",null,x(this.apiKey.ExpiredAt),1)]),this.store.getActiveCrossServer()?g("",!0):(i(),r("a",{key:0,role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:s[0]||(s[0]=a=>this.confirmDelete=!0)},[...s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)])]))]))])}const Ue=A(Ie,[["render",Ne],["__scopeId","data-v-a76253c8"]]),Ye={name:"dashboardAPIKeys",components:{LocaleText:c,DashboardAPIKey:Ue,NewDashboardAPIKey:De},setup(){return{store:k()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await w("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},t=>{t.status?(this.store.Configuration.Peers[this.targetData]=this.value,this.store.newMessage("Server",`API Keys function is successfully ${this.value?"enabled":"disabled"}`,"success")):(this.value=this.store.Configuration.Peers[this.targetData],this.store.newMessage("Server",`API Keys function is failed to ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(t){t?T("/api/getDashboardAPIKeys",{},s=>{s.status?this.apiKeys=s.data:(this.apiKeys=[],this.store.newMessage("Server",s.message,"danger"))}):this.apiKeys=[]}}}},He={class:"card rounded-3"},Re={class:"my-2"},je={key:0,class:"form-check form-switch ms-auto"},qe={class:"form-check-label",for:"allowAPIKeysSwitch"},Be={key:0,class:"card-body position-relative d-flex flex-column gap-2"},ze={key:1,class:"card",style:{height:"300px"}},Ge={class:"card-body d-flex text-muted"},We={class:"m-auto"},Oe={key:2,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function Ze(t,s,p,b,u,f){const o=y("LocaleText"),a=y("DashboardAPIKey"),n=y("NewDashboardAPIKey");return i(),r("div",He,[e("div",{class:$(["card-header d-flex align-items-center",{"border-bottom-0 rounded-3":!this.value}])},[e("h6",Re,[s[6]||(s[6]=e("i",{class:"bi bi-key-fill me-2"},null,-1)),l(o,{t:"API Keys"})]),this.store.getActiveCrossServer()?g("",!0):(i(),r("div",je,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=d=>this.value=d),onChange:s[1]||(s[1]=d=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[D,this.value]]),e("label",qe,[this.value?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(o,{key:1,t:"Disabled"}))])]))],2),this.value?(i(),r("div",Be,[this.store.getActiveCrossServer()?g("",!0):(i(),r("button",{key:0,class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:s[2]||(s[2]=d=>this.newDashboardAPIKey=!0)},[s[7]||(s[7]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(o,{t:"API Key"})])),this.apiKeys.length===0?(i(),r("div",ze,[e("div",Ge,[e("span",We,[l(o,{t:"No WGDashboard API Key"})])])])):(i(),r("div",Oe,[l(F,{name:"apiKey"},{default:V(()=>[(i(!0),r(S,null,E(this.apiKeys,d=>(i(),v(a,{apiKey:d,key:d.Key,onDeleted:s[3]||(s[3]=L=>this.apiKeys=L)},null,8,["apiKey"]))),128))]),_:1})])),l(M,{name:"zoomReversed"},{default:V(()=>[this.newDashboardAPIKey?(i(),v(n,{key:0,onCreated:s[4]||(s[4]=d=>this.apiKeys=d),onClose:s[5]||(s[5]=d=>this.newDashboardAPIKey=!1)})):g("",!0)]),_:1})])):g("",!0)])}const vt=A(Ye,[["render",Ze],["__scopeId","data-v-f7e62927"]]),Je={name:"accountSettingsMFA",components:{LocaleText:c},setup(){const t=k(),s=`input_${K()}`;return{store:t,uuid:s}},data(){return{status:!1}},mounted(){this.status=this.store.Configuration.Account.enable_totp},methods:{async resetMFA(){await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"totp_verified",value:"false"},async t=>{await w("/api/updateDashboardConfigurationItem",{section:"Account",key:"enable_totp",value:"false"},s=>{s.status&&this.$router.push("/2FASetup")})})}}},Qe={class:"d-flex align-items-center"},Xe={class:"form-check form-switch"},es={for:"allowMFAKeysSwitch"};function ss(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",Qe,[e("div",Xe,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":s[0]||(s[0]=a=>this.status=a),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[D,this.status]]),e("label",es,[this.status?(i(),v(o,{key:0,t:"Enabled"})):(i(),v(o,{key:1,t:"Disabled"}))])]),this.status?(i(),r("button",{key:0,class:"btn bg-warning-subtle text-warning-emphasis border-1 border-warning-subtle ms-auto rounded-3 shadow-sm",onClick:s[1]||(s[1]=a=>this.resetMFA())},[s[2]||(s[2]=e("i",{class:"bi bi-shield-lock-fill me-2"},null,-1)),this.store.Configuration.Account.totp_verified?(i(),v(o,{key:0,t:"Reset"})):(i(),v(o,{key:1,t:"Setup"})),s[3]||(s[3]=C(" MFA ",-1))])):g("",!0)])])}const yt=A(Je,[["render",ss]]),ts={name:"dashboardLanguage",components:{LocaleText:c},setup(){return{store:k()}},data(){return{languages:void 0}},mounted(){T("/api/locale/available",{},t=>{this.languages=t.data})},methods:{changeLanguage(t){w("/api/locale/update",{lang_id:t},s=>{s.status?(this.store.Configuration.Server.dashboard_language=t,this.store.Locale=s.data):this.store.newMessage("Server","WGDashboard language update failed","danger")})}},computed:{currentLanguage(){let t=this.store.Configuration.Server.dashboard_language;return this.languages.find(s=>s.lang_id===t)}}},as={class:"text-muted d-block mb-1"},is={class:"d-flex gap-2"},os={class:"dropdown w-100"},ns=["disabled"],ls={key:1},ds={class:"dropdown-menu rounded-3 shadow",style:{"max-height":"500px","overflow-y":"scroll"}},rs=["onClick"],us={class:"me-auto mb-0"},cs={class:"d-block",style:{"font-size":"0.8rem"}},ms={key:0,class:"bi bi-check text-primary fs-5"};function hs(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("small",as,[e("strong",null,[l(o,{t:"Language"})])]),e("div",is,[e("div",os,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis dropdown-toggle w-100 rounded-3",disabled:!this.languages,type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[this.languages?(i(),r("span",ls,x(f.currentLanguage?.lang_name_localized),1)):(i(),v(o,{key:0,t:"Loading..."}))],8,ns),e("ul",ds,[(i(!0),r(S,null,E(this.languages,a=>(i(),r("li",null,[e("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:n=>this.changeLanguage(a.lang_id)},[e("p",us,[C(x(a.lang_name_localized)+" ",1),e("small",cs,x(a.lang_name),1)]),f.currentLanguage?.lang_id===a.lang_id?(i(),r("i",ms)):g("",!0)],8,rs)]))),256))])])])])}const wt=A(ts,[["render",hs],["__scopeId","data-v-4e34593e"]]),ps={name:"dashboardIPPortInput",components:{LocaleText:c},setup(){return{store:k()}},data(){return{ipAddress:"",port:0,invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.ipAddress=this.store.Configuration.Server.app_ip,this.port=this.store.Configuration.Server.app_port},methods:{async useValidation(t,s,p){this.changed&&(this.updating=!0,await w("/api/updateDashboardConfigurationItem",{section:"Server",key:s,value:p},b=>{b.status?(t.target.classList.add("is-valid"),this.showInvalidFeedback=!1,this.store.Configuration.Server[s]=p,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t.target.classList.remove("is-valid")},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=b.message),this.changed=!1,this.updating=!1}))}}},bs={class:"row g-2"},fs={class:"col-sm"},gs={class:"form-group"},_s={for:"input_dashboard_ip",class:"text-muted mb-1"},vs=["disabled"],ys={class:"invalid-feedback"},ws={class:"col-sm"},$s={class:"form-group"},ks={for:"input_dashboard_ip",class:"text-muted mb-1"},xs=["disabled"],As={class:"invalid-feedback"},Ps={class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mb-2 mt-2"};function Cs(t,s,p,b,u,f){const o=y("LocaleText");return i(),r("div",null,[e("div",bs,[e("div",fs,[e("div",gs,[e("label",_s,[e("strong",null,[e("small",null,[l(o,{t:"IP Address / Hostname"})])])]),h(e("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[0]||(s[0]=a=>this.ipAddress=a),onKeydown:s[1]||(s[1]=a=>this.changed=!0),onBlur:s[2]||(s[2]=a=>f.useValidation(a,"app_ip",this.ipAddress)),disabled:this.updating},null,42,vs),[[_,this.ipAddress]]),e("div",ys,x(this.invalidFeedback),1)])]),e("div",ws,[e("div",$s,[e("label",ks,[e("strong",null,[e("small",null,[l(o,{t:"Listen Port"})])])]),h(e("input",{type:"number",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":s[3]||(s[3]=a=>this.port=a),onKeydown:s[4]||(s[4]=a=>this.changed=!0),onBlur:s[5]||(s[5]=a=>f.useValidation(a,"app_port",this.port)),disabled:this.updating},null,42,xs),[[_,this.port]]),e("div",As,x(this.invalidFeedback),1)])])]),e("div",Ps,[e("small",null,[s[6]||(s[6]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),l(o,{t:"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port"})])])])}const $t=A(ps,[["render",Cs]]),Ds={class:"card"},Is={class:"card-header"},Ks={class:"my-2 d-flex"},Ss={key:0,class:"text-success ms-auto"},Ts={class:"card-body d-flex flex-column gap-3"},Vs={class:"row gx-2 gy-2"},Es={class:"col-12"},Ls={class:"form-check mb-2 form-switch"},Fs={class:"form-check-label",for:"authentication_required"},Ms={class:"col-12 col-lg-4"},Ns={class:"form-group"},Us={for:"server",class:"text-muted mb-1"},Ys={class:"col-12 col-lg-4"},Hs={class:"form-group"},Rs={for:"port",class:"text-muted mb-1"},js={class:"col-12 col-lg-4"},qs={class:"form-group"},Bs={for:"encryption",class:"text-muted mb-1"},zs={value:"NOTLS"},Gs={key:0,class:"col-12 col-lg-4"},Ws={class:"form-group"},Os={for:"username",class:"text-muted mb-1"},Zs={key:1,class:"col-12 col-lg-4"},Js={class:"form-group"},Qs={for:"email_password",class:"text-muted mb-1"},Xs={class:"col-12 col-lg-4"},et={class:"form-group"},st={for:"send_from",class:"text-muted mb-1"},tt={key:0},at={key:1},it={class:"text-muted mb-1",for:"test_email"},ot={class:"fw-bold"},nt=["disabled"],lt=["disabled"],dt={key:0,class:"bi bi-send me-2"},rt={key:1,class:"spinner-border spinner-border-sm me-2"},ut={class:"text-muted mb-1",for:"email_template"},ct={class:"fw-bold"},kt={__name:"dashboardEmailSettings",setup(t){const s=k();N(()=>{f(),document.querySelectorAll("#emailAccount input, #emailAccount select, #email_template").forEach(a=>{a.addEventListener("change",async()=>{let n=a.attributes.getNamedItem("id").value;await w("/api/updateDashboardConfigurationItem",{section:"Email",key:n,value:s.Configuration.Email[n]},d=>{d.status?(a.classList.remove("is-invalid"),a.classList.add("is-valid")):(a.classList.remove("is-valid"),a.classList.add("is-invalid")),f()})})})});const p=I(!1),b=I(""),u=I(!1),f=async()=>{await T("/api/email/ready",{},a=>{p.value=a.status})},o=async()=>{u.value=!0,await w("/api/email/send",{Receiver:b.value,Subject:"WGDashboard Testing Email",Body:"Test 1, 2, 3! Hello World :)"},a=>{a.status?s.newMessage("Server","Test email sent successfully!","success"):s.newMessage("Server",`Test email sent failed! Reason: ${a.message}`,"danger"),u.value=!1})};return(a,n)=>(i(),r("div",Ds,[e("div",Is,[e("h6",Ks,[n[12]||(n[12]=e("i",{class:"bi bi-envelope-fill me-2"},null,-1)),l(c,{t:"Email Account"}),p.value?(i(),r("span",Ss,[n[11]||(n[11]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),l(c,{t:"Ready"})])):g("",!0)])]),e("div",Ts,[e("form",{onSubmit:n[7]||(n[7]=d=>d.preventDefault(d)),id:"emailAccount"},[e("div",Vs,[e("div",Es,[e("div",Ls,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":n[0]||(n[0]=d=>m(s).Configuration.Email.authentication_required=d),id:"authentication_required"},null,512),[[D,m(s).Configuration.Email.authentication_required]]),e("label",Fs,[l(c,{t:"Require SMTP Authentication"})])])]),e("div",Ms,[e("div",Ns,[e("label",Us,[e("strong",null,[e("small",null,[l(c,{t:"Server"})])])]),h(e("input",{id:"server","onUpdate:modelValue":n[1]||(n[1]=d=>m(s).Configuration.Email.server=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.server]])])]),e("div",Ys,[e("div",Hs,[e("label",Rs,[e("strong",null,[e("small",null,[l(c,{t:"Port"})])])]),h(e("input",{id:"port","onUpdate:modelValue":n[2]||(n[2]=d=>m(s).Configuration.Email.port=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.port]])])]),e("div",js,[e("div",qs,[e("label",Bs,[e("strong",null,[e("small",null,[l(c,{t:"Encryption"})])])]),h(e("select",{class:"form-select rounded-3","onUpdate:modelValue":n[3]||(n[3]=d=>m(s).Configuration.Email.encryption=d),id:"encryption"},[n[13]||(n[13]=e("option",{value:"STARTTLS"}," STARTTLS ",-1)),e("option",zs,[l(c,{t:"No Encryption"})])],512),[[U,m(s).Configuration.Email.encryption]])])]),m(s).Configuration.Email.authentication_required?(i(),r("div",Gs,[e("div",Ws,[e("label",Os,[e("strong",null,[e("small",null,[l(c,{t:"Username"})])])]),h(e("input",{id:"username","onUpdate:modelValue":n[4]||(n[4]=d=>m(s).Configuration.Email.username=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.username]])])])):g("",!0),m(s).Configuration.Email.authentication_required?(i(),r("div",Zs,[e("div",Js,[e("label",Qs,[e("strong",null,[e("small",null,[l(c,{t:"Password"})])])]),h(e("input",{id:"email_password","onUpdate:modelValue":n[5]||(n[5]=d=>m(s).Configuration.Email.email_password=d),type:"password",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.email_password]])])])):g("",!0),e("div",Xs,[e("div",et,[e("label",st,[e("strong",null,[e("small",null,[l(c,{t:"Send From"})])])]),h(e("input",{id:"send_from","onUpdate:modelValue":n[6]||(n[6]=d=>m(s).Configuration.Email.send_from=d),type:"text",class:"form-control rounded-3"},null,512),[[_,m(s).Configuration.Email.send_from]])])])])],32),p.value?(i(),r("hr",tt)):g("",!0),p.value?(i(),r("div",at,[e("label",it,[e("small",ot,[l(c,{t:"Send Test Email"})])]),e("form",{onSubmit:n[9]||(n[9]=d=>{d.preventDefault(),o()}),class:"input-group"},[h(e("input",{type:"email",class:"form-control rounded-start-3",id:"test_email",placeholder:"john@example.com","onUpdate:modelValue":n[8]||(n[8]=d=>b.value=d),disabled:u.value},null,8,nt),[[_,b.value]]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-end-3",type:"submit",value:"Submit",disabled:b.value.length===0||u.value,id:"button-addon2"},[u.value?(i(),r("span",rt)):(i(),r("i",dt)),l(c,{t:u.value?"Sending...":"Send"},null,8,["t"])],8,lt)],32)])):g("",!0),n[14]||(n[14]=e("hr",null,null,-1)),e("div",null,[e("label",ut,[e("small",ct,[l(c,{t:"Email Body Template"})])]),h(e("textarea",{class:"form-control rounded-3 font-monospace","onUpdate:modelValue":n[10]||(n[10]=d=>m(s).Configuration.Email.email_template=d),id:"email_template",style:{"min-height":"400px"}},null,512),[[_,m(s).Configuration.Email.email_template]])])])]))}};export{ft as A,_t as D,kt as _,gt as a,vt as b,yt as c,wt as d,$t as e}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js b/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-BwdJjJa2.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-BwdJjJa2.js index 8b763221..0c526336 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardSettingsWireguardConfigurationAutostart-BwdJjJa2.js @@ -1 +1 @@ -import{_ as f,c as i,a as t,b as u,h as w,d as k,m as x,y,n as p,t as v,z as _,D as m,W as b,A as S,f as n,r as D,q as $,F as W,i as V}from"./index-DYYtDSji.js";import{L as C}from"./localeText-Cd7vLnRM.js";const F={name:"dashboardSettingsInputWireguardConfigurationPath",components:{LocaleText:C},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const o=m(),s=b(),r=`input_${S()}`;return{store:o,uuid:r,WireguardConfigurationStore:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await _("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},o=>{o.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3),this.WireguardConfigurationStore.getConfigurations(),this.store.newMessage("Server","WireGuard configuration path saved","success")):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=o.message),this.changed=!1,this.updating=!1}))}}},I={class:"card"},T={class:"card-header"},A={class:"my-2"},L={class:"card-body"},M={class:"form-group"},N=["for"],P={class:"d-flex gap-2 align-items-start"},B={class:"flex-grow-1"},G=["id","disabled"],z={class:"invalid-feedback fw-bold"},U=["disabled"],q={key:0,class:"bi bi-save2-fill"},E={key:1,class:"spinner-border spinner-border-sm"},K={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1 mb-2"};function j(o,s,r,a,c,g){const d=w("LocaleText");return n(),i("div",I,[t("div",T,[t("h6",A,[u(d,{t:"Path"})])]),t("div",L,[t("div",M,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[u(d,{t:this.title},null,8,["t"])])])],8,N),t("div",P,[t("div",B,[x(t("input",{type:"text",class:p(["form-control rounded-3",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=e=>this.value=e),onKeydown:s[1]||(s[1]=e=>this.changed=!0),disabled:this.updating},null,42,G),[[y,this.value]]),t("div",z,v(this.invalidFeedback),1)]),t("button",{onClick:s[2]||(s[2]=e=>this.useValidation()),disabled:!this.changed,class:"ms-auto btn rounded-3 border-success-subtle bg-success-subtle text-success-emphasis"},[this.updating?(n(),i("span",E)):(n(),i("i",q))],8,U)]),r.warning?(n(),i("div",K,[t("small",null,[s[3]||(s[3]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),u(d,{t:r.warningText},null,8,["t"])])])):k("",!0)])])])}const et=f(F,[["render",j]]),H={class:"card rounded-3"},J={class:"card-header"},O={class:"my-2"},Q={class:"card-body d-flex gap-2"},R={class:"list-group w-100"},X=["onClick"],Y={__name:"dashboardSettingsWireguardConfigurationAutostart",setup(o){const s=m(),r=b(),a=D(s.Configuration.WireGuardConfiguration.autostart),c=$(()=>r.Configurations.map(e=>e.Name)),g=async()=>{await _("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"autostart",value:a.value},async e=>{e.status?(s.newMessage("Server","Start up configurations saved","success"),a.value=e.data):s.newMessage("Server","Start up configurations failed to save","danger")})},d=e=>{a.value.includes(e)?a.value=a.value.filter(h=>h!==e):a.value.push(e),g()};return(e,h)=>(n(),i("div",H,[t("div",J,[t("h6",O,[u(C,{t:"Toggle When Start Up"})])]),t("div",Q,[t("div",R,[(n(!0),i(W,null,V(c.value,l=>(n(),i("button",{type:"button",key:l,onClick:Z=>d(l),class:"list-group-item list-group-item-action py-2 w-100 d-flex align-items-center"},[t("samp",null,v(l),1),t("i",{class:p(["ms-auto",[a.value.includes(l)?"bi-check-circle-fill":"bi-circle"]])},null,2)],8,X))),128))])])]))}},at=f(Y,[["__scopeId","data-v-4aa2aed9"]]);export{et as D,at as a}; +import{_ as f,c as i,a as t,b as u,h as w,d as k,m as x,y,n as p,t as v,z as _,D as m,W as b,A as S,f as n,r as D,q as $,F as W,i as V}from"./index-Y3pG9DoR.js";import{L as C}from"./localeText-DcQapG1o.js";const F={name:"dashboardSettingsInputWireguardConfigurationPath",components:{LocaleText:C},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const o=m(),s=b(),r=`input_${S()}`;return{store:o,uuid:r,WireguardConfigurationStore:s}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await _("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},o=>{o.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3),this.WireguardConfigurationStore.getConfigurations(),this.store.newMessage("Server","WireGuard configuration path saved","success")):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=o.message),this.changed=!1,this.updating=!1}))}}},I={class:"card"},T={class:"card-header"},A={class:"my-2"},L={class:"card-body"},M={class:"form-group"},N=["for"],P={class:"d-flex gap-2 align-items-start"},B={class:"flex-grow-1"},G=["id","disabled"],z={class:"invalid-feedback fw-bold"},U=["disabled"],q={key:0,class:"bi bi-save2-fill"},E={key:1,class:"spinner-border spinner-border-sm"},K={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1 mb-2"};function j(o,s,r,a,c,g){const d=w("LocaleText");return n(),i("div",I,[t("div",T,[t("h6",A,[u(d,{t:"Path"})])]),t("div",L,[t("div",M,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[u(d,{t:this.title},null,8,["t"])])])],8,N),t("div",P,[t("div",B,[x(t("input",{type:"text",class:p(["form-control rounded-3",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":s[0]||(s[0]=e=>this.value=e),onKeydown:s[1]||(s[1]=e=>this.changed=!0),disabled:this.updating},null,42,G),[[y,this.value]]),t("div",z,v(this.invalidFeedback),1)]),t("button",{onClick:s[2]||(s[2]=e=>this.useValidation()),disabled:!this.changed,class:"ms-auto btn rounded-3 border-success-subtle bg-success-subtle text-success-emphasis"},[this.updating?(n(),i("span",E)):(n(),i("i",q))],8,U)]),r.warning?(n(),i("div",K,[t("small",null,[s[3]||(s[3]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),u(d,{t:r.warningText},null,8,["t"])])])):k("",!0)])])])}const et=f(F,[["render",j]]),H={class:"card rounded-3"},J={class:"card-header"},O={class:"my-2"},Q={class:"card-body d-flex gap-2"},R={class:"list-group w-100"},X=["onClick"],Y={__name:"dashboardSettingsWireguardConfigurationAutostart",setup(o){const s=m(),r=b(),a=D(s.Configuration.WireGuardConfiguration.autostart),c=$(()=>r.Configurations.map(e=>e.Name)),g=async()=>{await _("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"autostart",value:a.value},async e=>{e.status?(s.newMessage("Server","Start up configurations saved","success"),a.value=e.data):s.newMessage("Server","Start up configurations failed to save","danger")})},d=e=>{a.value.includes(e)?a.value=a.value.filter(h=>h!==e):a.value.push(e),g()};return(e,h)=>(n(),i("div",H,[t("div",J,[t("h6",O,[u(C,{t:"Toggle When Start Up"})])]),t("div",Q,[t("div",R,[(n(!0),i(W,null,V(c.value,l=>(n(),i("button",{type:"button",key:l,onClick:Z=>d(l),class:"list-group-item list-group-item-action py-2 w-100 d-flex align-items-center"},[t("samp",null,v(l),1),t("i",{class:p(["ms-auto",[a.value.includes(l)?"bi-check-circle-fill":"bi-circle"]])},null,2)],8,X))),128))])])]))}},at=f(Y,[["__scopeId","data-v-4aa2aed9"]]);export{et as D,at as a}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-CEc1Rq-k.js b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-Cg2U0AKd.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-CEc1Rq-k.js rename to src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-Cg2U0AKd.js index 54a56490..a450e636 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-CEc1Rq-k.js +++ b/src/static/dist/WGDashboardAdmin/assets/dashboardWebHooks-Cg2U0AKd.js @@ -1 +1 @@ -import{L as a}from"./localeText-Cd7vLnRM.js";import{B as D,r as p,E,G as A,D as F,c as o,d as f,a as e,b as l,m as w,e as V,y as U,C as O,v as I,F as C,i as L,n as _,u as J,A as K,t as h,g as R,z as T,f as t,q as N,j as $,x as Y,_ as j,o as Z,w as P,S as M}from"./index-DYYtDSji.js";const Q={class:"p-3"},X={key:0},ee={for:"PayloadURL",class:"form-label fw-bold text-muted"},se=["disabled"],te={for:"ContentType",class:"form-label fw-bold text-muted"},le=["disabled"],oe={class:"form-label fw-bold text-muted"},ne={class:"form-check form-switch mb-2"},ae=["disabled"],ie={class:"form-check-label",for:"VerifySSL"},de={key:0,class:"alert-danger alert rounded-3"},ue={class:"form-label fw-bold text-muted"},re={class:"card rounded-3"},ce={class:"card-body d-flex gap-2 flex-column"},be={class:"d-flex gap-2"},ve={class:"flex-grow-1"},me=["disabled","onUpdate:modelValue"],fe={class:"flex-grow-1"},pe=["disabled","onUpdate:modelValue"],ke=["onClick"],ye={class:"form-label fw-bold text-muted"},he={class:"form-check form-check-inline"},_e=["disabled","id","value"],xe=["for"],ge={class:"form-label fw-bold text-muted"},Se={class:"form-check form-switch mb-2"},we=["disabled"],$e={class:"form-check-label",for:"IsActive"},He={key:0,class:"alert alert-danger rounded-3"},We={class:"d-flex gap-2"},Ce={class:"d-flex align-items-center"},Le={class:"mb-0"},B=D({__name:"addWebHook",props:["webHook"],emits:["refresh","delete"],async setup(i,{emit:m}){let y,r;const s=p({ContentType:String,Headers:Object,IsActive:Boolean,Notes:String,PayloadURL:String,SubscribedActions:Array,VerifySSL:Boolean,WebHookID:String}),u=i;u.webHook?s.value={...u.webHook}:([y,r]=E(()=>R("/api/webHooks/createWebHook",{},g=>{s.value=g.data})),await y,r());const k=p({peer_created:A("Peer Created"),peer_deleted:A("Peer Deleted"),peer_updated:A("Peer Updated")}),x=m,d=F(),c=p(!1),S=p(""),v=p(!1),G=async g=>{g&&g.preventDefault(),v.value=!0,await T("/api/webHooks/updateWebHook",s.value,n=>{n.status?(x("refresh"),d.newMessage("Server","Webhook saved","success")):(c.value=!0,S.value=n.message,d.newMessage("Server","Webhook failed to save","danger")),v.value=!1})},z=async()=>{v.value=!0,await T("/api/webHooks/deleteWebHook",s.value,g=>{g.status?(x("delete"),d.newMessage("Server","Webhook deleted","success")):(c.value=!0,S.value=g.message,d.newMessage("Server","Webhook failed to delete","danger")),v.value=!1})};return(g,n)=>(t(),o("div",Q,[i.webHook?f("",!0):(t(),o("div",X,[e("h6",null,[l(a,{t:"Add Webhook"})]),e("p",null,[l(a,{t:"WGDashboard will sent a POST Request to the URL below with details of any subscribed events."})])])),e("form",{onSubmit:n[7]||(n[7]=b=>G(b)),class:"d-flex flex-column gap-2"},[e("div",null,[e("label",ee,[e("small",null,[l(a,{t:"Payload URL"}),n[8]||(n[8]=V("* ",-1))])]),w(e("input",{required:"",disabled:v.value,id:"PayloadURL","onUpdate:modelValue":n[0]||(n[0]=b=>s.value.PayloadURL=b),class:"form-control rounded-3",type:"url"},null,8,se),[[U,s.value.PayloadURL]])]),e("div",null,[e("label",te,[e("small",null,[l(a,{t:"Content Type"}),n[9]||(n[9]=V("* ",-1))])]),w(e("select",{disabled:v.value,id:"ContentType","onUpdate:modelValue":n[1]||(n[1]=b=>s.value.ContentType=b),class:"form-select rounded-3",required:""},[...n[10]||(n[10]=[e("option",{value:"application/json"}," application/json ",-1),e("option",{value:"application/x-www-form-urlencoded"}," application/x-www-form-urlencoded ",-1)])],8,le),[[O,s.value.ContentType]])]),e("div",null,[e("label",oe,[e("small",null,[l(a,{t:"Verify SSL"})])]),e("div",null,[e("div",ne,[w(e("input",{disabled:v.value,"onUpdate:modelValue":n[2]||(n[2]=b=>s.value.VerifySSL=b),class:"form-check-input",type:"checkbox",role:"switch",id:"VerifySSL"},null,8,ae),[[I,s.value.VerifySSL]]),e("label",ie,[l(a,{t:s.value.VerifySSL?"Enabled":"Disabled"},null,8,["t"])])]),s.value.VerifySSL?f("",!0):(t(),o("div",de,[n[11]||(n[11]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),l(a,{t:"We highly suggest to enable SSL verification"})]))])]),e("div",null,[e("label",ue,[e("small",null,[l(a,{t:"Custom Headers"})])]),e("div",re,[e("div",ce,[(t(!0),o(C,null,L(s.value.Headers,(b,H)=>(t(),o("div",be,[e("div",ve,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.key=W,placeholder:"Key"},null,8,me),[[U,b.key]])]),e("div",fe,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.value=W,placeholder:"Value"},null,8,pe),[[U,b.value]])]),e("button",{class:_([{disabled:v.value},"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"]),type:"button",onClick:W=>delete s.value.Headers[H]},[...n[12]||(n[12]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],10,ke)]))),256)),e("button",{type:"button",class:_([{disabled:v.value},"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"]),onClick:n[3]||(n[3]=b=>s.value.Headers[J(K)().toString()]={key:"",value:""})},[n[13]||(n[13]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),l(a,{t:"Header"})],2)])])]),n[15]||(n[15]=e("hr",null,null,-1)),e("div",null,[e("label",ye,[e("small",null,[l(a,{t:"Subscribed Actions"})])]),e("div",null,[(t(!0),o(C,null,L(k.value,(b,H)=>(t(),o("div",he,[w(e("input",{class:"form-check-input",disabled:s.value.SubscribedActions.length===1&&s.value.SubscribedActions.includes(H)||v.value,type:"checkbox",id:H,value:H,"onUpdate:modelValue":n[4]||(n[4]=W=>s.value.SubscribedActions=W)},null,8,_e),[[I,s.value.SubscribedActions]]),e("label",{class:"form-check-label",for:H},h(b),9,xe)]))),256))])]),n[16]||(n[16]=e("hr",null,null,-1)),e("div",null,[e("label",ge,[e("small",null,[l(a,{t:"Enable Webhook"})])]),e("div",null,[e("div",Se,[w(e("input",{disabled:v.value,"onUpdate:modelValue":n[5]||(n[5]=b=>s.value.IsActive=b),class:"form-check-input",type:"checkbox",role:"switch",id:"IsActive"},null,8,we),[[I,s.value.IsActive]]),e("label",$e,[l(a,{t:s.value.IsActive?"Yes":"No"},null,8,["t"])])])])]),c.value?(t(),o("div",He,h(S.value),1)):f("",!0),e("div",We,[e("button",{type:"submit",class:_([{disabled:v.value},"ms-auto btn bg-success-subtle text-success-emphasis border-success-subtle rounded-3"])},[l(a,{t:"Save"})],2)]),i.webHook?(t(),o(C,{key:1},[n[14]||(n[14]=e("hr",null,null,-1)),e("div",Ce,[e("h6",Le,[l(a,{t:"Danger Zone"})]),e("button",{onClick:n[6]||(n[6]=b=>z()),type:"button",class:_([{disabled:v.value},"btn bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3 ms-auto"])},[l(a,{t:"Delete"})],2)])],64)):f("",!0)],32)]))}}),De={class:"d-flex flex-column gap-3"},Ve={class:"text-muted"},Ae={key:0},Ue={key:1},Ie={key:2},Pe={key:3},Re={class:"d-flex gap-4 align-items-center"},Te={class:"text-muted"},Me={key:0},Be={key:1},Ee={class:"text-muted"},Ne={class:"table-responsive"},je={class:"table"},qe={scope:"col"},Ge={scope:"col"},ze={scope:"col"},Fe={style:{"white-space":"nowrap"}},Oe={key:0},Je={key:1},Ke={key:2},Ye={style:{"white-space":"nowrap","overflow-x":"scroll"}},Ze={class:"bg-body-tertiary p-3 rounded-3"},Qe={class:"mb-0"},q=D({__name:"webHookSession",props:["session"],setup(i){const m=i,y=N(()=>JSON.stringify(m.session.Data,null,4));return(r,s)=>(t(),o("div",De,[e("div",null,[e("small",Ve,[l(a,{t:"Status"})]),e("h3",{class:_({"text-success":i.session.Status===0,"text-danger":i.session.Status===1,"text-warning":i.session.Status===2})},[i.session.Status===0?(t(),o("span",Ae,[s[0]||(s[0]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),l(a,{t:"Success"})])):f("",!0),i.session.Status===2?(t(),o("span",Ue,[s[1]||(s[1]=e("i",{class:"bi bi-trash3-fill me-2"},null,-1)),l(a,{t:"Timeout"})])):i.session.Status===1?(t(),o("span",Ie,[s[2]||(s[2]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),l(a,{t:"Failed"})])):i.session.Status===-1?(t(),o("span",Pe,[s[3]||(s[3]=e("i",{class:"spinner-border me-2"},null,-1)),l(a,{t:"Requesting..."})])):f("",!0)],2),e("div",Re,[e("div",null,[e("small",Te,[l(a,{t:"Started At"})]),e("h6",null,h(i.session.StartDate),1)]),i.session.EndDate?(t(),o("div",Me,[...s[4]||(s[4]=[e("i",{class:"bi bi-arrow-right"},null,-1)])])):f("",!0),i.session.EndDate?(t(),o("div",Be,[e("small",Ee,[l(a,{t:"Ended At"})]),e("h6",null,h(i.session.EndDate),1)])):f("",!0)])]),e("div",null,[e("h6",null,[l(a,{t:"Logs"})]),e("div",Ne,[e("table",je,[e("thead",null,[e("tr",null,[e("th",qe,[l(a,{t:"Datetime"})]),e("th",Ge,[l(a,{t:"Status"})]),e("th",ze,[l(a,{t:"Message"})])])]),e("tbody",null,[(t(!0),o(C,null,L([...i.session.Logs.Logs].reverse(),u=>(t(),o("tr",null,[e("td",Fe,h(u.LogTime),1),e("td",{style:{"white-space":"nowrap"},class:_({"text-success":u.Status===0,"text-danger":u.Status===1})},[u.Status===0?(t(),o("span",Oe,[...s[5]||(s[5]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)])])):u.Status===1?(t(),o("span",Je,[...s[6]||(s[6]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)])])):u.Status===-1?(t(),o("span",Ke,[...s[7]||(s[7]=[e("i",{class:"bi bi-circle me-2"},null,-1)])])):f("",!0)],2),e("td",Ye,h(u.Message),1)]))),256))])])])]),e("div",null,[e("h6",null,[l(a,{t:"Data"})]),e("div",Ze,[e("pre",Qe,[e("code",null,h(y.value),1)])])])]))}}),Xe={class:"card"},es={class:"card-body"},ss={key:0},ts={key:1},ls={key:2},os={key:3},ns=D({__name:"previousWebHookSession",props:["session"],setup(i){const m=p(!0);return(y,r)=>(t(),o("div",Xe,[e("div",es,[e("p",{class:"d-flex mb-0",role:"button",onClick:r[0]||(r[0]=s=>m.value=!m.value)},[e("span",{class:_({"text-success":i.session.Status===0,"text-danger":i.session.Status===1,"text-warning":i.session.Status===2})},[i.session.Status===0?(t(),o("span",ss,[...r[1]||(r[1]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)])])):i.session.Status===2?(t(),o("span",ts,[...r[2]||(r[2]=[e("i",{class:"bi bi-trash3-fill me-2"},null,-1)])])):i.session.Status===1?(t(),o("span",ls,[...r[3]||(r[3]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)])])):i.session.Status===-1?(t(),o("span",os,[...r[4]||(r[4]=[e("i",{class:"spinner-border spinner-border-sm me-2"},null,-1)])])):f("",!0)],2),V(" "+h(i.session.StartDate)+" ",1),r[5]||(r[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),m.value?f("",!0):(t(),$(q,{key:0,session:i.session,class:"mt-2"},null,8,["session"]))])]))}}),as={key:0},is={class:"p-3"},ds={class:"mb-3"},us={key:0,class:"border-top p-3"},rs={class:"d-flex flex-column gap-2"},cs={key:1,class:"p-3"},bs=D({__name:"webHookSessions",props:["webHook"],async setup(i){let m,y;const r=i,s=p([]),u=p(void 0),k=async()=>{await R("/api/webHooks/getWebHookSessions",{WebHookID:r.webHook.WebHookID},d=>{s.value=d.data})};[m,y]=E(()=>k()),await m,y();const x=N(()=>{if(s.value)return s.value[0]});return u.value=setInterval(()=>{k()},5e3),Y(()=>{clearInterval(u.value)}),(d,c)=>x.value?(t(),o("div",as,[e("div",is,[e("h6",ds,[l(a,{t:"Latest Session"})]),(t(),$(q,{session:x.value,key:x.value.WebHookID},null,8,["session"]))]),s.value.length>1?(t(),o("div",us,[e("h6",null,[l(a,{t:"Previous Sessions"})]),e("div",rs,[(t(!0),o(C,null,L(s.value.slice(1),S=>(t(),$(ns,{session:S,key:S.WebHookSessionID},null,8,["session"]))),128))])])):f("",!0)])):(t(),o("div",cs,[...c[0]||(c[0]=[e("div",{class:"bg-body-tertiary p-3 w-100 d-flex rounded-3"},[e("h6",{class:"mb-0 m-auto"},"No Sessions")],-1)])]))}}),vs=j(bs,[["__scopeId","data-v-7b6e949e"]]),ms={class:"text-body w-100 h-100 pb-2 position-relative"},fs={class:"w-100 h-100 card rounded-3"},ps={class:"border-bottom z-0"},ks={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},ys={class:"my-2"},hs={key:0,class:"row h-100 g-0"},_s={class:"col-sm-4 border-end d-flex flex-column clientListContainer"},xs={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},gs={class:"list-group d-flex flex-column d-flex h-100"},Ss=["onClick"],ws={class:"mb-0 fw-bold text-body url"},$s={class:"url mb-0"},Hs={key:1,class:"flex-grow-1 d-flex text-muted"},Ws={key:0,class:"col-sm-8 clientViewerContainer d-flex flex-column"},Cs={class:"overflow-scroll",style:{flex:"1 0 0"}},Ls={class:"navbar navbar-expand-lg bg-body-tertiary sticky-top"},Ds={class:"container-fluid"},Vs={class:"navbar-nav gap-2"},As={class:"nav-item"},Us={class:"nav-item"},Is={class:"p-3"},Ps=D({__name:"dashboardWebHooks",setup(i){const m=p([]),y=p(!1);Z(async()=>{await r(),y.value=!0});const r=async()=>{await R("/api/webHooks/getWebHooks",{},x=>{m.value=x.data})},s=p(!1),u=p(void 0),k=p("edit");return(x,d)=>(t(),o("div",ms,[e("div",fs,[e("div",ps,[e("div",ks,[e("h6",ys,[d[7]||(d[7]=e("i",{class:"bi bi-plug-fill me-2"},null,-1)),l(a,{t:"Webhooks"})]),s.value?(t(),o("button",{key:1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-1 border-secondary-subtle rounded-3 shadow-sm ms-auto",onClick:d[1]||(d[1]=c=>s.value=!1)},[d[9]||(d[9]=e("i",{class:"bi bi-chevron-left me-2"},null,-1)),l(a,{t:"Back"})])):(t(),o("button",{key:0,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm ms-auto",onClick:d[0]||(d[0]=c=>{s.value=!0,u.value=void 0})},[d[8]||(d[8]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(a,{t:"Webhook"})]))])]),s.value?(t(),$(M,{key:1},{default:P(()=>[l(B,{onRefresh:d[6]||(d[6]=c=>{u.value=void 0,s.value=!1,r()})})]),_:1})):(t(),o("div",hs,[e("div",_s,[e("div",xs,[e("div",gs,[m.value.length>0?(t(!0),o(C,{key:0},L(m.value,c=>(t(),o("a",{role:"button",onClick:S=>u.value=c,class:_([{active:u.value?.WebHookID===c.WebHookID},"list-group-item list-group-item-action"]),"aria-current":"true"},[e("p",ws,h(c.PayloadURL),1),e("p",$s,[l(a,{t:"Subscribed Actions"}),V(": "+h(c.SubscribedActions.join(", ")),1)])],10,Ss))),256)):(t(),o("div",Hs,[l(a,{t:"No Webhooks",class:"m-auto"})]))])])]),u.value?(t(),o("div",Ws,[e("div",Cs,[e("nav",Ls,[e("div",Ds,[e("div",null,[e("ul",Vs,[e("li",As,[e("a",{onClick:d[2]||(d[2]=c=>k.value="edit"),class:_([{active:k.value==="edit"},"nav-link rounded-3"]),role:"button"},[l(a,{t:"Edit"})],2)]),e("li",Us,[e("a",{class:_([{active:k.value==="sessions"},"nav-link rounded-3"]),onClick:d[3]||(d[3]=c=>k.value="sessions"),role:"button"},[l(a,{t:"Sessions"})],2)])])])])]),k.value==="edit"?(t(),$(B,{key:u.value,onDelete:d[4]||(d[4]=c=>{r(),u.value=void 0}),webHook:u.value,onRefresh:d[5]||(d[5]=c=>r())},null,8,["webHook"])):k.value==="sessions"?(t(),$(M,{key:1},{fallback:P(()=>[e("div",Is,[l(a,{t:"Loading..."})])]),default:P(()=>[(t(),$(vs,{key:u.value,webHook:u.value},null,8,["webHook"]))]),_:1})):f("",!0)])])):f("",!0)]))])]))}}),Ms=j(Ps,[["__scopeId","data-v-e0f0e683"]]);export{Ms as default}; +import{L as a}from"./localeText-DcQapG1o.js";import{B as D,r as p,E,G as A,D as F,c as o,d as f,a as e,b as l,m as w,e as V,y as U,C as O,v as I,F as C,i as L,n as _,u as J,A as K,t as h,g as R,z as T,f as t,q as N,j as $,x as Y,_ as j,o as Z,w as P,S as M}from"./index-Y3pG9DoR.js";const Q={class:"p-3"},X={key:0},ee={for:"PayloadURL",class:"form-label fw-bold text-muted"},se=["disabled"],te={for:"ContentType",class:"form-label fw-bold text-muted"},le=["disabled"],oe={class:"form-label fw-bold text-muted"},ne={class:"form-check form-switch mb-2"},ae=["disabled"],ie={class:"form-check-label",for:"VerifySSL"},de={key:0,class:"alert-danger alert rounded-3"},ue={class:"form-label fw-bold text-muted"},re={class:"card rounded-3"},ce={class:"card-body d-flex gap-2 flex-column"},be={class:"d-flex gap-2"},ve={class:"flex-grow-1"},me=["disabled","onUpdate:modelValue"],fe={class:"flex-grow-1"},pe=["disabled","onUpdate:modelValue"],ke=["onClick"],ye={class:"form-label fw-bold text-muted"},he={class:"form-check form-check-inline"},_e=["disabled","id","value"],xe=["for"],ge={class:"form-label fw-bold text-muted"},Se={class:"form-check form-switch mb-2"},we=["disabled"],$e={class:"form-check-label",for:"IsActive"},He={key:0,class:"alert alert-danger rounded-3"},We={class:"d-flex gap-2"},Ce={class:"d-flex align-items-center"},Le={class:"mb-0"},B=D({__name:"addWebHook",props:["webHook"],emits:["refresh","delete"],async setup(i,{emit:m}){let y,r;const s=p({ContentType:String,Headers:Object,IsActive:Boolean,Notes:String,PayloadURL:String,SubscribedActions:Array,VerifySSL:Boolean,WebHookID:String}),u=i;u.webHook?s.value={...u.webHook}:([y,r]=E(()=>R("/api/webHooks/createWebHook",{},g=>{s.value=g.data})),await y,r());const k=p({peer_created:A("Peer Created"),peer_deleted:A("Peer Deleted"),peer_updated:A("Peer Updated")}),x=m,d=F(),c=p(!1),S=p(""),v=p(!1),G=async g=>{g&&g.preventDefault(),v.value=!0,await T("/api/webHooks/updateWebHook",s.value,n=>{n.status?(x("refresh"),d.newMessage("Server","Webhook saved","success")):(c.value=!0,S.value=n.message,d.newMessage("Server","Webhook failed to save","danger")),v.value=!1})},z=async()=>{v.value=!0,await T("/api/webHooks/deleteWebHook",s.value,g=>{g.status?(x("delete"),d.newMessage("Server","Webhook deleted","success")):(c.value=!0,S.value=g.message,d.newMessage("Server","Webhook failed to delete","danger")),v.value=!1})};return(g,n)=>(t(),o("div",Q,[i.webHook?f("",!0):(t(),o("div",X,[e("h6",null,[l(a,{t:"Add Webhook"})]),e("p",null,[l(a,{t:"WGDashboard will sent a POST Request to the URL below with details of any subscribed events."})])])),e("form",{onSubmit:n[7]||(n[7]=b=>G(b)),class:"d-flex flex-column gap-2"},[e("div",null,[e("label",ee,[e("small",null,[l(a,{t:"Payload URL"}),n[8]||(n[8]=V("* ",-1))])]),w(e("input",{required:"",disabled:v.value,id:"PayloadURL","onUpdate:modelValue":n[0]||(n[0]=b=>s.value.PayloadURL=b),class:"form-control rounded-3",type:"url"},null,8,se),[[U,s.value.PayloadURL]])]),e("div",null,[e("label",te,[e("small",null,[l(a,{t:"Content Type"}),n[9]||(n[9]=V("* ",-1))])]),w(e("select",{disabled:v.value,id:"ContentType","onUpdate:modelValue":n[1]||(n[1]=b=>s.value.ContentType=b),class:"form-select rounded-3",required:""},[...n[10]||(n[10]=[e("option",{value:"application/json"}," application/json ",-1),e("option",{value:"application/x-www-form-urlencoded"}," application/x-www-form-urlencoded ",-1)])],8,le),[[O,s.value.ContentType]])]),e("div",null,[e("label",oe,[e("small",null,[l(a,{t:"Verify SSL"})])]),e("div",null,[e("div",ne,[w(e("input",{disabled:v.value,"onUpdate:modelValue":n[2]||(n[2]=b=>s.value.VerifySSL=b),class:"form-check-input",type:"checkbox",role:"switch",id:"VerifySSL"},null,8,ae),[[I,s.value.VerifySSL]]),e("label",ie,[l(a,{t:s.value.VerifySSL?"Enabled":"Disabled"},null,8,["t"])])]),s.value.VerifySSL?f("",!0):(t(),o("div",de,[n[11]||(n[11]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),l(a,{t:"We highly suggest to enable SSL verification"})]))])]),e("div",null,[e("label",ue,[e("small",null,[l(a,{t:"Custom Headers"})])]),e("div",re,[e("div",ce,[(t(!0),o(C,null,L(s.value.Headers,(b,H)=>(t(),o("div",be,[e("div",ve,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.key=W,placeholder:"Key"},null,8,me),[[U,b.key]])]),e("div",fe,[w(e("input",{class:"form-control rounded-3 form-control-sm",disabled:v.value,"onUpdate:modelValue":W=>b.value=W,placeholder:"Value"},null,8,pe),[[U,b.value]])]),e("button",{class:_([{disabled:v.value},"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"]),type:"button",onClick:W=>delete s.value.Headers[H]},[...n[12]||(n[12]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],10,ke)]))),256)),e("button",{type:"button",class:_([{disabled:v.value},"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"]),onClick:n[3]||(n[3]=b=>s.value.Headers[J(K)().toString()]={key:"",value:""})},[n[13]||(n[13]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),l(a,{t:"Header"})],2)])])]),n[15]||(n[15]=e("hr",null,null,-1)),e("div",null,[e("label",ye,[e("small",null,[l(a,{t:"Subscribed Actions"})])]),e("div",null,[(t(!0),o(C,null,L(k.value,(b,H)=>(t(),o("div",he,[w(e("input",{class:"form-check-input",disabled:s.value.SubscribedActions.length===1&&s.value.SubscribedActions.includes(H)||v.value,type:"checkbox",id:H,value:H,"onUpdate:modelValue":n[4]||(n[4]=W=>s.value.SubscribedActions=W)},null,8,_e),[[I,s.value.SubscribedActions]]),e("label",{class:"form-check-label",for:H},h(b),9,xe)]))),256))])]),n[16]||(n[16]=e("hr",null,null,-1)),e("div",null,[e("label",ge,[e("small",null,[l(a,{t:"Enable Webhook"})])]),e("div",null,[e("div",Se,[w(e("input",{disabled:v.value,"onUpdate:modelValue":n[5]||(n[5]=b=>s.value.IsActive=b),class:"form-check-input",type:"checkbox",role:"switch",id:"IsActive"},null,8,we),[[I,s.value.IsActive]]),e("label",$e,[l(a,{t:s.value.IsActive?"Yes":"No"},null,8,["t"])])])])]),c.value?(t(),o("div",He,h(S.value),1)):f("",!0),e("div",We,[e("button",{type:"submit",class:_([{disabled:v.value},"ms-auto btn bg-success-subtle text-success-emphasis border-success-subtle rounded-3"])},[l(a,{t:"Save"})],2)]),i.webHook?(t(),o(C,{key:1},[n[14]||(n[14]=e("hr",null,null,-1)),e("div",Ce,[e("h6",Le,[l(a,{t:"Danger Zone"})]),e("button",{onClick:n[6]||(n[6]=b=>z()),type:"button",class:_([{disabled:v.value},"btn bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3 ms-auto"])},[l(a,{t:"Delete"})],2)])],64)):f("",!0)],32)]))}}),De={class:"d-flex flex-column gap-3"},Ve={class:"text-muted"},Ae={key:0},Ue={key:1},Ie={key:2},Pe={key:3},Re={class:"d-flex gap-4 align-items-center"},Te={class:"text-muted"},Me={key:0},Be={key:1},Ee={class:"text-muted"},Ne={class:"table-responsive"},je={class:"table"},qe={scope:"col"},Ge={scope:"col"},ze={scope:"col"},Fe={style:{"white-space":"nowrap"}},Oe={key:0},Je={key:1},Ke={key:2},Ye={style:{"white-space":"nowrap","overflow-x":"scroll"}},Ze={class:"bg-body-tertiary p-3 rounded-3"},Qe={class:"mb-0"},q=D({__name:"webHookSession",props:["session"],setup(i){const m=i,y=N(()=>JSON.stringify(m.session.Data,null,4));return(r,s)=>(t(),o("div",De,[e("div",null,[e("small",Ve,[l(a,{t:"Status"})]),e("h3",{class:_({"text-success":i.session.Status===0,"text-danger":i.session.Status===1,"text-warning":i.session.Status===2})},[i.session.Status===0?(t(),o("span",Ae,[s[0]||(s[0]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),l(a,{t:"Success"})])):f("",!0),i.session.Status===2?(t(),o("span",Ue,[s[1]||(s[1]=e("i",{class:"bi bi-trash3-fill me-2"},null,-1)),l(a,{t:"Timeout"})])):i.session.Status===1?(t(),o("span",Ie,[s[2]||(s[2]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),l(a,{t:"Failed"})])):i.session.Status===-1?(t(),o("span",Pe,[s[3]||(s[3]=e("i",{class:"spinner-border me-2"},null,-1)),l(a,{t:"Requesting..."})])):f("",!0)],2),e("div",Re,[e("div",null,[e("small",Te,[l(a,{t:"Started At"})]),e("h6",null,h(i.session.StartDate),1)]),i.session.EndDate?(t(),o("div",Me,[...s[4]||(s[4]=[e("i",{class:"bi bi-arrow-right"},null,-1)])])):f("",!0),i.session.EndDate?(t(),o("div",Be,[e("small",Ee,[l(a,{t:"Ended At"})]),e("h6",null,h(i.session.EndDate),1)])):f("",!0)])]),e("div",null,[e("h6",null,[l(a,{t:"Logs"})]),e("div",Ne,[e("table",je,[e("thead",null,[e("tr",null,[e("th",qe,[l(a,{t:"Datetime"})]),e("th",Ge,[l(a,{t:"Status"})]),e("th",ze,[l(a,{t:"Message"})])])]),e("tbody",null,[(t(!0),o(C,null,L([...i.session.Logs.Logs].reverse(),u=>(t(),o("tr",null,[e("td",Fe,h(u.LogTime),1),e("td",{style:{"white-space":"nowrap"},class:_({"text-success":u.Status===0,"text-danger":u.Status===1})},[u.Status===0?(t(),o("span",Oe,[...s[5]||(s[5]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)])])):u.Status===1?(t(),o("span",Je,[...s[6]||(s[6]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)])])):u.Status===-1?(t(),o("span",Ke,[...s[7]||(s[7]=[e("i",{class:"bi bi-circle me-2"},null,-1)])])):f("",!0)],2),e("td",Ye,h(u.Message),1)]))),256))])])])]),e("div",null,[e("h6",null,[l(a,{t:"Data"})]),e("div",Ze,[e("pre",Qe,[e("code",null,h(y.value),1)])])])]))}}),Xe={class:"card"},es={class:"card-body"},ss={key:0},ts={key:1},ls={key:2},os={key:3},ns=D({__name:"previousWebHookSession",props:["session"],setup(i){const m=p(!0);return(y,r)=>(t(),o("div",Xe,[e("div",es,[e("p",{class:"d-flex mb-0",role:"button",onClick:r[0]||(r[0]=s=>m.value=!m.value)},[e("span",{class:_({"text-success":i.session.Status===0,"text-danger":i.session.Status===1,"text-warning":i.session.Status===2})},[i.session.Status===0?(t(),o("span",ss,[...r[1]||(r[1]=[e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)])])):i.session.Status===2?(t(),o("span",ts,[...r[2]||(r[2]=[e("i",{class:"bi bi-trash3-fill me-2"},null,-1)])])):i.session.Status===1?(t(),o("span",ls,[...r[3]||(r[3]=[e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)])])):i.session.Status===-1?(t(),o("span",os,[...r[4]||(r[4]=[e("i",{class:"spinner-border spinner-border-sm me-2"},null,-1)])])):f("",!0)],2),V(" "+h(i.session.StartDate)+" ",1),r[5]||(r[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),m.value?f("",!0):(t(),$(q,{key:0,session:i.session,class:"mt-2"},null,8,["session"]))])]))}}),as={key:0},is={class:"p-3"},ds={class:"mb-3"},us={key:0,class:"border-top p-3"},rs={class:"d-flex flex-column gap-2"},cs={key:1,class:"p-3"},bs=D({__name:"webHookSessions",props:["webHook"],async setup(i){let m,y;const r=i,s=p([]),u=p(void 0),k=async()=>{await R("/api/webHooks/getWebHookSessions",{WebHookID:r.webHook.WebHookID},d=>{s.value=d.data})};[m,y]=E(()=>k()),await m,y();const x=N(()=>{if(s.value)return s.value[0]});return u.value=setInterval(()=>{k()},5e3),Y(()=>{clearInterval(u.value)}),(d,c)=>x.value?(t(),o("div",as,[e("div",is,[e("h6",ds,[l(a,{t:"Latest Session"})]),(t(),$(q,{session:x.value,key:x.value.WebHookID},null,8,["session"]))]),s.value.length>1?(t(),o("div",us,[e("h6",null,[l(a,{t:"Previous Sessions"})]),e("div",rs,[(t(!0),o(C,null,L(s.value.slice(1),S=>(t(),$(ns,{session:S,key:S.WebHookSessionID},null,8,["session"]))),128))])])):f("",!0)])):(t(),o("div",cs,[...c[0]||(c[0]=[e("div",{class:"bg-body-tertiary p-3 w-100 d-flex rounded-3"},[e("h6",{class:"mb-0 m-auto"},"No Sessions")],-1)])]))}}),vs=j(bs,[["__scopeId","data-v-7b6e949e"]]),ms={class:"text-body w-100 h-100 pb-2 position-relative"},fs={class:"w-100 h-100 card rounded-3"},ps={class:"border-bottom z-0"},ks={class:"d-flex text-body align-items-center sticky-top p-3 bg-body-tertiary rounded-top-3",style:{"border-top-right-radius":"0 !important"}},ys={class:"my-2"},hs={key:0,class:"row h-100 g-0"},_s={class:"col-sm-4 border-end d-flex flex-column clientListContainer"},xs={class:"d-flex flex-column overflow-y-scroll",style:{flex:"1 0 0"}},gs={class:"list-group d-flex flex-column d-flex h-100"},Ss=["onClick"],ws={class:"mb-0 fw-bold text-body url"},$s={class:"url mb-0"},Hs={key:1,class:"flex-grow-1 d-flex text-muted"},Ws={key:0,class:"col-sm-8 clientViewerContainer d-flex flex-column"},Cs={class:"overflow-scroll",style:{flex:"1 0 0"}},Ls={class:"navbar navbar-expand-lg bg-body-tertiary sticky-top"},Ds={class:"container-fluid"},Vs={class:"navbar-nav gap-2"},As={class:"nav-item"},Us={class:"nav-item"},Is={class:"p-3"},Ps=D({__name:"dashboardWebHooks",setup(i){const m=p([]),y=p(!1);Z(async()=>{await r(),y.value=!0});const r=async()=>{await R("/api/webHooks/getWebHooks",{},x=>{m.value=x.data})},s=p(!1),u=p(void 0),k=p("edit");return(x,d)=>(t(),o("div",ms,[e("div",fs,[e("div",ps,[e("div",ks,[e("h6",ys,[d[7]||(d[7]=e("i",{class:"bi bi-plug-fill me-2"},null,-1)),l(a,{t:"Webhooks"})]),s.value?(t(),o("button",{key:1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-1 border-secondary-subtle rounded-3 shadow-sm ms-auto",onClick:d[1]||(d[1]=c=>s.value=!1)},[d[9]||(d[9]=e("i",{class:"bi bi-chevron-left me-2"},null,-1)),l(a,{t:"Back"})])):(t(),o("button",{key:0,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm ms-auto",onClick:d[0]||(d[0]=c=>{s.value=!0,u.value=void 0})},[d[8]||(d[8]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(a,{t:"Webhook"})]))])]),s.value?(t(),$(M,{key:1},{default:P(()=>[l(B,{onRefresh:d[6]||(d[6]=c=>{u.value=void 0,s.value=!1,r()})})]),_:1})):(t(),o("div",hs,[e("div",_s,[e("div",xs,[e("div",gs,[m.value.length>0?(t(!0),o(C,{key:0},L(m.value,c=>(t(),o("a",{role:"button",onClick:S=>u.value=c,class:_([{active:u.value?.WebHookID===c.WebHookID},"list-group-item list-group-item-action"]),"aria-current":"true"},[e("p",ws,h(c.PayloadURL),1),e("p",$s,[l(a,{t:"Subscribed Actions"}),V(": "+h(c.SubscribedActions.join(", ")),1)])],10,Ss))),256)):(t(),o("div",Hs,[l(a,{t:"No Webhooks",class:"m-auto"})]))])])]),u.value?(t(),o("div",Ws,[e("div",Cs,[e("nav",Ls,[e("div",Ds,[e("div",null,[e("ul",Vs,[e("li",As,[e("a",{onClick:d[2]||(d[2]=c=>k.value="edit"),class:_([{active:k.value==="edit"},"nav-link rounded-3"]),role:"button"},[l(a,{t:"Edit"})],2)]),e("li",Us,[e("a",{class:_([{active:k.value==="sessions"},"nav-link rounded-3"]),onClick:d[3]||(d[3]=c=>k.value="sessions"),role:"button"},[l(a,{t:"Sessions"})],2)])])])])]),k.value==="edit"?(t(),$(B,{key:u.value,onDelete:d[4]||(d[4]=c=>{r(),u.value=void 0}),webHook:u.value,onRefresh:d[5]||(d[5]=c=>r())},null,8,["webHook"])):k.value==="sessions"?(t(),$(M,{key:1},{fallback:P(()=>[e("div",Is,[l(a,{t:"Loading..."})])]),default:P(()=>[(t(),$(vs,{key:u.value,webHook:u.value},null,8,["webHook"]))]),_:1})):f("",!0)])])):f("",!0)]))])]))}}),Ms=j(Ps,[["__scopeId","data-v-e0f0e683"]]);export{Ms as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/dayjs.min-WRW_FTL4.js b/src/static/dist/WGDashboardAdmin/assets/dayjs.min-BxkQs1mo.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/dayjs.min-WRW_FTL4.js rename to src/static/dist/WGDashboardAdmin/assets/dayjs.min-BxkQs1mo.js index 96ec03dc..087d508e 100644 --- a/src/static/dist/WGDashboardAdmin/assets/dayjs.min-WRW_FTL4.js +++ b/src/static/dist/WGDashboardAdmin/assets/dayjs.min-BxkQs1mo.js @@ -1 +1 @@ -import{O as G}from"./index-DYYtDSji.js";var W={exports:{}},K=W.exports,E;function X(){return E||(E=1,(function(V,et){(function(A,x){V.exports=x()})(K,(function(){var A=1e3,x=6e4,U=36e5,I="millisecond",S="second",w="minute",O="hour",M="day",H="week",m="month",J="quarter",y="year",_="date",Z="Invalid Date",B=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,P=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Q={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(s){var n=["th","st","nd","rd"],t=s%100;return"["+s+(n[(t-20)%10]||n[t]||n[0])+"]"}},F=function(s,n,t){var r=String(s);return!r||r.length>=n?s:""+Array(n+1-r.length).join(t)+s},R={s:F,z:function(s){var n=-s.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),e=t%60;return(n<=0?"+":"-")+F(r,2,"0")+":"+F(e,2,"0")},m:function s(n,t){if(n.date()1)return s(u[0])}else{var o=n.name;D[o]=n,e=o}return!r&&e&&(k=e),e||!r&&k},f=function(s,n){if(N(s))return s.clone();var t=typeof n=="object"?n:{};return t.date=s,t.args=arguments,new C(t)},a=R;a.l=T,a.i=N,a.w=function(s,n){return f(s,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var C=(function(){function s(t){this.$L=T(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[q]=!0}var n=s.prototype;return n.parse=function(t){this.$d=(function(r){var e=r.date,i=r.utc;if(e===null)return new Date(NaN);if(a.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var u=e.match(B);if(u){var o=u[2]-1||0,c=(u[7]||"0").substring(0,3);return i?new Date(Date.UTC(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)):new Date(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)}}return new Date(e)})(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return a},n.isValid=function(){return this.$d.toString()!==Z},n.isSame=function(t,r){var e=f(t);return this.startOf(r)<=e&&e<=this.endOf(r)},n.isAfter=function(t,r){return f(t)=n?s:""+Array(n+1-r.length).join(t)+s},R={s:F,z:function(s){var n=-s.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),e=t%60;return(n<=0?"+":"-")+F(r,2,"0")+":"+F(e,2,"0")},m:function s(n,t){if(n.date()1)return s(u[0])}else{var o=n.name;D[o]=n,e=o}return!r&&e&&(k=e),e||!r&&k},f=function(s,n){if(N(s))return s.clone();var t=typeof n=="object"?n:{};return t.date=s,t.args=arguments,new C(t)},a=R;a.l=T,a.i=N,a.w=function(s,n){return f(s,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var C=(function(){function s(t){this.$L=T(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[q]=!0}var n=s.prototype;return n.parse=function(t){this.$d=(function(r){var e=r.date,i=r.utc;if(e===null)return new Date(NaN);if(a.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var u=e.match(B);if(u){var o=u[2]-1||0,c=(u[7]||"0").substring(0,3);return i?new Date(Date.UTC(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)):new Date(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)}}return new Date(e)})(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return a},n.isValid=function(){return this.$d.toString()!==Z},n.isSame=function(t,r){var e=f(t);return this.startOf(r)<=e&&e<=this.endOf(r)},n.isAfter=function(t,r){return f(t){q(()=>o.data,b=>{o.valid=/^[a-zA-Z0-9_=+.-]{1,15}$/.test(b)&&b.length>0&&!g.Configurations.find(_=>_.Name===b)})});const u=H(),x=y(!1),c=G(),a=async()=>{o.data&&(x.value=!0,clearInterval(u.Peers.RefreshInterval),await L("/api/renameWireguardConfiguration",{ConfigurationName:t.configurationName,NewConfigurationName:o.data},async b=>{b.status?(await g.getConfigurations(),u.newMessage("Server","Configuration renamed","success"),c.push(`/configuration/${o.data}/peers`)):(u.newMessage("Server",b.message,"danger"),x.value=!1)}))};return(b,_)=>(v(),h("div",re,[e("div",ue,[e("p",null,[s(n,{t:"To update this configuration's name, WGDashboard will execute the following operations:"})]),e("ol",null,[e("li",null,[s(n,{t:"Duplicate current configuration's database table and .conf file with the new name"})]),e("li",null,[s(n,{t:"Delete current configuration's database table and .conf file"})])]),e("div",ce,[e("input",{class:"form-control form-control-sm rounded-3",value:d.configurationName,disabled:""},null,8,me),_[3]||(_[3]=e("h3",{class:"mb-0"},[e("i",{class:"bi bi-arrow-right"})],-1)),C(e("input",{class:B(["form-control form-control-sm rounded-3",[o.data?o.valid?"is-valid":"is-invalid":""]]),id:"newConfigurationName","onUpdate:modelValue":_[0]||(_[0]=w=>o.data=w)},null,2),[[S,o.data]])]),e("div",{class:B(["invalid-feedback",{"d-block":!o.valid&&o.data}])},[s(n,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",fe,[e("li",null,[s(n,{t:"Configuration name already exist"})]),e("li",null,[s(n,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])],2),e("div",ge,[e("button",{onClick:_[1]||(_[1]=w=>f("close")),class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3"},[s(n,{t:"Cancel"})]),e("button",{onClick:_[2]||(_[2]=w=>a()),disabled:!o.data||x.value,class:"btn btn-sm btn-danger rounded-3 ms-auto"},[s(n,{t:"Save"})],8,be)])])]))}},pe=M(ve,[["__scopeId","data-v-33ea9576"]]),he={name:"Dropdown",props:{width:{type:String,default:"80px"},height:{type:String,default:"auto"},title:{type:String,default:""},disabled:{type:Boolean,default:!1},defaultDisplay:{type:Boolean,default:!1}}},ye={class:"title"};function xe(d,r,t,f,o,g){return v(),h("div",{class:B(["dropdown",{disabled:t.disabled}]),onClick:r[0]||(r[0]=(...u)=>d.toggleDropdown&&d.toggleDropdown(...u)),onFocusout:r[1]||(r[1]=(...u)=>d.hideDropdown&&d.hideDropdown(...u)),tabindex:"0"},[e("div",ye,[e("div",null,P(t.title),1)])],34)}const _e=M(he,[["render",xe]]),we={components:{Dropdown:_e},name:"CodeEditor",props:{lineNums:{type:Boolean,default:!1},modelValue:{type:String},value:{type:String},theme:{type:String,default:"github-dark"},tabSpaces:{type:Number,default:2},wrap:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},header:{type:Boolean,default:!0},width:{type:String,default:"540px"},height:{type:String,default:"auto"},maxWidth:{type:String},minWidth:{type:String},maxHeight:{type:String},minHeight:{type:String},borderRadius:{type:String,default:"12px"},languages:{type:Array,default:function(){return[["javascript","JS"]]}},langListWidth:{type:String,default:"110px"},langListHeight:{type:String,default:"auto"},langListDisplay:{type:Boolean,default:!1},displayLanguage:{type:Boolean,default:!0},zIndex:{type:String,default:"0"},fontSize:{type:String,default:"17px"},padding:{type:String,default:"20px"}},directives:{highlight:{mounted(d,r){d.textContent=r.value},updated(d,r){d.scrolling?d.scrolling=!1:d.textContent=r.value}}},data(){return{scrollBarWidth:0,scrollBarHeight:0,top:0,left:0,languageClass:"hljs language-"+this.languages[0][0],languageTitle:this.languages[0][1]?this.languages[0][1]:this.languages[0][0],content:this.value,cursorPosition:0,insertTab:!1,lineNum:0,lineNumsWidth:0,scrolling:!1,textareaHeight:0,showLineNums:this.wrap?!1:this.lineNums}},computed:{tabWidth(){let d="";for(let r=0;r{q(()=>o.data,b=>{o.valid=/^[a-zA-Z0-9_=+.-]{1,15}$/.test(b)&&b.length>0&&!g.Configurations.find(_=>_.Name===b)})});const u=H(),x=y(!1),c=G(),a=async()=>{o.data&&(x.value=!0,clearInterval(u.Peers.RefreshInterval),await L("/api/renameWireguardConfiguration",{ConfigurationName:t.configurationName,NewConfigurationName:o.data},async b=>{b.status?(await g.getConfigurations(),u.newMessage("Server","Configuration renamed","success"),c.push(`/configuration/${o.data}/peers`)):(u.newMessage("Server",b.message,"danger"),x.value=!1)}))};return(b,_)=>(v(),h("div",re,[e("div",ue,[e("p",null,[s(n,{t:"To update this configuration's name, WGDashboard will execute the following operations:"})]),e("ol",null,[e("li",null,[s(n,{t:"Duplicate current configuration's database table and .conf file with the new name"})]),e("li",null,[s(n,{t:"Delete current configuration's database table and .conf file"})])]),e("div",ce,[e("input",{class:"form-control form-control-sm rounded-3",value:d.configurationName,disabled:""},null,8,me),_[3]||(_[3]=e("h3",{class:"mb-0"},[e("i",{class:"bi bi-arrow-right"})],-1)),C(e("input",{class:B(["form-control form-control-sm rounded-3",[o.data?o.valid?"is-valid":"is-invalid":""]]),id:"newConfigurationName","onUpdate:modelValue":_[0]||(_[0]=w=>o.data=w)},null,2),[[S,o.data]])]),e("div",{class:B(["invalid-feedback",{"d-block":!o.valid&&o.data}])},[s(n,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",fe,[e("li",null,[s(n,{t:"Configuration name already exist"})]),e("li",null,[s(n,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])],2),e("div",ge,[e("button",{onClick:_[1]||(_[1]=w=>f("close")),class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3"},[s(n,{t:"Cancel"})]),e("button",{onClick:_[2]||(_[2]=w=>a()),disabled:!o.data||x.value,class:"btn btn-sm btn-danger rounded-3 ms-auto"},[s(n,{t:"Save"})],8,be)])])]))}},pe=M(ve,[["__scopeId","data-v-33ea9576"]]),he={name:"Dropdown",props:{width:{type:String,default:"80px"},height:{type:String,default:"auto"},title:{type:String,default:""},disabled:{type:Boolean,default:!1},defaultDisplay:{type:Boolean,default:!1}}},ye={class:"title"};function xe(d,r,t,f,o,g){return v(),h("div",{class:B(["dropdown",{disabled:t.disabled}]),onClick:r[0]||(r[0]=(...u)=>d.toggleDropdown&&d.toggleDropdown(...u)),onFocusout:r[1]||(r[1]=(...u)=>d.hideDropdown&&d.hideDropdown(...u)),tabindex:"0"},[e("div",ye,[e("div",null,P(t.title),1)])],34)}const _e=M(he,[["render",xe]]),we={components:{Dropdown:_e},name:"CodeEditor",props:{lineNums:{type:Boolean,default:!1},modelValue:{type:String},value:{type:String},theme:{type:String,default:"github-dark"},tabSpaces:{type:Number,default:2},wrap:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},header:{type:Boolean,default:!0},width:{type:String,default:"540px"},height:{type:String,default:"auto"},maxWidth:{type:String},minWidth:{type:String},maxHeight:{type:String},minHeight:{type:String},borderRadius:{type:String,default:"12px"},languages:{type:Array,default:function(){return[["javascript","JS"]]}},langListWidth:{type:String,default:"110px"},langListHeight:{type:String,default:"auto"},langListDisplay:{type:Boolean,default:!1},displayLanguage:{type:Boolean,default:!0},zIndex:{type:String,default:"0"},fontSize:{type:String,default:"17px"},padding:{type:String,default:"20px"}},directives:{highlight:{mounted(d,r){d.textContent=r.value},updated(d,r){d.scrolling?d.scrolling=!1:d.textContent=r.value}}},data(){return{scrollBarWidth:0,scrollBarHeight:0,top:0,left:0,languageClass:"hljs language-"+this.languages[0][0],languageTitle:this.languages[0][1]?this.languages[0][1]:this.languages[0][0],content:this.value,cursorPosition:0,insertTab:!1,lineNum:0,lineNumsWidth:0,scrolling:!1,textareaHeight:0,showLineNums:this.wrap?!1:this.lineNums}},computed:{tabWidth(){let d="";for(let r=0;r{this.scrollBarWidth=t[0].target.offsetWidth-t[0].target.clientWidth,this.scrollBarHeight=t[0].target.offsetHeight-t[0].target.clientHeight,this.textareaHeight=t[0].target.offsetHeight}).observe(this.$refs.textarea);const r=new ResizeObserver(t=>{this.lineNumsWidth=t[0].target.offsetWidth});this.$refs.lineNums&&r.observe(this.$refs.lineNums)},copy(){document.execCommand("copy")?(this.$refs.textarea.select(),document.execCommand("copy"),window.getSelection().removeAllRanges()):navigator.clipboard.writeText(this.$refs.textarea.value)},getLineNum(){const d=this.$refs.textarea.value;let r=0,t=d.indexOf(` `);for(;t!==-1;)r++,t=d.indexOf(` diff --git a/src/static/dist/WGDashboardAdmin/assets/index-CV5Q0a3C.js b/src/static/dist/WGDashboardAdmin/assets/index-BwIaVxZ8.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/index-CV5Q0a3C.js rename to src/static/dist/WGDashboardAdmin/assets/index-BwIaVxZ8.js index 5efe36fe..aeee7b7f 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-CV5Q0a3C.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-BwIaVxZ8.js @@ -1,3 +1,3 @@ -import{B as Vs,Q as Ws,R as qe,U as Vn,r as Wn,o as Nn,V as jn,I as $n,X as Ge,Y as Ns,Z as Yn}from"./index-DYYtDSji.js";function se(i){return i+.5|0}const lt=(i,t,e)=>Math.max(Math.min(i,e),t);function jt(i){return lt(se(i*2.55),0,255)}function dt(i){return lt(se(i*255),0,255)}function at(i){return lt(se(i/2.55)/100,0,1)}function vi(i){return lt(se(i*100),0,100)}const X={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ze=[..."0123456789ABCDEF"],Un=i=>Ze[i&15],Xn=i=>Ze[(i&240)>>4]+Ze[i&15],ae=i=>(i&240)>>4===(i&15),Kn=i=>ae(i.r)&&ae(i.g)&&ae(i.b)&&ae(i.a);function qn(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&X[i[1]]*17,g:255&X[i[2]]*17,b:255&X[i[3]]*17,a:t===5?X[i[4]]*17:255}:(t===7||t===9)&&(e={r:X[i[1]]<<4|X[i[2]],g:X[i[3]]<<4|X[i[4]],b:X[i[5]]<<4|X[i[6]],a:t===9?X[i[7]]<<4|X[i[8]]:255})),e}const Gn=(i,t)=>i<255?t(i):"";function Zn(i){var t=Kn(i)?Un:Xn;return i?"#"+t(i.r)+t(i.g)+t(i.b)+Gn(i.a,t):void 0}const Qn=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function js(i,t,e){const s=t*Math.min(e,1-e),n=(o,r=(o+i/30)%12)=>e-s*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function Jn(i,t,e){const s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function to(i,t,e){const s=js(i,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function eo(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-r):h/(o+r),l=eo(e,s,n,h,o),l=l*60+.5),[l|0,c||0,a]}function ri(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(dt)}function ai(i,t,e){return ri(js,i,t,e)}function io(i,t,e){return ri(to,i,t,e)}function so(i,t,e){return ri(Jn,i,t,e)}function $s(i){return(i%360+360)%360}function no(i){const t=Qn.exec(i);let e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?jt(+t[5]):dt(+t[5]));const n=$s(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=io(n,o,r):t[1]==="hsv"?s=so(n,o,r):s=ai(n,o,r),{r:s[0],g:s[1],b:s[2],a:e}}function oo(i,t){var e=oi(i);e[0]=$s(e[0]+t),e=ai(e),i.r=e[0],i.g=e[1],i.b=e[2]}function ro(i){if(!i)return;const t=oi(i),e=t[0],s=vi(t[1]),n=vi(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${at(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}const ki={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Si={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function ao(){const i={},t=Object.keys(Si),e=Object.keys(ki);let s,n,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return i}let le;function lo(i){le||(le=ao(),le.transparent=[0,0,0,0]);const t=le[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const co=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function ho(i){const t=co.exec(i);let e=255,s,n,o;if(t){if(t[7]!==s){const r=+t[7];e=t[8]?jt(r):lt(r*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?jt(s):lt(s,0,255)),n=255&(t[4]?jt(n):lt(n,0,255)),o=255&(t[6]?jt(o):lt(o,0,255)),{r:s,g:n,b:o,a:e}}}function fo(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${at(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}const Re=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,Ot=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function uo(i,t,e){const s=Ot(at(i.r)),n=Ot(at(i.g)),o=Ot(at(i.b));return{r:dt(Re(s+e*(Ot(at(t.r))-s))),g:dt(Re(n+e*(Ot(at(t.g))-n))),b:dt(Re(o+e*(Ot(at(t.b))-o))),a:i.a+e*(t.a-i.a)}}function ce(i,t,e){if(i){let s=oi(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=ai(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function Ys(i,t){return i&&Object.assign(t||{},i)}function wi(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=dt(i[3]))):(t=Ys(i,{r:0,g:0,b:0,a:1}),t.a=dt(t.a)),t}function go(i){return i.charAt(0)==="r"?ho(i):no(i)}class Gt{constructor(t){if(t instanceof Gt)return t;const e=typeof t;let s;e==="object"?s=wi(t):e==="string"&&(s=qn(t)||lo(t)||go(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=Ys(this._rgb);return t&&(t.a=at(t.a)),t}set rgb(t){this._rgb=wi(t)}rgbString(){return this._valid?fo(this._rgb):void 0}hexString(){return this._valid?Zn(this._rgb):void 0}hslString(){return this._valid?ro(this._rgb):void 0}mix(t,e){if(t){const s=this.rgb,n=t.rgb;let o;const r=e===o?.5:e,a=2*r-1,l=s.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=r*s.a+(1-r)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=uo(this._rgb,t._rgb,e)),this}clone(){return new Gt(this.rgb)}alpha(t){return this._rgb.a=dt(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=se(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return ce(this._rgb,2,t),this}darken(t){return ce(this._rgb,2,-t),this}saturate(t){return ce(this._rgb,1,t),this}desaturate(t){return ce(this._rgb,1,-t),this}rotate(t){return oo(this._rgb,t),this}}function nt(){}const po=(()=>{let i=0;return()=>i++})();function A(i){return i==null}function z(i){if(Array.isArray&&Array.isArray(i))return!0;const t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function O(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}function W(i){return(typeof i=="number"||i instanceof Number)&&isFinite(+i)}function J(i,t){return W(i)?i:t}function P(i,t){return typeof i>"u"?t:i}const mo=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function I(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function L(i,t,e,s){let n,o,r;if(z(i))for(o=i.length,n=0;ni,x:i=>i.x,y:i=>i.y};function _o(i){const t=i.split("."),e=[];let s="";for(const n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function yo(i){const t=_o(i);return e=>{for(const s of t){if(s==="")break;e=e&&e[s]}return e}}function Lt(i,t){return(Mi[t]||(Mi[t]=yo(t)))(i)}function li(i){return i.charAt(0).toUpperCase()+i.slice(1)}const Qt=i=>typeof i<"u",ft=i=>typeof i=="function",Pi=(i,t)=>{if(i.size!==t.size)return!1;for(const e of i)if(!t.has(e))return!1;return!0};function vo(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}const E=Math.PI,Z=2*E,ko=Z+E,Me=Number.POSITIVE_INFINITY,So=E/180,G=E/2,mt=E/4,Di=E*2/3,Xs=Math.log10,st=Math.sign;function Xt(i,t,e){return Math.abs(i-t)n-o).pop(),t}function Mo(i){return typeof i=="symbol"||typeof i=="object"&&i!==null&&!(Symbol.toPrimitive in i||"toString"in i||"valueOf"in i)}function Jt(i){return!Mo(i)&&!isNaN(parseFloat(i))&&isFinite(i)}function Po(i,t){const e=Math.round(i);return e-t<=i&&e+t>=i}function Do(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function ci(i,t,e){e=e||(r=>i[r]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}const kt=(i,t,e,s)=>ci(i,e,s?n=>{const o=i[n][t];return oi[n][t]ci(i,e,s=>i[s][t]>=e);function Io(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{const s="_onData"+li(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){const r=n.apply(this,o);return i._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function Ti(i,t){const e=i._chartjs;if(!e)return;const s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(qs.forEach(o=>{delete i[o]}),delete i._chartjs)}function Gs(i){const t=new Set(i);return t.size===i.length?i:Array.from(t)}const Zs=(function(){return typeof window>"u"?function(i){return i()}:window.requestAnimationFrame})();function Qs(i,t){let e=[],s=!1;return function(...n){e=n,s||(s=!0,Zs.call(window,()=>{s=!1,i.apply(t,e)}))}}function Ro(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}const hi=i=>i==="start"?"left":i==="end"?"right":"center",H=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,zo=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function Eo(i,t,e){const s=t.length;let n=0,o=s;if(i._sorted){const{iScale:r,vScale:a,_parsed:l}=i,c=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null,h=r.axis,{min:d,max:f,minDefined:u,maxDefined:p}=r.getUserBounds();if(u){if(n=Math.min(kt(l,h,d).lo,e?s:kt(t,h,r.getPixelForValue(d)).lo),c){const g=l.slice(0,n+1).reverse().findIndex(m=>!A(m[a.axis]));n-=Math.max(0,g)}n=Y(n,0,s-1)}if(p){let g=Math.max(kt(l,r.axis,f,!0).hi+1,e?0:kt(t,h,r.getPixelForValue(f),!0).hi+1);if(c){const m=l.slice(g-1).findIndex(b=>!A(b[a.axis]));g+=Math.max(0,m)}o=Y(g,n,s)-n}else o=s-n}return{start:n,count:o}}function Bo(i){const{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}const he=i=>i===0||i===1,Ai=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*Z/e)),Li=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*Z/e)+1,Kt={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*G)+1,easeOutSine:i=>Math.sin(i*G),easeInOutSine:i=>-.5*(Math.cos(E*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>he(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>he(i)?i:Ai(i,.075,.3),easeOutElastic:i=>he(i)?i:Li(i,.075,.3),easeInOutElastic(i){return he(i)?i:i<.5?.5*Ai(i*2,.1125,.45):.5+.5*Li(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-Kt.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?Kt.easeInBounce(i*2)*.5:Kt.easeOutBounce(i*2-1)*.5+.5};function di(i){if(i&&typeof i=="object"){const t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ii(i){return di(i)?i:new Gt(i)}function ze(i){return di(i)?i:new Gt(i).saturate(.5).darken(.1).hexString()}const Ho=["x","y","borderWidth","radius","tension"],Vo=["color","borderColor","backgroundColor"];function Wo(i){i.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),i.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),i.set("animations",{colors:{type:"color",properties:Vo},numbers:{type:"number",properties:Ho}}),i.describe("animations",{_fallback:"animation"}),i.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function No(i){i.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fi=new Map;function jo(i,t){t=t||{};const e=i+JSON.stringify(t);let s=Fi.get(e);return s||(s=new Intl.NumberFormat(i,t),Fi.set(e,s)),s}function Js(i,t,e){return jo(t,e).format(i)}const $o={values(i){return z(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";const s=this.chart.options.locale;let n,o=i;if(e.length>1){const c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=Yo(i,e)}const r=Xs(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Js(i,s,l)}};function Yo(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var tn={formatters:$o};function Uo(i){i.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:tn.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),i.route("scale.ticks","color","","color"),i.route("scale.grid","color","","borderColor"),i.route("scale.border","color","","borderColor"),i.route("scale.title","color","","color"),i.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),i.describe("scales",{_fallback:"scale"}),i.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const wt=Object.create(null),Je=Object.create(null);function qt(i,t){if(!t)return i;const e=t.split(".");for(let s=0,n=e.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,n)=>ze(n.backgroundColor),this.hoverBorderColor=(s,n)=>ze(n.borderColor),this.hoverColor=(s,n)=>ze(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Ee(this,t,e)}get(t){return qt(this,t)}describe(t,e){return Ee(Je,t,e)}override(t,e){return Ee(wt,t,e)}route(t,e,s,n){const o=qt(this,t),r=qt(this,s),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const l=this[a],c=r[n];return O(l)?Object.assign({},c,l):P(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(e=>e(this))}}var R=new Xo({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Wo,No,Uo]);function Ko(i){return!i||A(i.size)||A(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function Ri(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function bt(i,t,e){const s=i.currentDevicePixelRatio,n=e!==0?Math.max(e/2,.5):0;return Math.round((t-n)*s)/s+n}function zi(i,t){!t&&!i||(t=t||i.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,i.width,i.height),t.restore())}function ti(i,t,e,s){en(i,t,e,s,null)}function en(i,t,e,s,n){let o,r,a,l,c,h,d,f;const u=t.pointStyle,p=t.rotation,g=t.radius;let m=(p||0)*So;if(u&&typeof u=="object"&&(o=u.toString(),o==="[object HTMLImageElement]"||o==="[object HTMLCanvasElement]")){i.save(),i.translate(e,s),i.rotate(m),i.drawImage(u,-u.width/2,-u.height/2,u.width,u.height),i.restore();return}if(!(isNaN(g)||g<=0)){switch(i.beginPath(),u){default:n?i.ellipse(e,s,n/2,g,0,0,Z):i.arc(e,s,g,0,Z),i.closePath();break;case"triangle":h=n?n/2:g,i.moveTo(e+Math.sin(m)*h,s-Math.cos(m)*g),m+=Di,i.lineTo(e+Math.sin(m)*h,s-Math.cos(m)*g),m+=Di,i.lineTo(e+Math.sin(m)*h,s-Math.cos(m)*g),i.closePath();break;case"rectRounded":c=g*.516,l=g-c,r=Math.cos(m+mt)*l,d=Math.cos(m+mt)*(n?n/2-c:l),a=Math.sin(m+mt)*l,f=Math.sin(m+mt)*(n?n/2-c:l),i.arc(e-d,s-a,c,m-E,m-G),i.arc(e+f,s-r,c,m-G,m),i.arc(e+d,s+a,c,m,m+G),i.arc(e-f,s+r,c,m+G,m+E),i.closePath();break;case"rect":if(!p){l=Math.SQRT1_2*g,h=n?n/2:l,i.rect(e-h,s-l,2*h,2*l);break}m+=mt;case"rectRot":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+f,s-r),i.lineTo(e+d,s+a),i.lineTo(e-f,s+r),i.closePath();break;case"crossRot":m+=mt;case"cross":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r);break;case"star":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r),m+=mt,d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r);break;case"line":r=n?n/2:Math.cos(m)*g,a=Math.sin(m)*g,i.moveTo(e-r,s-a),i.lineTo(e+r,s+a);break;case"dash":i.moveTo(e,s),i.lineTo(e+Math.cos(m)*(n?n/2:g),s+Math.sin(m)*g);break;case!1:i.closePath();break}i.fill(),t.borderWidth>0&&i.stroke()}}function te(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="";let l,c;for(i.save(),i.font=n.string,Zo(i,o),l=0;l+i||0;function sn(i,t){const e={},s=O(t),n=s?Object.keys(t):t,o=O(i)?s?r=>P(i[r],i[t[r]]):r=>i[r]:()=>i;for(const r of n)e[r]=sr(o(r));return e}function nn(i){return sn(i,{top:"y",right:"x",bottom:"y",left:"x"})}function Tt(i){return sn(i,["topLeft","topRight","bottomLeft","bottomRight"])}function q(i){const t=nn(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function V(i,t){i=i||{},t=t||R.font;let e=P(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=P(i.style,t.style);s&&!(""+s).match(er)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:P(i.family,t.family),lineHeight:ir(P(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:P(i.weight,t.weight),string:""};return n.string=Ko(n),n}function de(i,t,e,s){let n,o,r;for(n=0,o=i.length;ne&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(n,o)}}function Mt(i,t){return Object.assign(Object.create(i),t)}function fi(i,t=[""],e,s,n=()=>i[0]){const o=e||i;typeof s>"u"&&(s=ln("_fallback",i));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:o,_fallback:s,_getTarget:n,override:a=>fi([a,...i],t,o,s)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete i[0][l],!0},get(a,l){return rn(a,l,()=>fr(l,t,i,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(a,l){return Bi(a).includes(l)},ownKeys(a){return Bi(a)},set(a,l,c){const h=a._storage||(a._storage=n());return a[l]=h[l]=c,delete a._keys,!0}})}function It(i,t,e,s){const n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:on(i,s),setContext:o=>It(i,o,e,s),override:o=>It(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,r){return delete o[r],delete i[r],!0},get(o,r,a){return rn(o,r,()=>rr(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(i,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,r)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,r){return Reflect.has(i,r)},ownKeys(){return Reflect.ownKeys(i)},set(o,r,a){return i[r]=a,delete o[r],!0}})}function on(i,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:ft(e)?e:()=>e,isIndexable:ft(s)?s:()=>s}}const or=(i,t)=>i?i+li(t):t,ui=(i,t)=>O(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function rn(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t)||t==="constructor")return i[t];const s=e();return i[t]=s,s}function rr(i,t,e){const{_proxy:s,_context:n,_subProxy:o,_descriptors:r}=i;let a=s[t];return ft(a)&&r.isScriptable(t)&&(a=ar(t,a,i,e)),z(a)&&a.length&&(a=lr(t,a,i,r.isIndexable)),ui(t,a)&&(a=It(a,n,o&&o[t],r)),a}function ar(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_stack:a}=e;if(a.has(i))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+i);a.add(i);let l=t(o,r||s);return a.delete(i),ui(i,l)&&(l=gi(n._scopes,n,i,l)),l}function lr(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=e;if(typeof o.index<"u"&&s(i))return t[o.index%t.length];if(O(t[0])){const l=t,c=n._scopes.filter(h=>h!==l);t=[];for(const h of l){const d=gi(c,n,i,h);t.push(It(d,o,r&&r[i],a))}}return t}function an(i,t,e){return ft(i)?i(t,e):i}const cr=(i,t)=>i===!0?t:typeof i=="string"?Lt(t,i):void 0;function hr(i,t,e,s,n){for(const o of t){const r=cr(e,o);if(r){i.add(r);const a=an(r._fallback,e,n);if(typeof a<"u"&&a!==e&&a!==s)return a}else if(r===!1&&typeof s<"u"&&e!==s)return null}return!1}function gi(i,t,e,s){const n=t._rootScopes,o=an(t._fallback,e,s),r=[...i,...n],a=new Set;a.add(s);let l=Ei(a,r,e,o||e,s);return l===null||typeof o<"u"&&o!==e&&(l=Ei(a,r,o,l,s),l===null)?!1:fi(Array.from(a),[""],n,o,()=>dr(t,e,s))}function Ei(i,t,e,s,n){for(;e;)e=hr(i,t,e,s,n);return e}function dr(i,t,e){const s=i._getTarget();t in s||(s[t]={});const n=s[t];return z(n)&&O(e)?e:n||{}}function fr(i,t,e,s){let n;for(const o of t)if(n=ln(or(o,i),e),typeof n<"u")return ui(i,n)?gi(e,s,i,n):n}function ln(i,t){for(const e of t){if(!e)continue;const s=e[i];if(typeof s<"u")return s}}function Bi(i){let t=i._keys;return t||(t=i._keys=ur(i._scopes)),t}function ur(i){const t=new Set;for(const e of i)for(const s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}const gr=Number.EPSILON||1e-14,Ft=(i,t)=>ti==="x"?"y":"x";function pr(i,t,e,s){const n=i.skip?t:i,o=t,r=e.skip?t:e,a=Qe(o,n),l=Qe(r,o);let c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const d=s*c,f=s*h;return{previous:{x:o.x-d*(r.x-n.x),y:o.y-d*(r.y-n.y)},next:{x:o.x+f*(r.x-n.x),y:o.y+f*(r.y-n.y)}}}function mr(i,t,e){const s=i.length;let n,o,r,a,l,c=Ft(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")xr(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,r=i.length;oi.ownerDocument.defaultView.getComputedStyle(i,null);function vr(i,t){return Ae(i).getPropertyValue(t)}const kr=["top","right","bottom","left"];function St(i,t,e){const s={};e=e?"-"+e:"";for(let n=0;n<4;n++){const o=kr[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const Sr=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function wr(i,t){const e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s;let r=!1,a,l;if(Sr(n,o,i.target))a=n,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function _t(i,t){if("native"in i)return i;const{canvas:e,currentDevicePixelRatio:s}=t,n=Ae(e),o=n.boxSizing==="border-box",r=St(n,"padding"),a=St(n,"border","width"),{x:l,y:c,box:h}=wr(i,e),d=r.left+(h&&a.left),f=r.top+(h&&a.top);let{width:u,height:p}=t;return o&&(u-=r.width+a.width,p-=r.height+a.height),{x:Math.round((l-d)/u*e.width/s),y:Math.round((c-f)/p*e.height/s)}}function Mr(i,t,e){let s,n;if(t===void 0||e===void 0){const o=i&&mi(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{const r=o.getBoundingClientRect(),a=Ae(o),l=St(a,"border","width"),c=St(a,"padding");t=r.width-c.width-l.width,e=r.height-c.height-l.height,s=De(a.maxWidth,o,"clientWidth"),n=De(a.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Me,maxHeight:n||Me}}const ue=i=>Math.round(i*10)/10;function Pr(i,t,e,s){const n=Ae(i),o=St(n,"margin"),r=De(n.maxWidth,i,"clientWidth")||Me,a=De(n.maxHeight,i,"clientHeight")||Me,l=Mr(i,t,e);let{width:c,height:h}=l;if(n.boxSizing==="content-box"){const f=St(n,"border","width"),u=St(n,"padding");c-=u.width+f.width,h-=u.height+f.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?c/s:h-o.height),c=ue(Math.min(c,r,l.maxWidth)),h=ue(Math.min(h,a,l.maxHeight)),c&&!h&&(h=ue(c/2)),(t!==void 0||e!==void 0)&&s&&l.height&&h>l.height&&(h=l.height,c=ue(Math.floor(h*s))),{width:c,height:h}}function Hi(i,t,e){const s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=Math.floor(i.height),i.width=Math.floor(i.width);const r=i.canvas;return r.style&&(e||!r.style.height&&!r.style.width)&&(r.style.height=`${i.height}px`,r.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||r.height!==n||r.width!==o?(i.currentDevicePixelRatio=s,r.height=n,r.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}const Dr=(function(){let i=!1;try{const t={get passive(){return i=!0,!1}};pi()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return i})();function Vi(i,t){const e=vr(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function yt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function Or(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function Cr(i,t,e,s){const n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},r=yt(i,n,e),a=yt(n,o,e),l=yt(o,t,e),c=yt(r,a,e),h=yt(a,l,e);return yt(c,h,e)}const Tr=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},Ar=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function At(i,t,e){return i?Tr(t,e):Ar()}function hn(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function dn(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function fn(i){return i==="angle"?{between:Ks,compare:To,normalize:it}:{between:ct,compare:(t,e)=>t-e,normalize:t=>t}}function Wi({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function Lr(i,t,e){const{property:s,start:n,end:o}=e,{between:r,normalize:a}=fn(s),l=t.length;let{start:c,end:h,loop:d}=i,f,u;if(d){for(c+=l,h+=l,f=0,u=l;fl(n,y,b)&&a(n,y)!==0,_=()=>a(o,b)===0||l(o,y,b),w=()=>g||v(),S=()=>!g||_();for(let k=h,M=h;k<=d;++k)x=t[k%r],!x.skip&&(b=c(x[s]),b!==y&&(g=l(b,n,o),m===null&&w()&&(m=a(b,n)===0?k:M),m!==null&&S()&&(p.push(Wi({start:m,end:k,loop:f,count:r,style:u})),m=null),M=k,y=b));return m!==null&&p.push(Wi({start:m,end:d,loop:f,count:r,style:u})),p}function gn(i,t){const e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function Fr(i,t,e,s){const n=i.length,o=[];let r=t,a=i[t],l;for(l=t+1;l<=e;++l){const c=i[l%n];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%n,end:r%n,loop:s}),o}function Rr(i,t){const e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];const o=!!i._loop,{start:r,end:a}=Ir(e,n,o,s);if(s===!0)return Ni(i,[{start:r,end:a,loop:o}],e,t);const l=aa({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(s-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=Zs.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const s=e.items;let n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ot=new Hr;const $i="transparent",Vr={boolean(i,t,e){return e>.5?t:i},color(i,t,e){const s=Ii(i||$i),n=s.valid&&Ii(t||$i);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}};class Wr{constructor(t,e,s,n){const o=e[s];n=de([t.to,n,o,t.from]);const r=de([t.from,o,n]);this._active=!0,this._fn=t.fn||Vr[t.type||typeof r],this._easing=Kt[t.easing]||Kt.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=s,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);const n=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=de([t.to,e,n,t.from]),this._from=de([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,s=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){const e=t?"res":"rej",s=this._promises||[];for(let n=0;n{const o=t[n];if(!O(o))return;const r={};for(const a of e)r[a]=o[a];(z(o.properties)&&o.properties||[n]).forEach(a=>{(a===n||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,e){const s=e.options,n=jr(t,s);if(!n)return[];const o=this._createAnimations(n,s);return s.$shared&&Nr(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){const s=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let d=o[c];const f=s.get(c);if(d)if(f&&d.active()){d.update(f,h,a);continue}else d.cancel();if(!f||!f.duration){t[c]=h;continue}o[c]=d=new Wr(f,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const s=this._createAnimations(t,e);if(s.length)return ot.add(this._chart,s),!0}}function Nr(i,t){const e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function Ki(i,t){const{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,h=Xr(o,r,s),d=t.length;let f;for(let u=0;ue[s].axis===t).shift()}function Gr(i,t){return Mt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zr(i,t,e){return Mt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Bt(i,t){const e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(const n of t){const o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e],o[s]._visualValues!==void 0&&o[s]._visualValues[e]!==void 0&&delete o[s]._visualValues[e]}}}const Ve=i=>i==="reset"||i==="none",qi=(i,t)=>t?i:Object.assign({},i),Qr=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:bn(e,!0),values:null};class bi{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Be(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Bt(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(d,f,u,p)=>d==="x"?f:d==="r"?p:u,o=e.xAxisID=P(s.xAxisID,He(t,"x")),r=e.yAxisID=P(s.yAxisID,He(t,"y")),a=e.rAxisID=P(s.rAxisID,He(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,r,a),h=e.vAxisID=n(l,r,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Ti(this._data,this),t._stacked&&Bt(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(O(e)){const n=this._cachedMeta;this._data=Ur(e,n)}else if(s!==e){if(s){Ti(s,this);const n=this._cachedMeta;Bt(n),n._parsed=[]}e&&Object.isExtensible(e)&&Fo(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,s=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=Be(e.vScale,e),e.stack!==s.stack&&(n=!0,Bt(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&(Ki(this,e._parsed),e._stacked=Be(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,d,f;if(this._parsing===!1)s._parsed=n,s._sorted=!0,f=n;else{z(n[t])?f=this.parseArrayData(s,n,t,e):O(n[t])?f=this.parseObjectData(s,n,t,e):f=this.parsePrimitiveData(s,n,t,e);const u=()=>d[a]===null||c&&d[a]g||d=0;--f)if(!p()){this.updateRangeFromParsed(c,t,u,l);break}}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,s=[];let n,o,r;for(n=0,o=e.length;n=0&&tthis.getContext(s,n,e),g=c.resolveNamedOptions(f,u,p,d);return g.$shared&&(g.$shared=l,o[r]=Object.freeze(qi(g,l))),g}_resolveAnimations(t,e,s){const n=this.chart,o=this._cachedDataOpts,r=`animation-${e}`,a=o[r];if(a)return a;let l;if(n.options.animation!==!1){const h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),f=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(f,this.getContext(t,s,e))}const c=new mn(n,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ve(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const s=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(s),r=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,s),{sharedOptions:o,includeOptions:r}}updateElement(t,e,s,n){Ve(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!Ve(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;const o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,s=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const n=s.length,o=e.length,r=Math.min(o,n);r&&this.parse(0,r),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,a=c.length-1;a>=r;a--)c[a]=c[a-e]};for(l(o),a=t;an-o))}return i._cache.$bar}function ta(i){const t=i.iScale,e=Jr(t,i.type);let s=t._length,n,o,r,a;const l=()=>{r===32767||r===-32768||(Qt(a)&&(s=Math.min(s,Math.abs(r-a)||s)),a=r)};for(n=0,o=e.length;n0?n[i-1]:null,a=iMath.abs(a)&&(l=a,c=r),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:r,max:a}}function xn(i,t,e,s){return z(i)?sa(i,t,e,s):t[e.axis]=e.parse(i,s),t}function Gi(i,t,e,s){const n=i.iScale,o=i.vScale,r=n.getLabels(),a=n===o,l=[];let c,h,d,f;for(c=e,h=e+s;c=e?1:-1)}function oa(i){let t,e,s,n,o;return i.horizontal?(t=i.base>i.x,e="left",s="right"):(t=i.baseh.controller.options.grouped),o=s.options.stacked,r=[],a=this._cachedMeta.controller.getParsed(e),l=a&&a[s.axis],c=h=>{const d=h._parsed.find(u=>u[s.axis]===l),f=d&&d[h.vScale.axis];if(A(f)||isNaN(f))return!0};for(const h of n)if(!(e!==void 0&&c(h))&&((o===!1||r.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&r.push(h.stack),h.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(s=>t[s].axis===e).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const s of this.chart.data.datasets)t[P(this.chart.options.indexAxis==="x"?s.xAxisID:s.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,s){const n=this._getStacks(t,s),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){const t=this.options,e=this._cachedMeta,s=e.iScale,n=[];let o,r;for(o=0,r=e.data.length;o0&&this.getParsed(e-1);for(let _=0;_=x){S.skip=!0;continue}const k=this.getParsed(_),M=A(k[u]),C=S[f]=r.getPixelForValue(k[f],_),D=S[u]=o||M?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,k,l):k[u],_);S.skip=isNaN(C)||isNaN(D)||M,S.stop=_>0&&Math.abs(k[f]-v[f])>m,g&&(S.parsed=k,S.raw=c.data[_]),d&&(S.options=h||this.resolveDataElementOptions(_,w.active?"active":n)),b||this.updateElement(w,_,S,n),v=k}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}function xt(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class xi{static override(t){Object.assign(xi.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return xt()}parse(){return xt()}format(){return xt()}add(){return xt()}diff(){return xt()}startOf(){return xt()}endOf(){return xt()}}var da={_date:xi};function fa(i,t,e,s){const{controller:n,data:o,_sorted:r}=i,a=n._cachedMeta.iScale,l=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const c=a._reversePixels?Lo:kt;if(s){if(n._sharedOptions){const h=o[0],d=typeof h.getRange=="function"&&h.getRange(t);if(d){const f=c(o,t,e-d),u=c(o,t,e+d);return{lo:f.lo,hi:u.hi}}}}else{const h=c(o,t,e);if(l){const{vScale:d}=n._cachedMeta,{_parsed:f}=i,u=f.slice(0,h.lo+1).reverse().findIndex(g=>!A(g[d.axis]));h.lo-=Math.max(0,u);const p=f.slice(h.hi).findIndex(g=>!A(g[d.axis]));h.hi+=Math.max(0,p)}return h}}return{lo:0,hi:o.length-1}}function Le(i,t,e,s,n){const o=i.getSortedVisibleDatasetMetas(),r=e[t];for(let a=0,l=o.length;a{l[r]&&l[r](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,n))}),s&&!a?[]:o}var ma={modes:{index(i,t,e,s){const n=_t(t,i),o=e.axis||"x",r=e.includeInvisible||!1,a=e.intersect?Ne(i,n,o,s,r):je(i,n,o,!1,s,r),l=[];return a.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{const h=a[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){const n=_t(t,i),o=e.axis||"xy",r=e.includeInvisible||!1;let a=e.intersect?Ne(i,n,o,s,r):je(i,n,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,c=i.getDatasetMeta(l).data;a=[];for(let h=0;he.pos===t)}function ts(i,t){return i.filter(e=>_n.indexOf(e.pos)===-1&&e.box.axis===t)}function Vt(i,t){return i.sort((e,s)=>{const n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function ba(i){const t=[];let e,s,n,o,r,a;for(e=0,s=(i||[]).length;ec.box.fullSize),!0),s=Vt(Ht(t,"left"),!0),n=Vt(Ht(t,"right")),o=Vt(Ht(t,"top"),!0),r=Vt(Ht(t,"bottom")),a=ts(t,"x"),l=ts(t,"y");return{fullSize:e,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(r).concat(a),chartArea:Ht(t,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(r).concat(a)}}function es(i,t,e,s){return Math.max(i[e],t[e])+Math.max(i[s],t[s])}function yn(i,t){i.top=Math.max(i.top,t.top),i.left=Math.max(i.left,t.left),i.bottom=Math.max(i.bottom,t.bottom),i.right=Math.max(i.right,t.right)}function va(i,t,e,s){const{pos:n,box:o}=e,r=i.maxPadding;if(!O(n)){e.size&&(i[n]-=e.size);const d=s[e.stack]||{size:0,count:1};d.size=Math.max(d.size,e.horizontal?o.height:o.width),e.size=d.size/d.count,i[n]+=e.size}o.getPadding&&yn(r,o.getPadding());const a=Math.max(0,t.outerWidth-es(r,i,"left","right")),l=Math.max(0,t.outerHeight-es(r,i,"top","bottom")),c=a!==i.w,h=l!==i.h;return i.w=a,i.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function ka(i){const t=i.maxPadding;function e(s){const n=Math.max(t[s]-i[s],0);return i[s]+=n,n}i.y+=e("top"),i.x+=e("left"),e("right"),e("bottom")}function Sa(i,t){const e=t.maxPadding;function s(n){const o={left:0,top:0,right:0,bottom:0};return n.forEach(r=>{o[r]=Math.max(t[r],e[r])}),o}return s(i?["left","right"]:["top","bottom"])}function $t(i,t,e,s){const n=[];let o,r,a,l,c,h;for(o=0,r=i.length,c=0;o{typeof g.beforeLayout=="function"&&g.beforeLayout()});const h=l.reduce((g,m)=>m.box.options&&m.box.options.display===!1?g:g+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),f=Object.assign({},n);yn(f,q(s));const u=Object.assign({maxPadding:f,w:o,h:r,x:n.left,y:n.top},n),p=_a(l.concat(c),d);$t(a.fullSize,u,d,p),$t(l,u,d,p),$t(c,u,d,p)&&$t(l,u,d,p),ka(u),is(a.leftAndTop,u,d,p),u.x+=u.w,u.y+=u.h,is(a.rightAndBottom,u,d,p),i.chartArea={left:u.left,top:u.top,right:u.left+u.w,bottom:u.top+u.h,height:u.h,width:u.w},L(a.chartArea,g=>{const m=g.box;Object.assign(m,i.chartArea),m.update(u.w,u.h,{left:0,top:0,right:0,bottom:0})})}};class vn{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}}class wa extends vn{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ve="$chartjs",Ma={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ss=i=>i===null||i==="";function Pa(i,t){const e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[ve]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",ss(n)){const o=Vi(i,"width");o!==void 0&&(i.width=o)}if(ss(s))if(i.style.height==="")i.height=i.width/(t||2);else{const o=Vi(i,"height");o!==void 0&&(i.height=o)}return i}const kn=Dr?{passive:!0}:!1;function Da(i,t,e){i&&i.addEventListener(t,e,kn)}function Oa(i,t,e){i&&i.canvas&&i.canvas.removeEventListener(t,e,kn)}function Ca(i,t){const e=Ma[i.type]||i.type,{x:s,y:n}=_t(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function Oe(i,t){for(const e of i)if(e===t||e.contains(t))return!0}function Ta(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oe(a.addedNodes,s),r=r&&!Oe(a.removedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function Aa(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oe(a.removedNodes,s),r=r&&!Oe(a.addedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}const ie=new Map;let ns=0;function Sn(){const i=window.devicePixelRatio;i!==ns&&(ns=i,ie.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function La(i,t){ie.size||window.addEventListener("resize",Sn),ie.set(i,t)}function Ia(i){ie.delete(i),ie.size||window.removeEventListener("resize",Sn)}function Fa(i,t,e){const s=i.canvas,n=s&&mi(s);if(!n)return;const o=Qs((a,l)=>{const c=n.clientWidth;e(a,l),c{const l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(n),La(i,o),r}function $e(i,t,e){e&&e.disconnect(),t==="resize"&&Ia(i)}function Ra(i,t,e){const s=i.canvas,n=Qs(o=>{i.ctx!==null&&e(Ca(o,i))},i);return Da(s,t,n),n}class za extends vn{acquireContext(t,e){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(Pa(t,e),s):null}releaseContext(t){const e=t.canvas;if(!e[ve])return!1;const s=e[ve].initial;["height","width"].forEach(o=>{const r=s[o];A(r)?e.removeAttribute(o):e.setAttribute(o,r)});const n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[ve],!0}addEventListener(t,e,s){this.removeEventListener(t,e);const n=t.$proxies||(t.$proxies={}),r={attach:Ta,detach:Aa,resize:Fa}[e]||Ra;n[e]=r(t,e,s)}removeEventListener(t,e){const s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:$e,detach:$e,resize:$e}[e]||Oa)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return Pr(t,e,s,n)}isAttached(t){const e=t&&mi(t);return!!(e&&e.isConnected)}}function Ea(i){return!pi()||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas?wa:za}class ut{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:s}=this.getProps(["x","y"],t);return{x:e,y:s}}hasValue(){return Jt(this.x)&&Jt(this.y)}getProps(t,e){const s=this.$animations;if(!e||!s)return this;const n={};return t.forEach(o=>{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}}function Ba(i,t){const e=i.options.ticks,s=Ha(i),n=Math.min(e.maxTicksLimit||s,s),o=e.major.enabled?Wa(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>n)return Na(t,c,o,r/n),c;const h=Va(o,t,n);if(r>0){let d,f;const u=r>1?Math.round((l-a)/(r-1)):null;for(me(t,c,h,A(u)?0:a-u,a),d=0,f=r-1;dn)return l}return Math.max(n,1)}function Wa(i){const t=[];let e,s;for(e=0,s=i.length;ei==="left"?"right":i==="right"?"left":i,os=(i,t,e)=>t==="top"||t==="left"?i[t]+e:i[t]-e,rs=(i,t)=>Math.min(t||i,i);function as(i,t){const e=[],s=i.length/t,n=i.length;let o=0;for(;or+a)))return l}function Ua(i,t){L(i,e=>{const s=e.gc,n=s.length/2;let o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:J(e,J(s,e)),max:J(s,J(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){I(this.options.beforeUpdate,[this])}update(t,e,s){const{beginAtZero:n,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=nr(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}const h=this._getLabelSizes(),d=h.widest.width,f=h.highest.height,u=Y(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/s:u/(s-1),d+6>a&&(a=u/(s-(t.offset?.5:1)),l=this.maxHeight-Wt(t.grid)-e.padding-ls(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),r=Oo(Math.min(Math.asin(Y((h.highest.height+6)/a,-1,1)),Math.asin(Y(l/c,-1,1))-Math.asin(Y(f/c,-1,1)))),r=Math.max(n,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){I(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){I(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=ls(n,e.options.font);if(a?(t.width=this.maxWidth,t.height=Wt(o)+l):(t.height=this.maxHeight,t.width=Wt(o)+l),s.display&&this.ticks.length){const{first:c,last:h,widest:d,highest:f}=this._getLabelSizes(),u=s.padding*2,p=vt(this.labelRotation),g=Math.cos(p),m=Math.sin(p);if(a){const b=s.mirror?0:m*d.width+g*f.height;t.height=Math.min(this.maxHeight,t.height+b+u)}else{const b=s.mirror?0:g*d.width+m*f.height;t.width=Math.min(this.maxWidth,t.width+b+u)}this._calculatePadding(c,h,m,g)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,s,n){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,u=0;l?c?(f=n*t.width,u=s*e.height):(f=s*t.height,u=n*e.width):o==="start"?u=e.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,u=e.width/2),this.paddingLeft=Math.max((f-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((u-d+r)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){I(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({width:r[M]||0,height:a[M]||0});return{first:k(0),last:k(e-1),widest:k(w),highest:k(S),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Ao(this._alignToPixels?bt(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*n?a/s:l/n:l*n0}_computeGridLineItems(t){const e=this.axis,s=this.chart,n=this.options,{grid:o,position:r,border:a}=n,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=Wt(o),u=[],p=a.setContext(this.getContext()),g=p.display?p.width:0,m=g/2,b=function(B){return bt(s,B,g)};let x,y,v,_,w,S,k,M,C,D,T,N;if(r==="top")x=b(this.bottom),S=this.bottom-f,M=x-m,D=b(t.top)+m,N=t.bottom;else if(r==="bottom")x=b(this.top),D=t.top,N=b(t.bottom)-m,S=x+m,M=this.top+f;else if(r==="left")x=b(this.right),w=this.right-f,k=x-m,C=b(t.left)+m,T=t.right;else if(r==="right")x=b(this.left),C=t.left,T=b(t.right)-m,w=x+m,k=this.left+f;else if(e==="x"){if(r==="center")x=b((t.top+t.bottom)/2+.5);else if(O(r)){const B=Object.keys(r)[0],U=r[B];x=b(this.chart.scales[B].getPixelForValue(U))}D=t.top,N=t.bottom,S=x+m,M=S+f}else if(e==="y"){if(r==="center")x=b((t.left+t.right)/2);else if(O(r)){const B=Object.keys(r)[0],U=r[B];x=b(this.chart.scales[B].getPixelForValue(U))}w=x-m,k=w-f,C=t.left,T=t.right}const Q=P(n.ticks.maxTicksLimit,d),F=Math.max(1,Math.ceil(d/Q));for(y=0;y0&&(pt-=gt/2);break}re={left:pt,top:Et,width:gt+Dt.width,height:zt+Dt.height,color:F.backdropColor}}m.push({label:v,font:M,textOffset:T,options:{rotation:g,color:U,strokeColor:ne,strokeWidth:oe,textAlign:Pt,textBaseline:N,translation:[_,w],backdrop:re}})}return m}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-vt(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:s,mirror:n,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,h;return e==="left"?n?(h=this.right+o,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-a,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h=this.left)):e==="right"?n?(h=this.left+o,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+a,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:s,top:n,width:o,height:r}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(s,n,o,r),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,r=n.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[];let o,r;for(o=0,r=e.length;o{const s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),r=t[e].split("."),a=r.pop(),l=r.join(".");R.route(o,n,l,a)})}function Ja(i){return"id"in i&&"defaults"in i}class tl{constructor(){this.controllers=new be(bi,"datasets",!0),this.elements=new be(ut,"elements"),this.plugins=new be(Object,"plugins"),this.scales=new be(Rt,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,s){[...e].forEach(n=>{const o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):L(n,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,e,s){const n=li(t);I(s["before"+n],[],s),e[t](s),I(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;eo.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}}function il(i){const t={},e=[],s=Object.keys(et.plugins.items);for(let o=0;o1&&cs(i[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${i}' axis. Please provide 'axis' or 'position' option.`)}function hs(i,t,e){if(e[t+"AxisID"]===i)return{axis:t}}function cl(i,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(s=>s.xAxisID===i||s.yAxisID===i);if(e.length)return hs(i,"x",e[0])||hs(i,"y",e[0])}return{}}function hl(i,t){const e=wt[i.type]||{scales:{}},s=t.scales||{},n=ei(i.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!O(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=ii(r,a,cl(r,i),R.scales[a.type]),c=al(l,n),h=e.scales||{};o[r]=Ut(Object.create(null),[{axis:l},a,h[l],h[c]])}),i.data.datasets.forEach(r=>{const a=r.type||i.type,l=r.indexAxis||ei(a,t),h=(wt[a]||{}).scales||{};Object.keys(h).forEach(d=>{const f=rl(d,l),u=r[f+"AxisID"]||f;o[u]=o[u]||Object.create(null),Ut(o[u],[{axis:f},s[u],h[d]])})}),Object.keys(o).forEach(r=>{const a=o[r];Ut(a,[R.scales[a.type],R.scale])}),o}function wn(i){const t=i.options||(i.options={});t.plugins=P(t.plugins,{}),t.scales=hl(i,t)}function Mn(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function dl(i){return i=i||{},i.data=Mn(i.data),wn(i),i}const ds=new Map,Pn=new Set;function xe(i,t){let e=ds.get(i);return e||(e=t(),ds.set(i,e),Pn.add(e)),e}const Nt=(i,t,e)=>{const s=Lt(t,e);s!==void 0&&i.add(s)};class fl{constructor(t){this._config=dl(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Mn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),wn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xe(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return xe(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return xe(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,s=this.type;return xe(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const s=this._scopeCache;let n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){const{options:n,type:o}=this,r=this._cachedScopes(t,s),a=r.get(e);if(a)return a;const l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>Nt(l,t,d))),h.forEach(d=>Nt(l,n,d)),h.forEach(d=>Nt(l,wt[o]||{},d)),h.forEach(d=>Nt(l,R,d)),h.forEach(d=>Nt(l,Je,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Pn.has(e)&&r.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,wt[e]||{},R.datasets[e]||{},{type:e},R,Je]}resolveNamedOptions(t,e,s,n=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=fs(this._resolverCache,t,n);let l=r;if(gl(r,e)){o.$shared=!1,s=ft(s)?s():s;const c=this.createResolver(t,s,a);l=It(r,s,c)}for(const c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){const{resolver:o}=fs(this._resolverCache,t,s);return O(e)?It(o,e,void 0,n):o}}function fs(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));const n=e.join();let o=s.get(n);return o||(o={resolver:fi(t,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},s.set(n,o)),o}const ul=i=>O(i)&&Object.getOwnPropertyNames(i).some(t=>ft(i[t]));function gl(i,t){const{isScriptable:e,isIndexable:s}=on(i);for(const n of t){const o=e(n),r=s(n),a=(r||o)&&i[n];if(o&&(ft(a)||ul(a))||r&&z(a))return!0}return!1}var pl="4.5.0";const ml=["top","bottom","left","right","chartArea"];function us(i,t){return i==="top"||i==="bottom"||ml.indexOf(i)===-1&&t==="x"}function gs(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function ps(i){const t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),I(e&&e.onComplete,[i],t)}function bl(i){const t=i.chart,e=t.options.animation;I(e&&e.onProgress,[i],t)}function Dn(i){return pi()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}const ke={},ms=i=>{const t=Dn(i);return Object.values(ke).filter(e=>e.canvas===t).pop()};function xl(i,t,e){const s=Object.keys(i);for(const n of s){const o=+n;if(o>=t){const r=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=r)}}}function _l(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}let _i=class{static defaults=R;static instances=ke;static overrides=wt;static registry=et;static version=pl;static getChart=ms;static register(...t){et.add(...t),bs()}static unregister(...t){et.remove(...t),bs()}constructor(t,e){const s=this.config=new fl(e),n=Dn(t),o=ms(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ea(n)),this.platform.updateConfig(s);const a=this.platform.acquireContext(n,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=po(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new el,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Ro(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],ke[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}ot.listen(this,"complete",ps),ot.listen(this,"progress",bl),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return A(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return et}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Hi(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return zi(this.canvas,this.ctx),this}stop(){return ot.stop(this),this}resize(t,e){ot.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(n,t,e,o),a=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Hi(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),I(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};L(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){const t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((r,a)=>(r[a]=!1,r),{});let o=[];e&&(o=o.concat(Object.keys(e).map(r=>{const a=e[r],l=ii(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),L(o,r=>{const a=r.options,l=a.id,c=ii(l,a),h=P(a.type,r.dtype);(a.position===void 0||us(a.position,c)!==us(r.dposition))&&(a.position=r.dposition),n[l]=!0;let d=null;if(l in s&&s[l].type===h)d=s[l];else{const f=et.getScale(h);d=new f({id:l,type:h,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(a,t)}),L(n,(r,a)=>{r||delete s[a]}),L(s,r=>{K.configure(this,r,r.options),K.addBox(this,r)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((s,n)=>{e.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let s,n;for(this._removeUnreferencedMetasets(),s=0,n=e.length;s{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(gs("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){L(this.scales,t=>{K.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Pi(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:s,start:n,count:o}of e){const r=s==="_removeElements"?-o:o;xl(t,n,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,s=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;K.update(this,this.width,this.height,t);const e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],L(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,s={meta:t,index:t.index,cancelable:!0},n=pn(this,t);this.notifyPlugins("beforeDatasetDraw",s)!==!1&&(n&&Ce(e,n),t.controller.draw(),n&&Te(e),s.cancelable=!1,this.notifyPlugins("afterDatasetDraw",s))}isPointInArea(t){return te(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,s,n){const o=ma.modes[e];return typeof o=="function"?o(this,t,s,n):[]}getDatasetMeta(t){const e=this.data.datasets[t],s=this._metasets;let n=s.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},s.push(n)),n}getContext(){return this.$context||(this.$context=Mt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!e.hidden}setDatasetVisibility(t,e){const s=this.getDatasetMeta(t);s.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,s){const n=s?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,n);Qt(e)?(o.data[e].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),r.update(o,{visible:s}),this.update(a=>a.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),ot.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,r),t[o]=r},n=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};L(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{n("attach",a),this.attached=!0,this.resize(),s("resize",o),s("detach",r)};r=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",a)},e.isAttached(this.canvas)?a():r()}unbindEvents(){L(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},L(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){const n=s?"set":"remove";let o,r,a,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),a=0,l=t.length;a{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Se(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,s){const n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),r=o(e,t),a=s?t:o(t,e);r.length&&this.updateHoverStyle(r,n.mode,!1),a.length&&n.mode&&this.updateHoverStyle(a,n.mode,!0)}_eventHandler(t,e){const s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;const o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){const{_active:n=[],options:o}=this,r=e,a=this._getActiveElements(t,n,s,r),l=vo(t),c=_l(t,this._lastEvent,s,l);s&&(this._lastEvent=null,I(o.onHover,[t,a,this],this),l&&I(o.onClick,[t,a,this],this));const h=!Se(a,n);return(h||e)&&(this._active=a,this._updateHoverStyles(a,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}};function bs(){return L(_i.instances,i=>i._plugins.invalidate())}function On(i,t,e=t){i.lineCap=P(e.borderCapStyle,t.borderCapStyle),i.setLineDash(P(e.borderDash,t.borderDash)),i.lineDashOffset=P(e.borderDashOffset,t.borderDashOffset),i.lineJoin=P(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=P(e.borderWidth,t.borderWidth),i.strokeStyle=P(e.borderColor,t.borderColor)}function yl(i,t,e){i.lineTo(e.x,e.y)}function vl(i){return i.stepped?qo:i.tension||i.cubicInterpolationMode==="monotone"?Go:yl}function Cn(i,t,e={}){const s=i.length,{start:n=0,end:o=s-1}=e,{start:r,end:a}=t,l=Math.max(n,r),c=Math.min(o,a),h=na&&o>a;return{count:s,start:l,loop:t.loop,ilen:c(r+(c?a-v:v))%o,y=()=>{g!==m&&(i.lineTo(h,m),i.lineTo(h,g),i.lineTo(h,b))};for(l&&(u=n[x(0)],i.moveTo(u.x,u.y)),f=0;f<=a;++f){if(u=n[x(f)],u.skip)continue;const v=u.x,_=u.y,w=v|0;w===p?(_m&&(m=_),h=(d*h+v)/++d):(y(),i.lineTo(v,_),p=w,d=0,g=m=_),b=_}y()}function si(i){const t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?Sl:kl}function wl(i){return i.stepped?Or:i.tension||i.cubicInterpolationMode==="monotone"?Cr:yt}function Ml(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),On(i,t.options),i.stroke(n)}function Pl(i,t,e,s){const{segments:n,options:o}=t,r=si(t);for(const a of n)On(i,o,a.style),i.beginPath(),r(i,t,a,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}const Dl=typeof Path2D=="function";function Ol(i,t,e,s){Dl&&!t.options.segment?Ml(i,t,e,s):Pl(i,t,e,s)}class yi extends ut{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const n=s.spanGaps?this._loop:this._fullLoop;yr(this._points,s,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Rr(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){const s=this.options,n=t[e],o=this.points,r=gn(this,{property:e,start:n,end:n});if(!r.length)return;const a=[],l=wl(s);let c,h;for(c=0,h=r.length;c{a=Ie(r,a,n);const l=n[r],c=n[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function Ie(i,t,e){for(;t>i;t--){const s=e[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function _s(i,t,e,s){return i&&t?s(i[e],t[e]):i?i[e]:t?t[e]:0}function An(i,t){let e=[],s=!1;return z(i)?(s=!0,e=i):e=Rl(i,t),e.length?new yi({points:e,options:{tension:0},_loop:s,_fullLoop:s}):null}function ys(i){return i&&i.fill!==!1}function zl(i,t,e){let n=i[t].fill;const o=[t];let r;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!W(n))return n;if(r=i[n],!r)return!1;if(r.visible)return n;o.push(n),n=r.fill}return!1}function El(i,t,e){const s=Wl(i);if(O(s))return isNaN(s.value)?!1:s;let n=parseFloat(s);return W(n)&&Math.floor(n)===n?Bl(s[0],t,n,e):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function Bl(i,t,e,s){return(i==="-"||i==="+")&&(e=t+e),e===t||e<0||e>=s?!1:e}function Hl(i,t){let e=null;return i==="start"?e=t.bottom:i==="end"?e=t.top:O(i)?e=t.getPixelForValue(i.value):t.getBasePixel&&(e=t.getBasePixel()),e}function Vl(i,t,e){let s;return i==="start"?s=e:i==="end"?s=t.options.reverse?t.min:t.max:O(i)?s=i.value:s=t.getBaseValue(),s}function Wl(i){const t=i.options,e=t.fill;let s=P(e&&e.target,e);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function Nl(i){const{scale:t,index:e,line:s}=i,n=[],o=s.segments,r=s.points,a=jl(t,e);a.push(An({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=n[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),s&&a.fill&&Xe(i.ctx,a,o))}},beforeDatasetsDraw(i,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const s=i.getSortedVisibleDatasetMetas();for(let n=s.length-1;n>=0;--n){const o=s[n].$filler;ys(o)&&Xe(i.ctx,o,i.chartArea)}},beforeDatasetDraw(i,t,e){const s=t.meta.$filler;!ys(s)||e.drawTime!=="beforeDatasetDraw"||Xe(i.ctx,s,i.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const ws=(i,t)=>{let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=i.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},Jl=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index;class Ms extends ut{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=I(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,n=V(s.font),o=n.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=ws(s,o);let c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,n,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+a;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,u=-h;return this.legendItems.forEach((p,g)=>{const m=s+e/2+o.measureText(p.text).width;(g===0||c[c.length-1]+m+2*a>r)&&(d+=h,c[c.length-(g>0?0:1)]=0,u+=h,f++),l[g]={left:0,top:u,row:f,width:m,height:n},c[c.length-1]+=m+a}),d}_fitCols(t,e,s,n){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t;let d=a,f=0,u=0,p=0,g=0;return this.legendItems.forEach((m,b)=>{const{itemWidth:x,itemHeight:y}=tc(s,e,o,m,n);b>0&&u+y+2*a>h&&(d+=f+a,c.push({width:f,height:u}),p+=f+a,g++,f=u=0),l[b]={left:p,top:u,col:g,width:x,height:y},f=Math.max(f,x),u+=y+a}),d+=f,c.push({width:f,height:u}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,r=At(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=H(s,this.left+n,this.right-this.lineWidths[a]);for(const c of e)a!==c.row&&(a=c.row,l=H(s,this.left+n,this.right-this.lineWidths[a])),c.top+=this.top+t+n,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+n}else{let a=0,l=H(s,this.top+t+n,this.bottom-this.columnSizes[a].height);for(const c of e)c.col!==a&&(a=c.col,l=H(s,this.top+t+n,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+n,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Ce(t,this),this._draw(),Te(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:r}=t,a=R.color,l=At(t.rtl,this.left,this.width),c=V(r.font),{padding:h}=r,d=c.size,f=d/2;let u;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;const{boxWidth:p,boxHeight:g,itemHeight:m}=ws(r,d),b=function(w,S,k){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;n.save();const M=P(k.lineWidth,1);if(n.fillStyle=P(k.fillStyle,a),n.lineCap=P(k.lineCap,"butt"),n.lineDashOffset=P(k.lineDashOffset,0),n.lineJoin=P(k.lineJoin,"miter"),n.lineWidth=M,n.strokeStyle=P(k.strokeStyle,a),n.setLineDash(P(k.lineDash,[])),r.usePointStyle){const C={radius:g*Math.SQRT2/2,pointStyle:k.pointStyle,rotation:k.rotation,borderWidth:M},D=l.xPlus(w,p/2),T=S+f;en(n,C,D,T,r.pointStyleWidth&&p)}else{const C=S+Math.max((d-g)/2,0),D=l.leftForLtr(w,p),T=Tt(k.borderRadius);n.beginPath(),Object.values(T).some(N=>N!==0)?Pe(n,{x:D,y:C,w:p,h:g,radius:T}):n.rect(D,C,p,g),n.fill(),M!==0&&n.stroke()}n.restore()},x=function(w,S,k){ee(n,k.text,w,S+m/2,c,{strikethrough:k.hidden,textAlign:l.textAlign(k.textAlign)})},y=this.isHorizontal(),v=this._computeTitleHeight();y?u={x:H(o,this.left+h,this.right-s[0]),y:this.top+h+v,line:0}:u={x:this.left+h,y:H(o,this.top+v+h,this.bottom-e[0].height),line:0},hn(this.ctx,t.textDirection);const _=m+h;this.legendItems.forEach((w,S)=>{n.strokeStyle=w.fontColor,n.fillStyle=w.fontColor;const k=n.measureText(w.text).width,M=l.textAlign(w.textAlign||(w.textAlign=r.textAlign)),C=p+f+k;let D=u.x,T=u.y;l.setWidth(this.width),y?S>0&&D+C+h>this.right&&(T=u.y+=_,u.line++,D=u.x=H(o,this.left+h,this.right-s[u.line])):S>0&&T+_>this.bottom&&(D=u.x=D+e[u.line].width+h,u.line++,T=u.y=H(o,this.top+v+h,this.bottom-e[u.line].height));const N=l.x(D);if(b(N,T,w),D=zo(M,D+p+f,y?D+C:this.right,t.rtl),x(l.x(D),T,w),y)u.x+=C+h;else if(typeof w.text!="string"){const Q=c.lineHeight;u.y+=In(w,Q)+h}else u.y+=_}),dn(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,s=V(e.font),n=q(e.padding);if(!e.display)return;const o=At(t.rtl,this.left,this.width),r=this.ctx,a=e.position,l=s.size/2,c=n.top+l;let h,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),h=this.top+c,d=H(t.align,d,this.right-f);else{const p=this.columnSizes.reduce((g,m)=>Math.max(g,m.height),0);h=c+H(t.align,this.top,this.bottom-p-t.labels.padding-this._computeTitleHeight())}const u=H(a,d,d+f);r.textAlign=o.textAlign(hi(a)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=s.string,ee(r,e.text,u,h,s)}_computeTitleHeight(){const t=this.options.title,e=V(t.font),s=q(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(ct(t,this.left,this.right)&&ct(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>r.length?o:r)),t+e.size/2+s.measureText(n).width}function ic(i,t,e){let s=i;return typeof t.text!="string"&&(s=In(t,e)),s}function In(i,t){const e=i.text?i.text.length:0;return t*e}function sc(i,t){return!!((i==="mousemove"||i==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(i==="click"||i==="mouseup"))}var Lc={id:"legend",_element:Ms,start(i,t,e){const s=i.legend=new Ms({ctx:i.ctx,options:e,chart:i});K.configure(i,s,e),K.addBox(i,s)},stop(i){K.removeBox(i,i.legend),delete i.legend},beforeUpdate(i,t,e){const s=i.legend;K.configure(i,s,e),s.options=e},afterUpdate(i){const t=i.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(i,t){t.replay||i.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(i,t,e){const s=t.datasetIndex,n=e.chart;n.isDatasetVisible(s)?(n.hide(s),t.hidden=!0):(n.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:i=>i.chart.options.color,boxWidth:40,padding:10,generateLabels(i){const t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o,useBorderRadius:r,borderRadius:a}}=i.legend.options;return i._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(e?0:void 0),h=q(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}};class Fn extends ut{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const n=z(s.text)?s.text.length:1;this._padding=q(s.padding);const o=n*V(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:s,bottom:n,right:o,options:r}=this,a=r.align;let l=0,c,h,d;return this.isHorizontal()?(h=H(a,s,o),d=e+t,c=o-s):(r.position==="left"?(h=s+t,d=H(a,n,e),l=E*-.5):(h=o-t,d=H(a,e,n),l=E*.5),c=n-e),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const s=V(e.font),o=s.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);ee(t,e.text,0,0,s,{color:e.color,maxWidth:l,rotation:c,textAlign:hi(e.align),textBaseline:"middle",translation:[r,a]})}}function nc(i,t){const e=new Fn({ctx:i.ctx,options:t,chart:i});K.configure(i,e,t),K.addBox(i,e),i.titleBlock=e}var Ic={id:"title",_element:Fn,start(i,t,e){nc(i,e)},stop(i){const t=i.titleBlock;K.removeBox(i,t),delete i.titleBlock},beforeUpdate(i,t,e){const s=i.titleBlock;K.configure(i,s,e),s.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Yt={average(i){if(!i.length)return!1;let t,e,s=new Set,n=0,o=0;for(t=0,e=i.length;ta+l)/s.size,y:n/o}},nearest(i,t){if(!i.length)return!1;let e=t.x,s=t.y,n=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=i.length;oMath.max(Math.min(i,e),t);function jt(i){return lt(se(i*2.55),0,255)}function dt(i){return lt(se(i*255),0,255)}function at(i){return lt(se(i/2.55)/100,0,1)}function vi(i){return lt(se(i*100),0,100)}const X={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ze=[..."0123456789ABCDEF"],Un=i=>Ze[i&15],Xn=i=>Ze[(i&240)>>4]+Ze[i&15],ae=i=>(i&240)>>4===(i&15),Kn=i=>ae(i.r)&&ae(i.g)&&ae(i.b)&&ae(i.a);function qn(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&X[i[1]]*17,g:255&X[i[2]]*17,b:255&X[i[3]]*17,a:t===5?X[i[4]]*17:255}:(t===7||t===9)&&(e={r:X[i[1]]<<4|X[i[2]],g:X[i[3]]<<4|X[i[4]],b:X[i[5]]<<4|X[i[6]],a:t===9?X[i[7]]<<4|X[i[8]]:255})),e}const Gn=(i,t)=>i<255?t(i):"";function Zn(i){var t=Kn(i)?Un:Xn;return i?"#"+t(i.r)+t(i.g)+t(i.b)+Gn(i.a,t):void 0}const Qn=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function js(i,t,e){const s=t*Math.min(e,1-e),n=(o,r=(o+i/30)%12)=>e-s*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function Jn(i,t,e){const s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function to(i,t,e){const s=js(i,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function eo(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-r):h/(o+r),l=eo(e,s,n,h,o),l=l*60+.5),[l|0,c||0,a]}function ri(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(dt)}function ai(i,t,e){return ri(js,i,t,e)}function io(i,t,e){return ri(to,i,t,e)}function so(i,t,e){return ri(Jn,i,t,e)}function $s(i){return(i%360+360)%360}function no(i){const t=Qn.exec(i);let e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?jt(+t[5]):dt(+t[5]));const n=$s(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=io(n,o,r):t[1]==="hsv"?s=so(n,o,r):s=ai(n,o,r),{r:s[0],g:s[1],b:s[2],a:e}}function oo(i,t){var e=oi(i);e[0]=$s(e[0]+t),e=ai(e),i.r=e[0],i.g=e[1],i.b=e[2]}function ro(i){if(!i)return;const t=oi(i),e=t[0],s=vi(t[1]),n=vi(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${at(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}const ki={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Si={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function ao(){const i={},t=Object.keys(Si),e=Object.keys(ki);let s,n,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return i}let le;function lo(i){le||(le=ao(),le.transparent=[0,0,0,0]);const t=le[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const co=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function ho(i){const t=co.exec(i);let e=255,s,n,o;if(t){if(t[7]!==s){const r=+t[7];e=t[8]?jt(r):lt(r*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?jt(s):lt(s,0,255)),n=255&(t[4]?jt(n):lt(n,0,255)),o=255&(t[6]?jt(o):lt(o,0,255)),{r:s,g:n,b:o,a:e}}}function fo(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${at(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}const Re=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,Ot=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function uo(i,t,e){const s=Ot(at(i.r)),n=Ot(at(i.g)),o=Ot(at(i.b));return{r:dt(Re(s+e*(Ot(at(t.r))-s))),g:dt(Re(n+e*(Ot(at(t.g))-n))),b:dt(Re(o+e*(Ot(at(t.b))-o))),a:i.a+e*(t.a-i.a)}}function ce(i,t,e){if(i){let s=oi(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=ai(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function Ys(i,t){return i&&Object.assign(t||{},i)}function wi(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=dt(i[3]))):(t=Ys(i,{r:0,g:0,b:0,a:1}),t.a=dt(t.a)),t}function go(i){return i.charAt(0)==="r"?ho(i):no(i)}class Gt{constructor(t){if(t instanceof Gt)return t;const e=typeof t;let s;e==="object"?s=wi(t):e==="string"&&(s=qn(t)||lo(t)||go(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=Ys(this._rgb);return t&&(t.a=at(t.a)),t}set rgb(t){this._rgb=wi(t)}rgbString(){return this._valid?fo(this._rgb):void 0}hexString(){return this._valid?Zn(this._rgb):void 0}hslString(){return this._valid?ro(this._rgb):void 0}mix(t,e){if(t){const s=this.rgb,n=t.rgb;let o;const r=e===o?.5:e,a=2*r-1,l=s.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=r*s.a+(1-r)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=uo(this._rgb,t._rgb,e)),this}clone(){return new Gt(this.rgb)}alpha(t){return this._rgb.a=dt(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=se(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return ce(this._rgb,2,t),this}darken(t){return ce(this._rgb,2,-t),this}saturate(t){return ce(this._rgb,1,t),this}desaturate(t){return ce(this._rgb,1,-t),this}rotate(t){return oo(this._rgb,t),this}}function nt(){}const po=(()=>{let i=0;return()=>i++})();function A(i){return i==null}function z(i){if(Array.isArray&&Array.isArray(i))return!0;const t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function O(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}function W(i){return(typeof i=="number"||i instanceof Number)&&isFinite(+i)}function J(i,t){return W(i)?i:t}function P(i,t){return typeof i>"u"?t:i}const mo=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function I(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function L(i,t,e,s){let n,o,r;if(z(i))for(o=i.length,n=0;ni,x:i=>i.x,y:i=>i.y};function _o(i){const t=i.split("."),e=[];let s="";for(const n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function yo(i){const t=_o(i);return e=>{for(const s of t){if(s==="")break;e=e&&e[s]}return e}}function Lt(i,t){return(Mi[t]||(Mi[t]=yo(t)))(i)}function li(i){return i.charAt(0).toUpperCase()+i.slice(1)}const Qt=i=>typeof i<"u",ft=i=>typeof i=="function",Pi=(i,t)=>{if(i.size!==t.size)return!1;for(const e of i)if(!t.has(e))return!1;return!0};function vo(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}const E=Math.PI,Z=2*E,ko=Z+E,Me=Number.POSITIVE_INFINITY,So=E/180,G=E/2,mt=E/4,Di=E*2/3,Xs=Math.log10,st=Math.sign;function Xt(i,t,e){return Math.abs(i-t)n-o).pop(),t}function Mo(i){return typeof i=="symbol"||typeof i=="object"&&i!==null&&!(Symbol.toPrimitive in i||"toString"in i||"valueOf"in i)}function Jt(i){return!Mo(i)&&!isNaN(parseFloat(i))&&isFinite(i)}function Po(i,t){const e=Math.round(i);return e-t<=i&&e+t>=i}function Do(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function ci(i,t,e){e=e||(r=>i[r]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}const kt=(i,t,e,s)=>ci(i,e,s?n=>{const o=i[n][t];return oi[n][t]ci(i,e,s=>i[s][t]>=e);function Io(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{const s="_onData"+li(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){const r=n.apply(this,o);return i._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function Ti(i,t){const e=i._chartjs;if(!e)return;const s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(qs.forEach(o=>{delete i[o]}),delete i._chartjs)}function Gs(i){const t=new Set(i);return t.size===i.length?i:Array.from(t)}const Zs=(function(){return typeof window>"u"?function(i){return i()}:window.requestAnimationFrame})();function Qs(i,t){let e=[],s=!1;return function(...n){e=n,s||(s=!0,Zs.call(window,()=>{s=!1,i.apply(t,e)}))}}function Ro(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}const hi=i=>i==="start"?"left":i==="end"?"right":"center",H=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,zo=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function Eo(i,t,e){const s=t.length;let n=0,o=s;if(i._sorted){const{iScale:r,vScale:a,_parsed:l}=i,c=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null,h=r.axis,{min:d,max:f,minDefined:u,maxDefined:p}=r.getUserBounds();if(u){if(n=Math.min(kt(l,h,d).lo,e?s:kt(t,h,r.getPixelForValue(d)).lo),c){const g=l.slice(0,n+1).reverse().findIndex(m=>!A(m[a.axis]));n-=Math.max(0,g)}n=Y(n,0,s-1)}if(p){let g=Math.max(kt(l,r.axis,f,!0).hi+1,e?0:kt(t,h,r.getPixelForValue(f),!0).hi+1);if(c){const m=l.slice(g-1).findIndex(b=>!A(b[a.axis]));g+=Math.max(0,m)}o=Y(g,n,s)-n}else o=s-n}return{start:n,count:o}}function Bo(i){const{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}const he=i=>i===0||i===1,Ai=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*Z/e)),Li=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*Z/e)+1,Kt={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*G)+1,easeOutSine:i=>Math.sin(i*G),easeInOutSine:i=>-.5*(Math.cos(E*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>he(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>he(i)?i:Ai(i,.075,.3),easeOutElastic:i=>he(i)?i:Li(i,.075,.3),easeInOutElastic(i){return he(i)?i:i<.5?.5*Ai(i*2,.1125,.45):.5+.5*Li(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-Kt.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?Kt.easeInBounce(i*2)*.5:Kt.easeOutBounce(i*2-1)*.5+.5};function di(i){if(i&&typeof i=="object"){const t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ii(i){return di(i)?i:new Gt(i)}function ze(i){return di(i)?i:new Gt(i).saturate(.5).darken(.1).hexString()}const Ho=["x","y","borderWidth","radius","tension"],Vo=["color","borderColor","backgroundColor"];function Wo(i){i.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),i.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),i.set("animations",{colors:{type:"color",properties:Vo},numbers:{type:"number",properties:Ho}}),i.describe("animations",{_fallback:"animation"}),i.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function No(i){i.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const Fi=new Map;function jo(i,t){t=t||{};const e=i+JSON.stringify(t);let s=Fi.get(e);return s||(s=new Intl.NumberFormat(i,t),Fi.set(e,s)),s}function Js(i,t,e){return jo(t,e).format(i)}const $o={values(i){return z(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";const s=this.chart.options.locale;let n,o=i;if(e.length>1){const c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=Yo(i,e)}const r=Xs(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Js(i,s,l)}};function Yo(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var tn={formatters:$o};function Uo(i){i.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:tn.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),i.route("scale.ticks","color","","color"),i.route("scale.grid","color","","borderColor"),i.route("scale.border","color","","borderColor"),i.route("scale.title","color","","color"),i.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),i.describe("scales",{_fallback:"scale"}),i.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const wt=Object.create(null),Je=Object.create(null);function qt(i,t){if(!t)return i;const e=t.split(".");for(let s=0,n=e.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,n)=>ze(n.backgroundColor),this.hoverBorderColor=(s,n)=>ze(n.borderColor),this.hoverColor=(s,n)=>ze(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Ee(this,t,e)}get(t){return qt(this,t)}describe(t,e){return Ee(Je,t,e)}override(t,e){return Ee(wt,t,e)}route(t,e,s,n){const o=qt(this,t),r=qt(this,s),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const l=this[a],c=r[n];return O(l)?Object.assign({},c,l):P(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(e=>e(this))}}var R=new Xo({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Wo,No,Uo]);function Ko(i){return!i||A(i.size)||A(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function Ri(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function bt(i,t,e){const s=i.currentDevicePixelRatio,n=e!==0?Math.max(e/2,.5):0;return Math.round((t-n)*s)/s+n}function zi(i,t){!t&&!i||(t=t||i.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,i.width,i.height),t.restore())}function ti(i,t,e,s){en(i,t,e,s,null)}function en(i,t,e,s,n){let o,r,a,l,c,h,d,f;const u=t.pointStyle,p=t.rotation,g=t.radius;let m=(p||0)*So;if(u&&typeof u=="object"&&(o=u.toString(),o==="[object HTMLImageElement]"||o==="[object HTMLCanvasElement]")){i.save(),i.translate(e,s),i.rotate(m),i.drawImage(u,-u.width/2,-u.height/2,u.width,u.height),i.restore();return}if(!(isNaN(g)||g<=0)){switch(i.beginPath(),u){default:n?i.ellipse(e,s,n/2,g,0,0,Z):i.arc(e,s,g,0,Z),i.closePath();break;case"triangle":h=n?n/2:g,i.moveTo(e+Math.sin(m)*h,s-Math.cos(m)*g),m+=Di,i.lineTo(e+Math.sin(m)*h,s-Math.cos(m)*g),m+=Di,i.lineTo(e+Math.sin(m)*h,s-Math.cos(m)*g),i.closePath();break;case"rectRounded":c=g*.516,l=g-c,r=Math.cos(m+mt)*l,d=Math.cos(m+mt)*(n?n/2-c:l),a=Math.sin(m+mt)*l,f=Math.sin(m+mt)*(n?n/2-c:l),i.arc(e-d,s-a,c,m-E,m-G),i.arc(e+f,s-r,c,m-G,m),i.arc(e+d,s+a,c,m,m+G),i.arc(e-f,s+r,c,m+G,m+E),i.closePath();break;case"rect":if(!p){l=Math.SQRT1_2*g,h=n?n/2:l,i.rect(e-h,s-l,2*h,2*l);break}m+=mt;case"rectRot":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+f,s-r),i.lineTo(e+d,s+a),i.lineTo(e-f,s+r),i.closePath();break;case"crossRot":m+=mt;case"cross":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r);break;case"star":d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r),m+=mt,d=Math.cos(m)*(n?n/2:g),r=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(n?n/2:g),i.moveTo(e-d,s-a),i.lineTo(e+d,s+a),i.moveTo(e+f,s-r),i.lineTo(e-f,s+r);break;case"line":r=n?n/2:Math.cos(m)*g,a=Math.sin(m)*g,i.moveTo(e-r,s-a),i.lineTo(e+r,s+a);break;case"dash":i.moveTo(e,s),i.lineTo(e+Math.cos(m)*(n?n/2:g),s+Math.sin(m)*g);break;case!1:i.closePath();break}i.fill(),t.borderWidth>0&&i.stroke()}}function te(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="";let l,c;for(i.save(),i.font=n.string,Zo(i,o),l=0;l+i||0;function sn(i,t){const e={},s=O(t),n=s?Object.keys(t):t,o=O(i)?s?r=>P(i[r],i[t[r]]):r=>i[r]:()=>i;for(const r of n)e[r]=sr(o(r));return e}function nn(i){return sn(i,{top:"y",right:"x",bottom:"y",left:"x"})}function Tt(i){return sn(i,["topLeft","topRight","bottomLeft","bottomRight"])}function q(i){const t=nn(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function V(i,t){i=i||{},t=t||R.font;let e=P(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=P(i.style,t.style);s&&!(""+s).match(er)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:P(i.family,t.family),lineHeight:ir(P(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:P(i.weight,t.weight),string:""};return n.string=Ko(n),n}function de(i,t,e,s){let n,o,r;for(n=0,o=i.length;ne&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(n,o)}}function Mt(i,t){return Object.assign(Object.create(i),t)}function fi(i,t=[""],e,s,n=()=>i[0]){const o=e||i;typeof s>"u"&&(s=ln("_fallback",i));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:o,_fallback:s,_getTarget:n,override:a=>fi([a,...i],t,o,s)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete i[0][l],!0},get(a,l){return rn(a,l,()=>fr(l,t,i,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(a,l){return Bi(a).includes(l)},ownKeys(a){return Bi(a)},set(a,l,c){const h=a._storage||(a._storage=n());return a[l]=h[l]=c,delete a._keys,!0}})}function It(i,t,e,s){const n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:on(i,s),setContext:o=>It(i,o,e,s),override:o=>It(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,r){return delete o[r],delete i[r],!0},get(o,r,a){return rn(o,r,()=>rr(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(i,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,r)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,r){return Reflect.has(i,r)},ownKeys(){return Reflect.ownKeys(i)},set(o,r,a){return i[r]=a,delete o[r],!0}})}function on(i,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:ft(e)?e:()=>e,isIndexable:ft(s)?s:()=>s}}const or=(i,t)=>i?i+li(t):t,ui=(i,t)=>O(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function rn(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t)||t==="constructor")return i[t];const s=e();return i[t]=s,s}function rr(i,t,e){const{_proxy:s,_context:n,_subProxy:o,_descriptors:r}=i;let a=s[t];return ft(a)&&r.isScriptable(t)&&(a=ar(t,a,i,e)),z(a)&&a.length&&(a=lr(t,a,i,r.isIndexable)),ui(t,a)&&(a=It(a,n,o&&o[t],r)),a}function ar(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_stack:a}=e;if(a.has(i))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+i);a.add(i);let l=t(o,r||s);return a.delete(i),ui(i,l)&&(l=gi(n._scopes,n,i,l)),l}function lr(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=e;if(typeof o.index<"u"&&s(i))return t[o.index%t.length];if(O(t[0])){const l=t,c=n._scopes.filter(h=>h!==l);t=[];for(const h of l){const d=gi(c,n,i,h);t.push(It(d,o,r&&r[i],a))}}return t}function an(i,t,e){return ft(i)?i(t,e):i}const cr=(i,t)=>i===!0?t:typeof i=="string"?Lt(t,i):void 0;function hr(i,t,e,s,n){for(const o of t){const r=cr(e,o);if(r){i.add(r);const a=an(r._fallback,e,n);if(typeof a<"u"&&a!==e&&a!==s)return a}else if(r===!1&&typeof s<"u"&&e!==s)return null}return!1}function gi(i,t,e,s){const n=t._rootScopes,o=an(t._fallback,e,s),r=[...i,...n],a=new Set;a.add(s);let l=Ei(a,r,e,o||e,s);return l===null||typeof o<"u"&&o!==e&&(l=Ei(a,r,o,l,s),l===null)?!1:fi(Array.from(a),[""],n,o,()=>dr(t,e,s))}function Ei(i,t,e,s,n){for(;e;)e=hr(i,t,e,s,n);return e}function dr(i,t,e){const s=i._getTarget();t in s||(s[t]={});const n=s[t];return z(n)&&O(e)?e:n||{}}function fr(i,t,e,s){let n;for(const o of t)if(n=ln(or(o,i),e),typeof n<"u")return ui(i,n)?gi(e,s,i,n):n}function ln(i,t){for(const e of t){if(!e)continue;const s=e[i];if(typeof s<"u")return s}}function Bi(i){let t=i._keys;return t||(t=i._keys=ur(i._scopes)),t}function ur(i){const t=new Set;for(const e of i)for(const s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}const gr=Number.EPSILON||1e-14,Ft=(i,t)=>ti==="x"?"y":"x";function pr(i,t,e,s){const n=i.skip?t:i,o=t,r=e.skip?t:e,a=Qe(o,n),l=Qe(r,o);let c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const d=s*c,f=s*h;return{previous:{x:o.x-d*(r.x-n.x),y:o.y-d*(r.y-n.y)},next:{x:o.x+f*(r.x-n.x),y:o.y+f*(r.y-n.y)}}}function mr(i,t,e){const s=i.length;let n,o,r,a,l,c=Ft(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")xr(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,r=i.length;oi.ownerDocument.defaultView.getComputedStyle(i,null);function vr(i,t){return Ae(i).getPropertyValue(t)}const kr=["top","right","bottom","left"];function St(i,t,e){const s={};e=e?"-"+e:"";for(let n=0;n<4;n++){const o=kr[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const Sr=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function wr(i,t){const e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s;let r=!1,a,l;if(Sr(n,o,i.target))a=n,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function _t(i,t){if("native"in i)return i;const{canvas:e,currentDevicePixelRatio:s}=t,n=Ae(e),o=n.boxSizing==="border-box",r=St(n,"padding"),a=St(n,"border","width"),{x:l,y:c,box:h}=wr(i,e),d=r.left+(h&&a.left),f=r.top+(h&&a.top);let{width:u,height:p}=t;return o&&(u-=r.width+a.width,p-=r.height+a.height),{x:Math.round((l-d)/u*e.width/s),y:Math.round((c-f)/p*e.height/s)}}function Mr(i,t,e){let s,n;if(t===void 0||e===void 0){const o=i&&mi(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{const r=o.getBoundingClientRect(),a=Ae(o),l=St(a,"border","width"),c=St(a,"padding");t=r.width-c.width-l.width,e=r.height-c.height-l.height,s=De(a.maxWidth,o,"clientWidth"),n=De(a.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Me,maxHeight:n||Me}}const ue=i=>Math.round(i*10)/10;function Pr(i,t,e,s){const n=Ae(i),o=St(n,"margin"),r=De(n.maxWidth,i,"clientWidth")||Me,a=De(n.maxHeight,i,"clientHeight")||Me,l=Mr(i,t,e);let{width:c,height:h}=l;if(n.boxSizing==="content-box"){const f=St(n,"border","width"),u=St(n,"padding");c-=u.width+f.width,h-=u.height+f.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?c/s:h-o.height),c=ue(Math.min(c,r,l.maxWidth)),h=ue(Math.min(h,a,l.maxHeight)),c&&!h&&(h=ue(c/2)),(t!==void 0||e!==void 0)&&s&&l.height&&h>l.height&&(h=l.height,c=ue(Math.floor(h*s))),{width:c,height:h}}function Hi(i,t,e){const s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=Math.floor(i.height),i.width=Math.floor(i.width);const r=i.canvas;return r.style&&(e||!r.style.height&&!r.style.width)&&(r.style.height=`${i.height}px`,r.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||r.height!==n||r.width!==o?(i.currentDevicePixelRatio=s,r.height=n,r.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}const Dr=(function(){let i=!1;try{const t={get passive(){return i=!0,!1}};pi()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return i})();function Vi(i,t){const e=vr(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function yt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function Or(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function Cr(i,t,e,s){const n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},r=yt(i,n,e),a=yt(n,o,e),l=yt(o,t,e),c=yt(r,a,e),h=yt(a,l,e);return yt(c,h,e)}const Tr=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},Ar=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function At(i,t,e){return i?Tr(t,e):Ar()}function hn(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function dn(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function fn(i){return i==="angle"?{between:Ks,compare:To,normalize:it}:{between:ct,compare:(t,e)=>t-e,normalize:t=>t}}function Wi({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function Lr(i,t,e){const{property:s,start:n,end:o}=e,{between:r,normalize:a}=fn(s),l=t.length;let{start:c,end:h,loop:d}=i,f,u;if(d){for(c+=l,h+=l,f=0,u=l;fl(n,y,b)&&a(n,y)!==0,_=()=>a(o,b)===0||l(o,y,b),w=()=>g||v(),S=()=>!g||_();for(let k=h,M=h;k<=d;++k)x=t[k%r],!x.skip&&(b=c(x[s]),b!==y&&(g=l(b,n,o),m===null&&w()&&(m=a(b,n)===0?k:M),m!==null&&S()&&(p.push(Wi({start:m,end:k,loop:f,count:r,style:u})),m=null),M=k,y=b));return m!==null&&p.push(Wi({start:m,end:d,loop:f,count:r,style:u})),p}function gn(i,t){const e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function Fr(i,t,e,s){const n=i.length,o=[];let r=t,a=i[t],l;for(l=t+1;l<=e;++l){const c=i[l%n];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%n,end:r%n,loop:s}),o}function Rr(i,t){const e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];const o=!!i._loop,{start:r,end:a}=Ir(e,n,o,s);if(s===!0)return Ni(i,[{start:r,end:a,loop:o}],e,t);const l=aa({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(s-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=Zs.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const s=e.items;let n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ot=new Hr;const $i="transparent",Vr={boolean(i,t,e){return e>.5?t:i},color(i,t,e){const s=Ii(i||$i),n=s.valid&&Ii(t||$i);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}};class Wr{constructor(t,e,s,n){const o=e[s];n=de([t.to,n,o,t.from]);const r=de([t.from,o,n]);this._active=!0,this._fn=t.fn||Vr[t.type||typeof r],this._easing=Kt[t.easing]||Kt.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=s,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);const n=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=de([t.to,e,n,t.from]),this._from=de([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,s=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){const e=t?"res":"rej",s=this._promises||[];for(let n=0;n{const o=t[n];if(!O(o))return;const r={};for(const a of e)r[a]=o[a];(z(o.properties)&&o.properties||[n]).forEach(a=>{(a===n||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,e){const s=e.options,n=jr(t,s);if(!n)return[];const o=this._createAnimations(n,s);return s.$shared&&Nr(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){const s=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let d=o[c];const f=s.get(c);if(d)if(f&&d.active()){d.update(f,h,a);continue}else d.cancel();if(!f||!f.duration){t[c]=h;continue}o[c]=d=new Wr(f,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const s=this._createAnimations(t,e);if(s.length)return ot.add(this._chart,s),!0}}function Nr(i,t){const e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function Ki(i,t){const{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,h=Xr(o,r,s),d=t.length;let f;for(let u=0;ue[s].axis===t).shift()}function Gr(i,t){return Mt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Zr(i,t,e){return Mt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Bt(i,t){const e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(const n of t){const o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e],o[s]._visualValues!==void 0&&o[s]._visualValues[e]!==void 0&&delete o[s]._visualValues[e]}}}const Ve=i=>i==="reset"||i==="none",qi=(i,t)=>t?i:Object.assign({},i),Qr=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:bn(e,!0),values:null};class bi{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Be(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Bt(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(d,f,u,p)=>d==="x"?f:d==="r"?p:u,o=e.xAxisID=P(s.xAxisID,He(t,"x")),r=e.yAxisID=P(s.yAxisID,He(t,"y")),a=e.rAxisID=P(s.rAxisID,He(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,r,a),h=e.vAxisID=n(l,r,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Ti(this._data,this),t._stacked&&Bt(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(O(e)){const n=this._cachedMeta;this._data=Ur(e,n)}else if(s!==e){if(s){Ti(s,this);const n=this._cachedMeta;Bt(n),n._parsed=[]}e&&Object.isExtensible(e)&&Fo(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,s=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=Be(e.vScale,e),e.stack!==s.stack&&(n=!0,Bt(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&(Ki(this,e._parsed),e._stacked=Be(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,d,f;if(this._parsing===!1)s._parsed=n,s._sorted=!0,f=n;else{z(n[t])?f=this.parseArrayData(s,n,t,e):O(n[t])?f=this.parseObjectData(s,n,t,e):f=this.parsePrimitiveData(s,n,t,e);const u=()=>d[a]===null||c&&d[a]g||d=0;--f)if(!p()){this.updateRangeFromParsed(c,t,u,l);break}}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,s=[];let n,o,r;for(n=0,o=e.length;n=0&&tthis.getContext(s,n,e),g=c.resolveNamedOptions(f,u,p,d);return g.$shared&&(g.$shared=l,o[r]=Object.freeze(qi(g,l))),g}_resolveAnimations(t,e,s){const n=this.chart,o=this._cachedDataOpts,r=`animation-${e}`,a=o[r];if(a)return a;let l;if(n.options.animation!==!1){const h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),f=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(f,this.getContext(t,s,e))}const c=new mn(n,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ve(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const s=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(s),r=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,s),{sharedOptions:o,includeOptions:r}}updateElement(t,e,s,n){Ve(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!Ve(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;const o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,s=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const n=s.length,o=e.length,r=Math.min(o,n);r&&this.parse(0,r),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,a=c.length-1;a>=r;a--)c[a]=c[a-e]};for(l(o),a=t;an-o))}return i._cache.$bar}function ta(i){const t=i.iScale,e=Jr(t,i.type);let s=t._length,n,o,r,a;const l=()=>{r===32767||r===-32768||(Qt(a)&&(s=Math.min(s,Math.abs(r-a)||s)),a=r)};for(n=0,o=e.length;n0?n[i-1]:null,a=iMath.abs(a)&&(l=a,c=r),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:r,max:a}}function xn(i,t,e,s){return z(i)?sa(i,t,e,s):t[e.axis]=e.parse(i,s),t}function Gi(i,t,e,s){const n=i.iScale,o=i.vScale,r=n.getLabels(),a=n===o,l=[];let c,h,d,f;for(c=e,h=e+s;c=e?1:-1)}function oa(i){let t,e,s,n,o;return i.horizontal?(t=i.base>i.x,e="left",s="right"):(t=i.baseh.controller.options.grouped),o=s.options.stacked,r=[],a=this._cachedMeta.controller.getParsed(e),l=a&&a[s.axis],c=h=>{const d=h._parsed.find(u=>u[s.axis]===l),f=d&&d[h.vScale.axis];if(A(f)||isNaN(f))return!0};for(const h of n)if(!(e!==void 0&&c(h))&&((o===!1||r.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&r.push(h.stack),h.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(s=>t[s].axis===e).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const s of this.chart.data.datasets)t[P(this.chart.options.indexAxis==="x"?s.xAxisID:s.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,s){const n=this._getStacks(t,s),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){const t=this.options,e=this._cachedMeta,s=e.iScale,n=[];let o,r;for(o=0,r=e.data.length;o0&&this.getParsed(e-1);for(let _=0;_=x){S.skip=!0;continue}const k=this.getParsed(_),M=A(k[u]),C=S[f]=r.getPixelForValue(k[f],_),D=S[u]=o||M?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,k,l):k[u],_);S.skip=isNaN(C)||isNaN(D)||M,S.stop=_>0&&Math.abs(k[f]-v[f])>m,g&&(S.parsed=k,S.raw=c.data[_]),d&&(S.options=h||this.resolveDataElementOptions(_,w.active?"active":n)),b||this.updateElement(w,_,S,n),v=k}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}function xt(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class xi{static override(t){Object.assign(xi.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return xt()}parse(){return xt()}format(){return xt()}add(){return xt()}diff(){return xt()}startOf(){return xt()}endOf(){return xt()}}var da={_date:xi};function fa(i,t,e,s){const{controller:n,data:o,_sorted:r}=i,a=n._cachedMeta.iScale,l=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const c=a._reversePixels?Lo:kt;if(s){if(n._sharedOptions){const h=o[0],d=typeof h.getRange=="function"&&h.getRange(t);if(d){const f=c(o,t,e-d),u=c(o,t,e+d);return{lo:f.lo,hi:u.hi}}}}else{const h=c(o,t,e);if(l){const{vScale:d}=n._cachedMeta,{_parsed:f}=i,u=f.slice(0,h.lo+1).reverse().findIndex(g=>!A(g[d.axis]));h.lo-=Math.max(0,u);const p=f.slice(h.hi).findIndex(g=>!A(g[d.axis]));h.hi+=Math.max(0,p)}return h}}return{lo:0,hi:o.length-1}}function Le(i,t,e,s,n){const o=i.getSortedVisibleDatasetMetas(),r=e[t];for(let a=0,l=o.length;a{l[r]&&l[r](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,n))}),s&&!a?[]:o}var ma={modes:{index(i,t,e,s){const n=_t(t,i),o=e.axis||"x",r=e.includeInvisible||!1,a=e.intersect?Ne(i,n,o,s,r):je(i,n,o,!1,s,r),l=[];return a.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{const h=a[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){const n=_t(t,i),o=e.axis||"xy",r=e.includeInvisible||!1;let a=e.intersect?Ne(i,n,o,s,r):je(i,n,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,c=i.getDatasetMeta(l).data;a=[];for(let h=0;he.pos===t)}function ts(i,t){return i.filter(e=>_n.indexOf(e.pos)===-1&&e.box.axis===t)}function Vt(i,t){return i.sort((e,s)=>{const n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function ba(i){const t=[];let e,s,n,o,r,a;for(e=0,s=(i||[]).length;ec.box.fullSize),!0),s=Vt(Ht(t,"left"),!0),n=Vt(Ht(t,"right")),o=Vt(Ht(t,"top"),!0),r=Vt(Ht(t,"bottom")),a=ts(t,"x"),l=ts(t,"y");return{fullSize:e,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(r).concat(a),chartArea:Ht(t,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(r).concat(a)}}function es(i,t,e,s){return Math.max(i[e],t[e])+Math.max(i[s],t[s])}function yn(i,t){i.top=Math.max(i.top,t.top),i.left=Math.max(i.left,t.left),i.bottom=Math.max(i.bottom,t.bottom),i.right=Math.max(i.right,t.right)}function va(i,t,e,s){const{pos:n,box:o}=e,r=i.maxPadding;if(!O(n)){e.size&&(i[n]-=e.size);const d=s[e.stack]||{size:0,count:1};d.size=Math.max(d.size,e.horizontal?o.height:o.width),e.size=d.size/d.count,i[n]+=e.size}o.getPadding&&yn(r,o.getPadding());const a=Math.max(0,t.outerWidth-es(r,i,"left","right")),l=Math.max(0,t.outerHeight-es(r,i,"top","bottom")),c=a!==i.w,h=l!==i.h;return i.w=a,i.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function ka(i){const t=i.maxPadding;function e(s){const n=Math.max(t[s]-i[s],0);return i[s]+=n,n}i.y+=e("top"),i.x+=e("left"),e("right"),e("bottom")}function Sa(i,t){const e=t.maxPadding;function s(n){const o={left:0,top:0,right:0,bottom:0};return n.forEach(r=>{o[r]=Math.max(t[r],e[r])}),o}return s(i?["left","right"]:["top","bottom"])}function $t(i,t,e,s){const n=[];let o,r,a,l,c,h;for(o=0,r=i.length,c=0;o{typeof g.beforeLayout=="function"&&g.beforeLayout()});const h=l.reduce((g,m)=>m.box.options&&m.box.options.display===!1?g:g+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),f=Object.assign({},n);yn(f,q(s));const u=Object.assign({maxPadding:f,w:o,h:r,x:n.left,y:n.top},n),p=_a(l.concat(c),d);$t(a.fullSize,u,d,p),$t(l,u,d,p),$t(c,u,d,p)&&$t(l,u,d,p),ka(u),is(a.leftAndTop,u,d,p),u.x+=u.w,u.y+=u.h,is(a.rightAndBottom,u,d,p),i.chartArea={left:u.left,top:u.top,right:u.left+u.w,bottom:u.top+u.h,height:u.h,width:u.w},L(a.chartArea,g=>{const m=g.box;Object.assign(m,i.chartArea),m.update(u.w,u.h,{left:0,top:0,right:0,bottom:0})})}};class vn{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}}class wa extends vn{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ve="$chartjs",Ma={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ss=i=>i===null||i==="";function Pa(i,t){const e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[ve]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",ss(n)){const o=Vi(i,"width");o!==void 0&&(i.width=o)}if(ss(s))if(i.style.height==="")i.height=i.width/(t||2);else{const o=Vi(i,"height");o!==void 0&&(i.height=o)}return i}const kn=Dr?{passive:!0}:!1;function Da(i,t,e){i&&i.addEventListener(t,e,kn)}function Oa(i,t,e){i&&i.canvas&&i.canvas.removeEventListener(t,e,kn)}function Ca(i,t){const e=Ma[i.type]||i.type,{x:s,y:n}=_t(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function Oe(i,t){for(const e of i)if(e===t||e.contains(t))return!0}function Ta(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oe(a.addedNodes,s),r=r&&!Oe(a.removedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function Aa(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Oe(a.removedNodes,s),r=r&&!Oe(a.addedNodes,s);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}const ie=new Map;let ns=0;function Sn(){const i=window.devicePixelRatio;i!==ns&&(ns=i,ie.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function La(i,t){ie.size||window.addEventListener("resize",Sn),ie.set(i,t)}function Ia(i){ie.delete(i),ie.size||window.removeEventListener("resize",Sn)}function Fa(i,t,e){const s=i.canvas,n=s&&mi(s);if(!n)return;const o=Qs((a,l)=>{const c=n.clientWidth;e(a,l),c{const l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(n),La(i,o),r}function $e(i,t,e){e&&e.disconnect(),t==="resize"&&Ia(i)}function Ra(i,t,e){const s=i.canvas,n=Qs(o=>{i.ctx!==null&&e(Ca(o,i))},i);return Da(s,t,n),n}class za extends vn{acquireContext(t,e){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(Pa(t,e),s):null}releaseContext(t){const e=t.canvas;if(!e[ve])return!1;const s=e[ve].initial;["height","width"].forEach(o=>{const r=s[o];A(r)?e.removeAttribute(o):e.setAttribute(o,r)});const n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[ve],!0}addEventListener(t,e,s){this.removeEventListener(t,e);const n=t.$proxies||(t.$proxies={}),r={attach:Ta,detach:Aa,resize:Fa}[e]||Ra;n[e]=r(t,e,s)}removeEventListener(t,e){const s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:$e,detach:$e,resize:$e}[e]||Oa)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return Pr(t,e,s,n)}isAttached(t){const e=t&&mi(t);return!!(e&&e.isConnected)}}function Ea(i){return!pi()||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas?wa:za}class ut{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:s}=this.getProps(["x","y"],t);return{x:e,y:s}}hasValue(){return Jt(this.x)&&Jt(this.y)}getProps(t,e){const s=this.$animations;if(!e||!s)return this;const n={};return t.forEach(o=>{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}}function Ba(i,t){const e=i.options.ticks,s=Ha(i),n=Math.min(e.maxTicksLimit||s,s),o=e.major.enabled?Wa(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>n)return Na(t,c,o,r/n),c;const h=Va(o,t,n);if(r>0){let d,f;const u=r>1?Math.round((l-a)/(r-1)):null;for(me(t,c,h,A(u)?0:a-u,a),d=0,f=r-1;dn)return l}return Math.max(n,1)}function Wa(i){const t=[];let e,s;for(e=0,s=i.length;ei==="left"?"right":i==="right"?"left":i,os=(i,t,e)=>t==="top"||t==="left"?i[t]+e:i[t]-e,rs=(i,t)=>Math.min(t||i,i);function as(i,t){const e=[],s=i.length/t,n=i.length;let o=0;for(;or+a)))return l}function Ua(i,t){L(i,e=>{const s=e.gc,n=s.length/2;let o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:J(e,J(s,e)),max:J(s,J(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){I(this.options.beforeUpdate,[this])}update(t,e,s){const{beginAtZero:n,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=nr(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}const h=this._getLabelSizes(),d=h.widest.width,f=h.highest.height,u=Y(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/s:u/(s-1),d+6>a&&(a=u/(s-(t.offset?.5:1)),l=this.maxHeight-Wt(t.grid)-e.padding-ls(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),r=Oo(Math.min(Math.asin(Y((h.highest.height+6)/a,-1,1)),Math.asin(Y(l/c,-1,1))-Math.asin(Y(f/c,-1,1)))),r=Math.max(n,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){I(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){I(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=ls(n,e.options.font);if(a?(t.width=this.maxWidth,t.height=Wt(o)+l):(t.height=this.maxHeight,t.width=Wt(o)+l),s.display&&this.ticks.length){const{first:c,last:h,widest:d,highest:f}=this._getLabelSizes(),u=s.padding*2,p=vt(this.labelRotation),g=Math.cos(p),m=Math.sin(p);if(a){const b=s.mirror?0:m*d.width+g*f.height;t.height=Math.min(this.maxHeight,t.height+b+u)}else{const b=s.mirror?0:g*d.width+m*f.height;t.width=Math.min(this.maxWidth,t.width+b+u)}this._calculatePadding(c,h,m,g)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,s,n){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,u=0;l?c?(f=n*t.width,u=s*e.height):(f=s*t.height,u=n*e.width):o==="start"?u=e.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,u=e.width/2),this.paddingLeft=Math.max((f-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((u-d+r)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){I(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({width:r[M]||0,height:a[M]||0});return{first:k(0),last:k(e-1),widest:k(w),highest:k(S),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Ao(this._alignToPixels?bt(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*n?a/s:l/n:l*n0}_computeGridLineItems(t){const e=this.axis,s=this.chart,n=this.options,{grid:o,position:r,border:a}=n,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=Wt(o),u=[],p=a.setContext(this.getContext()),g=p.display?p.width:0,m=g/2,b=function(B){return bt(s,B,g)};let x,y,v,_,w,S,k,M,C,D,T,N;if(r==="top")x=b(this.bottom),S=this.bottom-f,M=x-m,D=b(t.top)+m,N=t.bottom;else if(r==="bottom")x=b(this.top),D=t.top,N=b(t.bottom)-m,S=x+m,M=this.top+f;else if(r==="left")x=b(this.right),w=this.right-f,k=x-m,C=b(t.left)+m,T=t.right;else if(r==="right")x=b(this.left),C=t.left,T=b(t.right)-m,w=x+m,k=this.left+f;else if(e==="x"){if(r==="center")x=b((t.top+t.bottom)/2+.5);else if(O(r)){const B=Object.keys(r)[0],U=r[B];x=b(this.chart.scales[B].getPixelForValue(U))}D=t.top,N=t.bottom,S=x+m,M=S+f}else if(e==="y"){if(r==="center")x=b((t.left+t.right)/2);else if(O(r)){const B=Object.keys(r)[0],U=r[B];x=b(this.chart.scales[B].getPixelForValue(U))}w=x-m,k=w-f,C=t.left,T=t.right}const Q=P(n.ticks.maxTicksLimit,d),F=Math.max(1,Math.ceil(d/Q));for(y=0;y0&&(pt-=gt/2);break}re={left:pt,top:Et,width:gt+Dt.width,height:zt+Dt.height,color:F.backdropColor}}m.push({label:v,font:M,textOffset:T,options:{rotation:g,color:U,strokeColor:ne,strokeWidth:oe,textAlign:Pt,textBaseline:N,translation:[_,w],backdrop:re}})}return m}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-vt(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:s,mirror:n,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,h;return e==="left"?n?(h=this.right+o,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-a,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h=this.left)):e==="right"?n?(h=this.left+o,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+a,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:s,top:n,width:o,height:r}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(s,n,o,r),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,r=n.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[];let o,r;for(o=0,r=e.length;o{const s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),r=t[e].split("."),a=r.pop(),l=r.join(".");R.route(o,n,l,a)})}function Ja(i){return"id"in i&&"defaults"in i}class tl{constructor(){this.controllers=new be(bi,"datasets",!0),this.elements=new be(ut,"elements"),this.plugins=new be(Object,"plugins"),this.scales=new be(Rt,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,s){[...e].forEach(n=>{const o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):L(n,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,e,s){const n=li(t);I(s["before"+n],[],s),e[t](s),I(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;eo.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}}function il(i){const t={},e=[],s=Object.keys(et.plugins.items);for(let o=0;o1&&cs(i[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${i}' axis. Please provide 'axis' or 'position' option.`)}function hs(i,t,e){if(e[t+"AxisID"]===i)return{axis:t}}function cl(i,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(s=>s.xAxisID===i||s.yAxisID===i);if(e.length)return hs(i,"x",e[0])||hs(i,"y",e[0])}return{}}function hl(i,t){const e=wt[i.type]||{scales:{}},s=t.scales||{},n=ei(i.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!O(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=ii(r,a,cl(r,i),R.scales[a.type]),c=al(l,n),h=e.scales||{};o[r]=Ut(Object.create(null),[{axis:l},a,h[l],h[c]])}),i.data.datasets.forEach(r=>{const a=r.type||i.type,l=r.indexAxis||ei(a,t),h=(wt[a]||{}).scales||{};Object.keys(h).forEach(d=>{const f=rl(d,l),u=r[f+"AxisID"]||f;o[u]=o[u]||Object.create(null),Ut(o[u],[{axis:f},s[u],h[d]])})}),Object.keys(o).forEach(r=>{const a=o[r];Ut(a,[R.scales[a.type],R.scale])}),o}function wn(i){const t=i.options||(i.options={});t.plugins=P(t.plugins,{}),t.scales=hl(i,t)}function Mn(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function dl(i){return i=i||{},i.data=Mn(i.data),wn(i),i}const ds=new Map,Pn=new Set;function xe(i,t){let e=ds.get(i);return e||(e=t(),ds.set(i,e),Pn.add(e)),e}const Nt=(i,t,e)=>{const s=Lt(t,e);s!==void 0&&i.add(s)};class fl{constructor(t){this._config=dl(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Mn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),wn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xe(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return xe(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return xe(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,s=this.type;return xe(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const s=this._scopeCache;let n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){const{options:n,type:o}=this,r=this._cachedScopes(t,s),a=r.get(e);if(a)return a;const l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>Nt(l,t,d))),h.forEach(d=>Nt(l,n,d)),h.forEach(d=>Nt(l,wt[o]||{},d)),h.forEach(d=>Nt(l,R,d)),h.forEach(d=>Nt(l,Je,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Pn.has(e)&&r.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,wt[e]||{},R.datasets[e]||{},{type:e},R,Je]}resolveNamedOptions(t,e,s,n=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=fs(this._resolverCache,t,n);let l=r;if(gl(r,e)){o.$shared=!1,s=ft(s)?s():s;const c=this.createResolver(t,s,a);l=It(r,s,c)}for(const c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){const{resolver:o}=fs(this._resolverCache,t,s);return O(e)?It(o,e,void 0,n):o}}function fs(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));const n=e.join();let o=s.get(n);return o||(o={resolver:fi(t,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},s.set(n,o)),o}const ul=i=>O(i)&&Object.getOwnPropertyNames(i).some(t=>ft(i[t]));function gl(i,t){const{isScriptable:e,isIndexable:s}=on(i);for(const n of t){const o=e(n),r=s(n),a=(r||o)&&i[n];if(o&&(ft(a)||ul(a))||r&&z(a))return!0}return!1}var pl="4.5.0";const ml=["top","bottom","left","right","chartArea"];function us(i,t){return i==="top"||i==="bottom"||ml.indexOf(i)===-1&&t==="x"}function gs(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function ps(i){const t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),I(e&&e.onComplete,[i],t)}function bl(i){const t=i.chart,e=t.options.animation;I(e&&e.onProgress,[i],t)}function Dn(i){return pi()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}const ke={},ms=i=>{const t=Dn(i);return Object.values(ke).filter(e=>e.canvas===t).pop()};function xl(i,t,e){const s=Object.keys(i);for(const n of s){const o=+n;if(o>=t){const r=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=r)}}}function _l(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}let _i=class{static defaults=R;static instances=ke;static overrides=wt;static registry=et;static version=pl;static getChart=ms;static register(...t){et.add(...t),bs()}static unregister(...t){et.remove(...t),bs()}constructor(t,e){const s=this.config=new fl(e),n=Dn(t),o=ms(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ea(n)),this.platform.updateConfig(s);const a=this.platform.acquireContext(n,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=po(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new el,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Ro(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],ke[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}ot.listen(this,"complete",ps),ot.listen(this,"progress",bl),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return A(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return et}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Hi(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return zi(this.canvas,this.ctx),this}stop(){return ot.stop(this),this}resize(t,e){ot.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(n,t,e,o),a=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,Hi(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),I(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};L(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){const t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((r,a)=>(r[a]=!1,r),{});let o=[];e&&(o=o.concat(Object.keys(e).map(r=>{const a=e[r],l=ii(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),L(o,r=>{const a=r.options,l=a.id,c=ii(l,a),h=P(a.type,r.dtype);(a.position===void 0||us(a.position,c)!==us(r.dposition))&&(a.position=r.dposition),n[l]=!0;let d=null;if(l in s&&s[l].type===h)d=s[l];else{const f=et.getScale(h);d=new f({id:l,type:h,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(a,t)}),L(n,(r,a)=>{r||delete s[a]}),L(s,r=>{K.configure(this,r,r.options),K.addBox(this,r)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((s,n)=>{e.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let s,n;for(this._removeUnreferencedMetasets(),s=0,n=e.length;s{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(gs("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){L(this.scales,t=>{K.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Pi(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:s,start:n,count:o}of e){const r=s==="_removeElements"?-o:o;xl(t,n,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,s=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;K.update(this,this.width,this.height,t);const e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],L(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,s={meta:t,index:t.index,cancelable:!0},n=pn(this,t);this.notifyPlugins("beforeDatasetDraw",s)!==!1&&(n&&Ce(e,n),t.controller.draw(),n&&Te(e),s.cancelable=!1,this.notifyPlugins("afterDatasetDraw",s))}isPointInArea(t){return te(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,s,n){const o=ma.modes[e];return typeof o=="function"?o(this,t,s,n):[]}getDatasetMeta(t){const e=this.data.datasets[t],s=this._metasets;let n=s.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},s.push(n)),n}getContext(){return this.$context||(this.$context=Mt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!e.hidden}setDatasetVisibility(t,e){const s=this.getDatasetMeta(t);s.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,s){const n=s?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,n);Qt(e)?(o.data[e].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),r.update(o,{visible:s}),this.update(a=>a.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),ot.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,r),t[o]=r},n=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};L(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{n("attach",a),this.attached=!0,this.resize(),s("resize",o),s("detach",r)};r=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",a)},e.isAttached(this.canvas)?a():r()}unbindEvents(){L(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},L(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){const n=s?"set":"remove";let o,r,a,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),a=0,l=t.length;a{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Se(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,s){const n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),r=o(e,t),a=s?t:o(t,e);r.length&&this.updateHoverStyle(r,n.mode,!1),a.length&&n.mode&&this.updateHoverStyle(a,n.mode,!0)}_eventHandler(t,e){const s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;const o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){const{_active:n=[],options:o}=this,r=e,a=this._getActiveElements(t,n,s,r),l=vo(t),c=_l(t,this._lastEvent,s,l);s&&(this._lastEvent=null,I(o.onHover,[t,a,this],this),l&&I(o.onClick,[t,a,this],this));const h=!Se(a,n);return(h||e)&&(this._active=a,this._updateHoverStyles(a,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}};function bs(){return L(_i.instances,i=>i._plugins.invalidate())}function On(i,t,e=t){i.lineCap=P(e.borderCapStyle,t.borderCapStyle),i.setLineDash(P(e.borderDash,t.borderDash)),i.lineDashOffset=P(e.borderDashOffset,t.borderDashOffset),i.lineJoin=P(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=P(e.borderWidth,t.borderWidth),i.strokeStyle=P(e.borderColor,t.borderColor)}function yl(i,t,e){i.lineTo(e.x,e.y)}function vl(i){return i.stepped?qo:i.tension||i.cubicInterpolationMode==="monotone"?Go:yl}function Cn(i,t,e={}){const s=i.length,{start:n=0,end:o=s-1}=e,{start:r,end:a}=t,l=Math.max(n,r),c=Math.min(o,a),h=na&&o>a;return{count:s,start:l,loop:t.loop,ilen:c(r+(c?a-v:v))%o,y=()=>{g!==m&&(i.lineTo(h,m),i.lineTo(h,g),i.lineTo(h,b))};for(l&&(u=n[x(0)],i.moveTo(u.x,u.y)),f=0;f<=a;++f){if(u=n[x(f)],u.skip)continue;const v=u.x,_=u.y,w=v|0;w===p?(_m&&(m=_),h=(d*h+v)/++d):(y(),i.lineTo(v,_),p=w,d=0,g=m=_),b=_}y()}function si(i){const t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?Sl:kl}function wl(i){return i.stepped?Or:i.tension||i.cubicInterpolationMode==="monotone"?Cr:yt}function Ml(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),On(i,t.options),i.stroke(n)}function Pl(i,t,e,s){const{segments:n,options:o}=t,r=si(t);for(const a of n)On(i,o,a.style),i.beginPath(),r(i,t,a,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}const Dl=typeof Path2D=="function";function Ol(i,t,e,s){Dl&&!t.options.segment?Ml(i,t,e,s):Pl(i,t,e,s)}class yi extends ut{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const n=s.spanGaps?this._loop:this._fullLoop;yr(this._points,s,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Rr(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){const s=this.options,n=t[e],o=this.points,r=gn(this,{property:e,start:n,end:n});if(!r.length)return;const a=[],l=wl(s);let c,h;for(c=0,h=r.length;c{a=Ie(r,a,n);const l=n[r],c=n[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function Ie(i,t,e){for(;t>i;t--){const s=e[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function _s(i,t,e,s){return i&&t?s(i[e],t[e]):i?i[e]:t?t[e]:0}function An(i,t){let e=[],s=!1;return z(i)?(s=!0,e=i):e=Rl(i,t),e.length?new yi({points:e,options:{tension:0},_loop:s,_fullLoop:s}):null}function ys(i){return i&&i.fill!==!1}function zl(i,t,e){let n=i[t].fill;const o=[t];let r;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!W(n))return n;if(r=i[n],!r)return!1;if(r.visible)return n;o.push(n),n=r.fill}return!1}function El(i,t,e){const s=Wl(i);if(O(s))return isNaN(s.value)?!1:s;let n=parseFloat(s);return W(n)&&Math.floor(n)===n?Bl(s[0],t,n,e):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function Bl(i,t,e,s){return(i==="-"||i==="+")&&(e=t+e),e===t||e<0||e>=s?!1:e}function Hl(i,t){let e=null;return i==="start"?e=t.bottom:i==="end"?e=t.top:O(i)?e=t.getPixelForValue(i.value):t.getBasePixel&&(e=t.getBasePixel()),e}function Vl(i,t,e){let s;return i==="start"?s=e:i==="end"?s=t.options.reverse?t.min:t.max:O(i)?s=i.value:s=t.getBaseValue(),s}function Wl(i){const t=i.options,e=t.fill;let s=P(e&&e.target,e);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function Nl(i){const{scale:t,index:e,line:s}=i,n=[],o=s.segments,r=s.points,a=jl(t,e);a.push(An({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=n[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),s&&a.fill&&Xe(i.ctx,a,o))}},beforeDatasetsDraw(i,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const s=i.getSortedVisibleDatasetMetas();for(let n=s.length-1;n>=0;--n){const o=s[n].$filler;ys(o)&&Xe(i.ctx,o,i.chartArea)}},beforeDatasetDraw(i,t,e){const s=t.meta.$filler;!ys(s)||e.drawTime!=="beforeDatasetDraw"||Xe(i.ctx,s,i.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const ws=(i,t)=>{let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=i.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},Jl=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index;class Ms extends ut{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=I(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,n=V(s.font),o=n.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=ws(s,o);let c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,n,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+a;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,u=-h;return this.legendItems.forEach((p,g)=>{const m=s+e/2+o.measureText(p.text).width;(g===0||c[c.length-1]+m+2*a>r)&&(d+=h,c[c.length-(g>0?0:1)]=0,u+=h,f++),l[g]={left:0,top:u,row:f,width:m,height:n},c[c.length-1]+=m+a}),d}_fitCols(t,e,s,n){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t;let d=a,f=0,u=0,p=0,g=0;return this.legendItems.forEach((m,b)=>{const{itemWidth:x,itemHeight:y}=tc(s,e,o,m,n);b>0&&u+y+2*a>h&&(d+=f+a,c.push({width:f,height:u}),p+=f+a,g++,f=u=0),l[b]={left:p,top:u,col:g,width:x,height:y},f=Math.max(f,x),u+=y+a}),d+=f,c.push({width:f,height:u}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,r=At(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=H(s,this.left+n,this.right-this.lineWidths[a]);for(const c of e)a!==c.row&&(a=c.row,l=H(s,this.left+n,this.right-this.lineWidths[a])),c.top+=this.top+t+n,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+n}else{let a=0,l=H(s,this.top+t+n,this.bottom-this.columnSizes[a].height);for(const c of e)c.col!==a&&(a=c.col,l=H(s,this.top+t+n,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+n,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Ce(t,this),this._draw(),Te(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:r}=t,a=R.color,l=At(t.rtl,this.left,this.width),c=V(r.font),{padding:h}=r,d=c.size,f=d/2;let u;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;const{boxWidth:p,boxHeight:g,itemHeight:m}=ws(r,d),b=function(w,S,k){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;n.save();const M=P(k.lineWidth,1);if(n.fillStyle=P(k.fillStyle,a),n.lineCap=P(k.lineCap,"butt"),n.lineDashOffset=P(k.lineDashOffset,0),n.lineJoin=P(k.lineJoin,"miter"),n.lineWidth=M,n.strokeStyle=P(k.strokeStyle,a),n.setLineDash(P(k.lineDash,[])),r.usePointStyle){const C={radius:g*Math.SQRT2/2,pointStyle:k.pointStyle,rotation:k.rotation,borderWidth:M},D=l.xPlus(w,p/2),T=S+f;en(n,C,D,T,r.pointStyleWidth&&p)}else{const C=S+Math.max((d-g)/2,0),D=l.leftForLtr(w,p),T=Tt(k.borderRadius);n.beginPath(),Object.values(T).some(N=>N!==0)?Pe(n,{x:D,y:C,w:p,h:g,radius:T}):n.rect(D,C,p,g),n.fill(),M!==0&&n.stroke()}n.restore()},x=function(w,S,k){ee(n,k.text,w,S+m/2,c,{strikethrough:k.hidden,textAlign:l.textAlign(k.textAlign)})},y=this.isHorizontal(),v=this._computeTitleHeight();y?u={x:H(o,this.left+h,this.right-s[0]),y:this.top+h+v,line:0}:u={x:this.left+h,y:H(o,this.top+v+h,this.bottom-e[0].height),line:0},hn(this.ctx,t.textDirection);const _=m+h;this.legendItems.forEach((w,S)=>{n.strokeStyle=w.fontColor,n.fillStyle=w.fontColor;const k=n.measureText(w.text).width,M=l.textAlign(w.textAlign||(w.textAlign=r.textAlign)),C=p+f+k;let D=u.x,T=u.y;l.setWidth(this.width),y?S>0&&D+C+h>this.right&&(T=u.y+=_,u.line++,D=u.x=H(o,this.left+h,this.right-s[u.line])):S>0&&T+_>this.bottom&&(D=u.x=D+e[u.line].width+h,u.line++,T=u.y=H(o,this.top+v+h,this.bottom-e[u.line].height));const N=l.x(D);if(b(N,T,w),D=zo(M,D+p+f,y?D+C:this.right,t.rtl),x(l.x(D),T,w),y)u.x+=C+h;else if(typeof w.text!="string"){const Q=c.lineHeight;u.y+=In(w,Q)+h}else u.y+=_}),dn(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,s=V(e.font),n=q(e.padding);if(!e.display)return;const o=At(t.rtl,this.left,this.width),r=this.ctx,a=e.position,l=s.size/2,c=n.top+l;let h,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),h=this.top+c,d=H(t.align,d,this.right-f);else{const p=this.columnSizes.reduce((g,m)=>Math.max(g,m.height),0);h=c+H(t.align,this.top,this.bottom-p-t.labels.padding-this._computeTitleHeight())}const u=H(a,d,d+f);r.textAlign=o.textAlign(hi(a)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=s.string,ee(r,e.text,u,h,s)}_computeTitleHeight(){const t=this.options.title,e=V(t.font),s=q(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(ct(t,this.left,this.right)&&ct(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>r.length?o:r)),t+e.size/2+s.measureText(n).width}function ic(i,t,e){let s=i;return typeof t.text!="string"&&(s=In(t,e)),s}function In(i,t){const e=i.text?i.text.length:0;return t*e}function sc(i,t){return!!((i==="mousemove"||i==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(i==="click"||i==="mouseup"))}var Lc={id:"legend",_element:Ms,start(i,t,e){const s=i.legend=new Ms({ctx:i.ctx,options:e,chart:i});K.configure(i,s,e),K.addBox(i,s)},stop(i){K.removeBox(i,i.legend),delete i.legend},beforeUpdate(i,t,e){const s=i.legend;K.configure(i,s,e),s.options=e},afterUpdate(i){const t=i.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(i,t){t.replay||i.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(i,t,e){const s=t.datasetIndex,n=e.chart;n.isDatasetVisible(s)?(n.hide(s),t.hidden=!0):(n.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:i=>i.chart.options.color,boxWidth:40,padding:10,generateLabels(i){const t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o,useBorderRadius:r,borderRadius:a}}=i.legend.options;return i._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(e?0:void 0),h=q(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}};class Fn extends ut{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const n=z(s.text)?s.text.length:1;this._padding=q(s.padding);const o=n*V(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:s,bottom:n,right:o,options:r}=this,a=r.align;let l=0,c,h,d;return this.isHorizontal()?(h=H(a,s,o),d=e+t,c=o-s):(r.position==="left"?(h=s+t,d=H(a,n,e),l=E*-.5):(h=o-t,d=H(a,e,n),l=E*.5),c=n-e),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const s=V(e.font),o=s.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);ee(t,e.text,0,0,s,{color:e.color,maxWidth:l,rotation:c,textAlign:hi(e.align),textBaseline:"middle",translation:[r,a]})}}function nc(i,t){const e=new Fn({ctx:i.ctx,options:t,chart:i});K.configure(i,e,t),K.addBox(i,e),i.titleBlock=e}var Ic={id:"title",_element:Fn,start(i,t,e){nc(i,e)},stop(i){const t=i.titleBlock;K.removeBox(i,t),delete i.titleBlock},beforeUpdate(i,t,e){const s=i.titleBlock;K.configure(i,s,e),s.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Yt={average(i){if(!i.length)return!1;let t,e,s=new Set,n=0,o=0;for(t=0,e=i.length;ta+l)/s.size,y:n/o}},nearest(i,t){if(!i.length)return!1;let e=t.x,s=t.y,n=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=i.length;o-1?i.split(` `):i}function oc(i,t){const{element:e,datasetIndex:s,index:n}=t,o=i.getDatasetMeta(s).controller,{label:r,value:a}=o.getLabelAndValue(n);return{chart:i,label:r,parsed:o.getParsed(n),raw:i.data.datasets[s].data[n],formattedValue:a,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:e}}function Ps(i,t){const e=i.chart.ctx,{body:s,footer:n,title:o}=i,{boxWidth:r,boxHeight:a}=t,l=V(t.bodyFont),c=V(t.titleFont),h=V(t.footerFont),d=o.length,f=n.length,u=s.length,p=q(t.padding);let g=p.height,m=0,b=s.reduce((v,_)=>v+_.before.length+_.lines.length+_.after.length,0);if(b+=i.beforeBody.length+i.afterBody.length,d&&(g+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),b){const v=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;g+=u*v+(b-u)*l.lineHeight+(b-1)*t.bodySpacing}f&&(g+=t.footerMarginTop+f*h.lineHeight+(f-1)*t.footerSpacing);let x=0;const y=function(v){m=Math.max(m,e.measureText(v).width+x)};return e.save(),e.font=c.string,L(i.title,y),e.font=l.string,L(i.beforeBody.concat(i.afterBody),y),x=t.displayColors?r+2+t.boxPadding:0,L(s,v=>{L(v.before,y),L(v.lines,y),L(v.after,y)}),x=0,e.font=h.string,L(i.footer,y),e.restore(),m+=p.width,{width:m,height:g}}function rc(i,t){const{y:e,height:s}=t;return ei.height-s/2?"bottom":"center"}function ac(i,t,e,s){const{x:n,width:o}=s,r=e.caretSize+e.caretPadding;if(i==="left"&&n+o+r>t.width||i==="right"&&n-o-r<0)return!0}function lc(i,t,e,s){const{x:n,width:o}=e,{width:r,chartArea:{left:a,right:l}}=i;let c="center";return s==="center"?c=n<=(a+l)/2?"left":"right":n<=o/2?c="left":n>=r-o/2&&(c="right"),ac(c,i,t,e)&&(c="center"),c}function Ds(i,t,e){const s=e.yAlign||t.yAlign||rc(i,e);return{xAlign:e.xAlign||t.xAlign||lc(i,t,e,s),yAlign:s}}function cc(i,t){let{x:e,width:s}=i;return t==="right"?e-=s:t==="center"&&(e-=s/2),e}function hc(i,t,e){let{y:s,height:n}=i;return t==="top"?s+=e:t==="bottom"?s-=n+e:s-=n/2,s}function Os(i,t,e,s){const{caretSize:n,caretPadding:o,cornerRadius:r}=i,{xAlign:a,yAlign:l}=e,c=n+o,{topLeft:h,topRight:d,bottomLeft:f,bottomRight:u}=Tt(r);let p=cc(t,a);const g=hc(t,l,c);return l==="center"?a==="left"?p+=c:a==="right"&&(p-=c):a==="left"?p-=Math.max(h,f)+n:a==="right"&&(p+=Math.max(d,u)+n),{x:Y(p,0,s.width-t.width),y:Y(g,0,s.height-t.height)}}function _e(i,t,e){const s=q(e.padding);return t==="center"?i.x+i.width/2:t==="right"?i.x+i.width-s.right:i.x+s.left}function Cs(i){return tt([],rt(i))}function dc(i,t,e){return Mt(i,{tooltip:t,tooltipItems:e,type:"tooltip"})}function Ts(i,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?i.override(e):i}const Rn={beforeTitle:nt,title(i){if(i.length>0){const t=i[0],e=t.chart.data.labels,s=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndex"u"?Rn[t].call(e,s):n}class As extends ut{static positioners=Yt;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,s=this.options.setContext(this.getContext()),n=s.enabled&&e.options.animation&&s.animations,o=new mn(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=dc(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:s}=e,n=j(s,"beforeTitle",this,t),o=j(s,"title",this,t),r=j(s,"afterTitle",this,t);let a=[];return a=tt(a,rt(n)),a=tt(a,rt(o)),a=tt(a,rt(r)),a}getBeforeBody(t,e){return Cs(j(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:s}=e,n=[];return L(t,o=>{const r={before:[],lines:[],after:[]},a=Ts(s,o);tt(r.before,rt(j(a,"beforeLabel",this,o))),tt(r.lines,j(a,"label",this,o)),tt(r.after,rt(j(a,"afterLabel",this,o))),n.push(r)}),n}getAfterBody(t,e){return Cs(j(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:s}=e,n=j(s,"beforeFooter",this,t),o=j(s,"footer",this,t),r=j(s,"afterFooter",this,t);let a=[];return a=tt(a,rt(n)),a=tt(a,rt(o)),a=tt(a,rt(r)),a}_createItems(t){const e=this._active,s=this.chart.data,n=[],o=[],r=[];let a=[],l,c;for(l=0,c=e.length;lt.filter(h,d,f,s))),t.itemSort&&(a=a.sort((h,d)=>t.itemSort(h,d,s))),L(a,h=>{const d=Ts(t.callbacks,h);n.push(j(d,"labelColor",this,h)),o.push(j(d,"labelPointStyle",this,h)),r.push(j(d,"labelTextColor",this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,e){const s=this.options.setContext(this.getContext()),n=this._active;let o,r=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{const a=Yt[s.position].call(this,n,this._eventPosition);r=this._createItems(s),this.title=this.getTitle(r,s),this.beforeBody=this.getBeforeBody(r,s),this.body=this.getBody(r,s),this.afterBody=this.getAfterBody(r,s),this.footer=this.getFooter(r,s);const l=this._size=Ps(this,s),c=Object.assign({},a,l),h=Ds(this.chart,s,c),d=Os(s,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,s,n){const o=this.getCaretPosition(t,s,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,s){const{xAlign:n,yAlign:o}=this,{caretSize:r,cornerRadius:a}=s,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:d}=Tt(a),{x:f,y:u}=t,{width:p,height:g}=e;let m,b,x,y,v,_;return o==="center"?(v=u+g/2,n==="left"?(m=f,b=m-r,y=v+r,_=v-r):(m=f+p,b=m+r,y=v-r,_=v+r),x=m):(n==="left"?b=f+Math.max(l,h)+r:n==="right"?b=f+p-Math.max(c,d)-r:b=this.caretX,o==="top"?(y=u,v=y-r,m=b-r,x=b+r):(y=u+g,v=y+r,m=b+r,x=b-r),_=y),{x1:m,x2:b,x3:x,y1:y,y2:v,y3:_}}drawTitle(t,e,s){const n=this.title,o=n.length;let r,a,l;if(o){const c=At(s.rtl,this.x,this.width);for(t.x=_e(this,s.titleAlign,s),e.textAlign=c.textAlign(s.titleAlign),e.textBaseline="middle",r=V(s.titleFont),a=s.titleSpacing,e.fillStyle=s.titleColor,e.font=r.string,l=0;lx!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Pe(t,{x:g,y:p,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Pe(t,{x:m,y:p+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(g,p,c,l),t.strokeRect(g,p,c,l),t.fillStyle=r.backgroundColor,t.fillRect(m,p+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,e,s){const{body:n}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:h}=s,d=V(s.bodyFont);let f=d.lineHeight,u=0;const p=At(s.rtl,this.x,this.width),g=function(k){e.fillText(k,p.x(t.x+u),t.y+f/2),t.y+=f+o},m=p.textAlign(r);let b,x,y,v,_,w,S;for(e.textAlign=r,e.textBaseline="middle",e.font=d.string,t.x=_e(this,m,s),e.fillStyle=s.bodyColor,L(this.beforeBody,g),u=a&&m!=="right"?r==="center"?c/2+h:c+2+h:0,v=0,w=n.length;v0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,s=this.$animations,n=s&&s.x,o=s&&s.y;if(n||o){const r=Yt[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=Ps(this,t),l=Object.assign({},r,this._size),c=Ds(e,t,l),h=Os(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let s=this.opacity;if(!s)return;this._updateAnimationTarget(e);const n={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;const r=q(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,n,e),hn(t,e.textDirection),o.y+=r.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),dn(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const s=this._active,n=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Se(s,n),r=this._positionChanged(n,e);(o||r)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,s=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const n=this.options,o=this._active||[],r=this._getActiveElements(t,o,e,s),a=this._positionChanged(r,t),l=e||!Se(r,o)||a;return l&&(this._active=r,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,s,n){const o=this.options;if(t.type==="mouseout")return[];if(!n)return e.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const r=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&r.reverse(),r}_positionChanged(t,e){const{caretX:s,caretY:n,options:o}=this,r=Yt[o.position].call(this,t,e);return r!==!1&&(s!==r.x||n!==r.y)}}var Fc={id:"tooltip",_element:As,positioners:Yt,afterInit(i,t,e){e&&(i.tooltip=new As({chart:i,options:e}))},beforeUpdate(i,t,e){i.tooltip&&i.tooltip.initialize(e)},reset(i,t,e){i.tooltip&&i.tooltip.initialize(e)},afterDraw(i){const t=i.tooltip;if(t&&t._willRender()){const e={tooltip:t};if(i.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(i.ctx),i.notifyPlugins("afterTooltipDraw",e)}},afterEvent(i,t){if(i.tooltip){const e=t.replay;i.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(i,t)=>t.bodyFont.size,boxWidth:(i,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rn},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:i=>i!=="filter"&&i!=="itemSort"&&i!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const fc=(i,t,e,s)=>(typeof t=="string"?(e=i.push(t)-1,s.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function uc(i,t,e,s){const n=i.indexOf(t);if(n===-1)return fc(i,t,e,s);const o=i.lastIndexOf(t);return n!==o?e:n}const gc=(i,t)=>i===null?null:Y(Math.round(i),0,t);function Ls(i){const t=this.getLabels();return i>=0&&ie.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function pc(i,t){const e=[],{bounds:n,step:o,min:r,max:a,precision:l,count:c,maxTicks:h,maxDigits:d,includeBounds:f}=i,u=o||1,p=h-1,{min:g,max:m}=t,b=!A(r),x=!A(a),y=!A(c),v=(m-g)/(d+1);let _=Oi((m-g)/p/u)*u,w,S,k,M;if(_<1e-14&&!b&&!x)return[{value:g},{value:m}];M=Math.ceil(m/_)-Math.floor(g/_),M>p&&(_=Oi(M*_/p/u)*u),A(l)||(w=Math.pow(10,l),_=Math.ceil(_*w)/w),n==="ticks"?(S=Math.floor(g/_)*_,k=Math.ceil(m/_)*_):(S=g,k=m),b&&x&&o&&Po((a-r)/o,_/1e3)?(M=Math.round(Math.min((a-r)/_,h)),_=(a-r)/M,S=r,k=a):y?(S=b?r:S,k=x?a:k,M=c-1,_=(k-S)/M):(M=(k-S)/_,Xt(M,Math.round(M),_/1e3)?M=Math.round(M):M=Math.ceil(M));const C=Math.max(Ci(_),Ci(S));w=Math.pow(10,A(l)?C:l),S=Math.round(S*w)/w,k=Math.round(k*w)/w;let D=0;for(b&&(f&&S!==r?(e.push({value:r}),Sa)break;e.push({value:T})}return x&&f&&k!==a?e.length&&Xt(e[e.length-1].value,a,Is(a,v,i))?e[e.length-1].value=a:e.push({value:a}):(!x||k===a)&&e.push({value:k}),e}function Is(i,t,{horizontal:e,minRotation:s}){const n=vt(s),o=(e?Math.sin(n):Math.cos(n))||.001,r=.75*t*(""+i).length;return Math.min(t/o,r)}class mc extends Rt{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return A(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:s}=this.getUserBounds();let{min:n,max:o}=this;const r=l=>n=e?n:l,a=l=>o=s?o:l;if(t){const l=st(n),c=st(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(n===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(n-l)}this.min=n,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:s}=t,n;return s?(n=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const n={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},o=this._range||this,r=pc(n,o);return t.bounds==="ticks"&&Do(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let e=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){const n=(s-e)/Math.max(t.length-1,1)/2;e-=n,s+=n}this._startValue=e,this._endValue=s,this._valueRange=s-e}getLabelForValue(t){return Js(t,this.chart.options.locale,this.options.ticks.format)}}class zc extends mc{static id="linear";static defaults={ticks:{callback:tn.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=W(t)?t:0,this.max=W(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,s=vt(this.options.ticks.minRotation),n=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const Fe={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},$=Object.keys(Fe);function Fs(i,t){return i-t}function Rs(i,t){if(A(t))return null;const e=i._adapter,{parser:s,round:n,isoWeekday:o}=i._parseOpts;let r=t;return typeof s=="function"&&(r=s(r)),W(r)||(r=typeof s=="string"?e.parse(r,s):e.parse(r)),r===null?null:(n&&(r=n==="week"&&(Jt(o)||o===!0)?e.startOf(r,"isoWeek",o):e.startOf(r,n)),+r)}function zs(i,t,e,s){const n=$.length;for(let o=$.indexOf(i);o=$.indexOf(e);o--){const r=$[o];if(Fe[r].common&&i._adapter.diff(n,s,r)>=t-1)return r}return $[e?$.indexOf(e):0]}function xc(i){for(let t=$.indexOf(i)+1,e=$.length;t=t?e[s]:e[n];i[o]=!0}}function _c(i,t,e,s){const n=i._adapter,o=+n.startOf(t[0].value,s),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+n.add(a,1,s))l=e[a],l>=0&&(t[l].major=!0);return t}function Bs(i,t,e){const s=[],n={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t=[]){let e=0,s=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;e=Y(e,0,r),s=Y(s,0,r),this._offsets={start:e,end:s,factor:1/(e+1+s)}}_generate(){const t=this._adapter,e=this.min,s=this.max,n=this.options,o=n.time,r=o.unit||zs(o.minUnit,e,s,this._getLabelCapacity(e)),a=P(n.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Jt(l)||l===!0,h={};let d=e,f,u;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":r),t.diff(s,e,r)>1e5*a)throw new Error(e+" and "+s+" are too far apart with stepSize of "+a+" "+r);const p=n.ticks.source==="data"&&this.getDataTimestamps();for(f=d,u=0;f+g)}getLabelForValue(t){const e=this._adapter,s=this.options.time;return s.tooltipFormat?e.format(t,s.tooltipFormat):e.format(t,s.displayFormats.datetime)}format(t,e){const n=this.options.time.displayFormats,o=this._unit,r=e||n[o];return this._adapter.format(t,r)}_tickFormatFunction(t,e,s,n){const o=this.options,r=o.ticks.callback;if(r)return I(r,[t,e,s],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&a[l],d=c&&a[c],f=s[e],u=c&&d&&f&&f.major;return this._adapter.format(t,n||(u?d:h))}generateTickLabels(t){let e,s,n;for(e=0,s=t.length;e0?a:1}getDataTimestamps(){let t=this._cache.data||[],e,s;if(t.length)return t;const n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,s=n.length;e=i[s].pos&&t<=i[n].pos&&({lo:s,hi:n}=kt(i,"pos",t)),{pos:o,time:a}=i[s],{pos:r,time:l}=i[n]):(t>=i[s].time&&t<=i[n].time&&({lo:s,hi:n}=kt(i,"time",t)),{time:o,pos:a}=i[s],{time:r,pos:l}=i[n]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class Ec extends Hs{static id="timeseries";static defaults=Hs.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=ye(e,this.min),this._tableRange=ye(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:s}=this,n=[],o=[];let r,a,l,c,h;for(r=0,a=t.length;r=e&&c<=s&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:s,pos:1}];for(r=0,a=n.length;rn-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),s=this.getLabelTimestamps();return e.length&&s.length?t=this.normalize(e.concat(s)):t=e.length?e:s,t=this._cache.all=t,t}getDecimalForValue(t){return(ye(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,s=this.getDecimalForPixel(t)/e.factor-e.end;return ye(this._table,s*this._tableRange+this._minPos,!0)}}const zn={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},yc={ariaLabel:{type:String},ariaDescribedby:{type:String}},vc={type:{type:String,required:!0},destroyDelay:{type:Number,default:0},...zn,...yc},kc=Vn[0]==="2"?(i,t)=>Object.assign(i,{attrs:t}):(i,t)=>Object.assign(i,t);function Ct(i){return Ns(i)?Ge(i):i}function Sc(i){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:i;return Ns(t)?new Proxy(i,{}):i}function wc(i,t){const e=i.options;e&&t&&Object.assign(e,t)}function En(i,t){i.labels=t}function Bn(i,t,e){const s=[];i.datasets=t.map(n=>{const o=i.datasets.find(r=>r[e]===n[e]);return!o||!n.data||s.includes(o)?{...n}:(s.push(o),Object.assign(o,n),o)})}function Mc(i,t){const e={labels:[],datasets:[]};return En(e,i.labels),Bn(e,i.datasets,t),e}const Pc=Vs({props:vc,setup(i,t){let{expose:e,slots:s}=t;const n=Wn(null),o=Ws(null);e({chart:o});const r=()=>{if(!n.value)return;const{type:c,data:h,options:d,plugins:f,datasetIdKey:u}=i,p=Mc(h,u),g=Sc(p,h);o.value=new _i(n.value,{type:c,data:g,options:{...d},plugins:f})},a=()=>{const c=Ge(o.value);c&&(i.destroyDelay>0?setTimeout(()=>{c.destroy(),o.value=null},i.destroyDelay):(c.destroy(),o.value=null))},l=c=>{c.update(i.updateMode)};return Nn(r),jn(a),$n([()=>i.options,()=>i.data],(c,h)=>{let[d,f]=c,[u,p]=h;const g=Ge(o.value);if(!g)return;let m=!1;if(d){const b=Ct(d),x=Ct(u);b&&b!==x&&(wc(g,b),m=!0)}if(f){const b=Ct(f.labels),x=Ct(p.labels),y=Ct(f.datasets),v=Ct(p.datasets);b!==x&&(En(g.config.data,b),m=!0),y&&y!==v&&(Bn(g.config.data,y,i.datasetIdKey),m=!0)}m&&Yn(()=>{l(g)})},{deep:!0}),()=>qe("canvas",{role:"img",ariaLabel:i.ariaLabel,ariaDescribedby:i.ariaDescribedby,ref:n},[qe("p",{},[s.default?s.default():""])])}});function Hn(i,t){return _i.register(t),Vs({props:zn,setup(e,s){let{expose:n}=s;const o=Ws(null),r=a=>{o.value=a?.chart};return n({chart:o}),()=>qe(Pc,kc({ref:r},{type:i,...e}))}})}const Bc=Hn("bar",ca),Hc=Hn("line",ha);export{Tc as B,_i as C,yi as L,Cc as P,ca as a,ha as b,zc as c,Ic as d,Fc as e,Rc as f,Hc as g,Bc as h,Ac as i,Lc as p}; diff --git a/src/static/dist/WGDashboardAdmin/assets/index-ElUmKQXl.js b/src/static/dist/WGDashboardAdmin/assets/index-CdiRYBaa.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/index-ElUmKQXl.js rename to src/static/dist/WGDashboardAdmin/assets/index-CdiRYBaa.js index 83e6aa9f..987005c7 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-ElUmKQXl.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-CdiRYBaa.js @@ -1 +1 @@ -import{r as w,o as L,c,a as t,b as s,d as h,e as v,t as b,f as a,_ as $,D as y,w as i,T as M,n as k,u as H,g as T,G as N,W as G,h as _,F as A,i as D,j as x,k as S,l as W,S as V}from"./index-DYYtDSji.js";import{L as m}from"./localeText-Cd7vLnRM.js";import{M as I}from"./message-BaA47ykS.js";import"./dayjs.min-WRW_FTL4.js";const O={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},U={class:"container d-flex h-100 w-100"},j={class:"m-auto modal-dialog-centered dashboardModal"},z={class:"card rounded-3 shadow flex-grow-1"},B={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},R={class:"mb-0"},F={class:"card-body px-4 pb-4 d-flex flex-column gap-2"},q={class:"card text-decoration-none",target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm"},E={class:"card-body d-flex gap-4 align-items-center"},J={class:"d-flex align-items-center"},P={class:"badge rounded-pill text-bg-primary ms-2"},Y={key:0,class:"spinner-border spinner-border-sm",style:{width:"0.7rem",height:"0.7rem"}},K={key:1},Q={class:"text-muted"},X={class:"card text-decoration-none",href:"https://docs.wgdashboard.dev/",target:"_blank"},Z={class:"card-body d-flex gap-4 align-items-center"},tt={class:"mb-0"},et={class:"text-muted"},st={__name:"helpModal",setup(l){const e=w(!0),g=w(void 0);return L(()=>{e.value=!0,fetch("https://discord.com/api/guilds/1276818723637956628/widget.json").then(d=>d.json()).then(d=>{g.value=d,e.value=!1}).catch(()=>{e.value=!1})}),(d,n)=>(a(),c("div",O,[t("div",U,[t("div",j,[t("div",z,[t("div",B,[t("h4",R,[s(m,{t:"Help"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:n[0]||(n[0]=r=>d.$emit("close"))})]),t("div",F,[t("a",q,[t("div",E,[n[3]||(n[3]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-discord"})],-1)),t("div",null,[t("div",J,[n[2]||(n[2]=t("h5",{class:"mb-0"}," Discord Server ",-1)),t("span",P,[e.value?(a(),c("span",Y)):h("",!0),g.value!==void 0&&!e.value?(a(),c("span",K,[n[1]||(n[1]=t("i",{class:"bi bi-person-fill me-2"},null,-1)),v(b(g.value.presence_count)+" Online ",1)])):h("",!0)])]),t("small",Q,[s(m,{t:"Join our Discord server for quick help or chat about WGDashboard!"})])])])]),t("a",X,[t("div",Z,[n[4]||(n[4]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-hash"})],-1)),t("div",null,[t("h5",tt,[s(m,{t:"Official Documentation"})]),t("small",et,[s(m,{t:"Official documentation contains User Guides and more..."})])])])])])])])])]))}},ot={key:"header",class:"shadow"},at={class:"p-3 d-flex gap-2 flex-column"},nt={class:"d-flex text-body"},it={class:"d-flex flex-column align-items-start gap-1"},lt={class:"mb-0"},rt={class:"mb-0"},dt={class:"list-group"},ct={href:"https://docs.wgdashboard.dev/",target:"_blank",class:"list-group-item list-group-item-action d-flex align-items-center"},ut={target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm",class:"list-group-item list-group-item-action d-flex align-items-center"},mt={__name:"agentModal",emits:["close"],setup(l,{emit:e}){const g=e,d=y();return(n,r)=>(a(),c("div",{class:k(["agentContainer m-2 rounded-3 d-flex flex-column text-body",{enabled:H(d).HelpAgent.Enable}])},[s(M,{name:"agent-message"},{default:i(()=>[t("div",ot,[t("div",at,[t("div",nt,[t("div",it,[t("h5",lt,[s(m,{t:"Help"})])]),t("a",{role:"button",class:"ms-auto text-body",onClick:r[0]||(r[0]=o=>g("close"))},[...r[1]||(r[1]=[t("h5",{class:"mb-0"},[t("i",{class:"bi bi-x-lg"})],-1)])])]),t("p",rt,[s(m,{t:"You can visit our: "})]),t("div",dt,[t("a",ct,[r[2]||(r[2]=t("i",{class:"bi bi-book-fill"},null,-1)),s(m,{class:"ms-auto",t:"Official Documentation"})]),t("a",ut,[r[3]||(r[3]=t("i",{class:"bi bi-discord"},null,-1)),s(m,{class:"ms-auto",t:"Discord Server"})])])])])]),_:1})],2))}},gt=$(mt,[["__scopeId","data-v-f37f608d"]]),ft={name:"navbar",components:{HelpModal:st,LocaleText:m,AgentModal:gt},setup(){const l=G(),e=y();return{wireguardConfigurationsStore:l,dashboardConfigurationStore:e}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:"",openHelpModal:!1,openAgentModal:!1}},computed:{getActiveCrossServer(){if(this.dashboardConfigurationStore.ActiveServerConfiguration)return new URL(this.dashboardConfigurationStore.CrossServerConfiguration.ServerList[this.dashboardConfigurationStore.ActiveServerConfiguration].host)}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),await T("/api/getDashboardUpdate",{},l=>{l.status?(l.data&&(this.updateAvailable=!0,this.updateUrl=l.data),this.updateMessage=l.message):(this.updateMessage=N("Failed to check available update"),console.log(`Failed to get update: ${l.message}`))}),this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)}},_t=["data-bs-theme"],pt={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},vt={class:"sidebar-sticky"},bt={class:"text-white text-center m-0 py-3 mb-2 btn-brand"},ht={key:0,class:"ms-auto"},xt={class:"nav flex-column px-2 gap-1"},Ct={class:"nav-item"},kt={class:"nav-item"},St={class:"nav-item"},$t={class:"nav-item"},yt={class:"nav-item"},wt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Mt={class:"nav flex-column px-2 gap-1"},At={class:"nav-item"},Dt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Lt={class:"nav flex-column px-2 gap-1"},Ht={class:"nav-item"},Tt={class:"nav-item"},Nt={class:"nav-item"},Gt={class:"nav flex-column px-2 mb-3"},Wt={class:"nav-item"},Vt={class:"nav-item",style:{"font-size":"0.8rem"}},It=["href"],Ot={class:"nav-link text-muted rounded-3"},Ut={key:1,class:"nav-link text-muted rounded-3"};function jt(l,e,g,d,n,r){const o=_("LocaleText"),u=_("RouterLink"),C=_("HelpModal"),p=_("AgentModal");return a(),c("div",{class:k(["col-md-3 col-lg-2 d-md-block p-2 navbar-container bg-transparent",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":d.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("nav",pt,[t("div",vt,[t("div",bt,[e[5]||(e[5]=t("h5",{class:"mb-0"}," WGDashboard ",-1)),r.getActiveCrossServer!==void 0?(a(),c("small",ht,[e[4]||(e[4]=t("i",{class:"bi bi-hdd-rack-fill me-2"},null,-1)),v(b(r.getActiveCrossServer.host),1)])):h("",!0)]),t("ul",xt,[t("li",Ct,[s(u,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:i(()=>[e[6]||(e[6]=t("i",{class:"bi bi-house me-2"},null,-1)),s(o,{t:"Home"})]),_:1})]),t("li",kt,[s(u,{class:"nav-link rounded-3",to:"/settings","active-class":"active"},{default:i(()=>[e[7]||(e[7]=t("i",{class:"bi bi-gear me-2"},null,-1)),s(o,{t:"Settings"})]),_:1})]),t("li",St,[s(u,{class:"nav-link rounded-3",to:"/clients","active-class":"active"},{default:i(()=>[e[8]||(e[8]=t("i",{class:"bi bi-people me-2"},null,-1)),s(o,{t:"Clients"})]),_:1})]),t("li",$t,[s(u,{class:"nav-link rounded-3",to:"/webhooks","active-class":"active"},{default:i(()=>[e[9]||(e[9]=t("i",{class:"bi bi-postcard me-2"},null,-1)),s(o,{t:"Webhooks"})]),_:1})]),t("li",yt,[t("a",{class:"nav-link rounded-3",role:"button",onClick:e[0]||(e[0]=f=>n.openAgentModal=!0)},[e[10]||(e[10]=t("i",{class:"bi bi-question-circle me-2"},null,-1)),s(o,{t:"Help"})])])]),e[13]||(e[13]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",wt,[s(o,{t:"WireGuard Configurations"})]),t("ul",Mt,[(a(!0),c(A,null,D(this.wireguardConfigurationsStore.sortConfigurations,f=>(a(),c("li",At,[s(u,{to:"/configuration/"+f.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:i(()=>[t("span",{class:k(["dot me-2",{active:f.Status}])},null,2),v(" "+b(f.Name),1)]),_:2},1032,["to"])]))),256))]),e[14]||(e[14]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",Dt,[s(o,{t:"Tools"})]),t("ul",Lt,[t("li",Ht,[s(u,{to:"/system_status",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"System Status"})]),_:1})]),t("li",Tt,[s(u,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Ping"})]),_:1})]),t("li",Nt,[s(u,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Traceroute"})]),_:1})])]),e[15]||(e[15]=t("hr",{class:"text-body my-2"},null,-1)),t("ul",Gt,[t("li",Wt,[t("a",{class:"nav-link text-danger rounded-3",onClick:e[1]||(e[1]=f=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[e[11]||(e[11]=t("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),s(o,{t:"Sign Out"})])]),t("li",Vt,[this.updateAvailable?(a(),c("a",{key:0,href:this.updateUrl,class:"text-decoration-none rounded-3",target:"_blank"},[t("small",Ot,[s(o,{t:this.updateMessage},null,8,["t"]),e[12]||(e[12]=v(" (",-1)),s(o,{t:"Current Version:"}),v(" "+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)])],8,It)):(a(),c("small",Ut,[s(o,{t:this.updateMessage},null,8,["t"]),v(" ("+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)]))])])])]),s(S,{name:"zoom"},{default:i(()=>[this.openHelpModal?(a(),x(C,{key:0,onClose:e[2]||(e[2]=f=>{n.openHelpModal=!1})})):h("",!0)]),_:1}),s(S,{name:"slideIn"},{default:i(()=>[this.openAgentModal?(a(),x(p,{key:0,onClose:e[3]||(e[3]=f=>n.openAgentModal=!1)})):h("",!0)]),_:1})],10,_t)}const zt=$(ft,[["render",jt],["__scopeId","data-v-982f1a52"]]),Bt={name:"index",components:{Message:I,Navbar:zt},async setup(){return{dashboardConfigurationStore:y()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(l=>l.show)}}},Rt=["data-bs-theme"],Ft={class:"row h-100"},qt={class:"col-md-9 col-lg-10 overflow-y-scroll mb-0 pt-2"},Et={class:"messageCentre text-body position-absolute d-flex"};function Jt(l,e,g,d,n,r){const o=_("Navbar"),u=_("RouterView"),C=_("Message");return a(),c("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("div",Ft,[s(o),t("main",qt,[(a(),x(V,null,{default:i(()=>[s(u,null,{default:i(({Component:p})=>[s(S,{name:"fade2",mode:"out-in",appear:""},{default:i(()=>[(a(),x(W(p)))]),_:2},1024)]),_:1})]),_:1})),t("div",Et,[s(M,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:i(()=>[(a(!0),c(A,null,D(r.getMessages.slice().reverse(),p=>(a(),x(C,{message:p,key:p.id},null,8,["message"]))),128))]),_:1})])])])],8,Rt)}const Xt=$(Bt,[["render",Jt],["__scopeId","data-v-0c6a5068"]]);export{Xt as default}; +import{r as w,o as L,c,a as t,b as s,d as h,e as v,t as b,f as a,_ as $,D as y,w as i,T as M,n as k,u as H,g as T,G as N,W as G,h as _,F as A,i as D,j as x,k as S,l as W,S as V}from"./index-Y3pG9DoR.js";import{L as m}from"./localeText-DcQapG1o.js";import{M as I}from"./message-Dp2AlOJm.js";import"./dayjs.min-BxkQs1mo.js";const O={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},U={class:"container d-flex h-100 w-100"},j={class:"m-auto modal-dialog-centered dashboardModal"},z={class:"card rounded-3 shadow flex-grow-1"},B={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},R={class:"mb-0"},F={class:"card-body px-4 pb-4 d-flex flex-column gap-2"},q={class:"card text-decoration-none",target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm"},E={class:"card-body d-flex gap-4 align-items-center"},J={class:"d-flex align-items-center"},P={class:"badge rounded-pill text-bg-primary ms-2"},Y={key:0,class:"spinner-border spinner-border-sm",style:{width:"0.7rem",height:"0.7rem"}},K={key:1},Q={class:"text-muted"},X={class:"card text-decoration-none",href:"https://docs.wgdashboard.dev/",target:"_blank"},Z={class:"card-body d-flex gap-4 align-items-center"},tt={class:"mb-0"},et={class:"text-muted"},st={__name:"helpModal",setup(l){const e=w(!0),g=w(void 0);return L(()=>{e.value=!0,fetch("https://discord.com/api/guilds/1276818723637956628/widget.json").then(d=>d.json()).then(d=>{g.value=d,e.value=!1}).catch(()=>{e.value=!1})}),(d,n)=>(a(),c("div",O,[t("div",U,[t("div",j,[t("div",z,[t("div",B,[t("h4",R,[s(m,{t:"Help"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:n[0]||(n[0]=r=>d.$emit("close"))})]),t("div",F,[t("a",q,[t("div",E,[n[3]||(n[3]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-discord"})],-1)),t("div",null,[t("div",J,[n[2]||(n[2]=t("h5",{class:"mb-0"}," Discord Server ",-1)),t("span",P,[e.value?(a(),c("span",Y)):h("",!0),g.value!==void 0&&!e.value?(a(),c("span",K,[n[1]||(n[1]=t("i",{class:"bi bi-person-fill me-2"},null,-1)),v(b(g.value.presence_count)+" Online ",1)])):h("",!0)])]),t("small",Q,[s(m,{t:"Join our Discord server for quick help or chat about WGDashboard!"})])])])]),t("a",X,[t("div",Z,[n[4]||(n[4]=t("h1",{class:"mb-0"},[t("i",{class:"bi bi-hash"})],-1)),t("div",null,[t("h5",tt,[s(m,{t:"Official Documentation"})]),t("small",et,[s(m,{t:"Official documentation contains User Guides and more..."})])])])])])])])])]))}},ot={key:"header",class:"shadow"},at={class:"p-3 d-flex gap-2 flex-column"},nt={class:"d-flex text-body"},it={class:"d-flex flex-column align-items-start gap-1"},lt={class:"mb-0"},rt={class:"mb-0"},dt={class:"list-group"},ct={href:"https://docs.wgdashboard.dev/",target:"_blank",class:"list-group-item list-group-item-action d-flex align-items-center"},ut={target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm",class:"list-group-item list-group-item-action d-flex align-items-center"},mt={__name:"agentModal",emits:["close"],setup(l,{emit:e}){const g=e,d=y();return(n,r)=>(a(),c("div",{class:k(["agentContainer m-2 rounded-3 d-flex flex-column text-body",{enabled:H(d).HelpAgent.Enable}])},[s(M,{name:"agent-message"},{default:i(()=>[t("div",ot,[t("div",at,[t("div",nt,[t("div",it,[t("h5",lt,[s(m,{t:"Help"})])]),t("a",{role:"button",class:"ms-auto text-body",onClick:r[0]||(r[0]=o=>g("close"))},[...r[1]||(r[1]=[t("h5",{class:"mb-0"},[t("i",{class:"bi bi-x-lg"})],-1)])])]),t("p",rt,[s(m,{t:"You can visit our: "})]),t("div",dt,[t("a",ct,[r[2]||(r[2]=t("i",{class:"bi bi-book-fill"},null,-1)),s(m,{class:"ms-auto",t:"Official Documentation"})]),t("a",ut,[r[3]||(r[3]=t("i",{class:"bi bi-discord"},null,-1)),s(m,{class:"ms-auto",t:"Discord Server"})])])])])]),_:1})],2))}},gt=$(mt,[["__scopeId","data-v-f37f608d"]]),ft={name:"navbar",components:{HelpModal:st,LocaleText:m,AgentModal:gt},setup(){const l=G(),e=y();return{wireguardConfigurationsStore:l,dashboardConfigurationStore:e}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:"",openHelpModal:!1,openAgentModal:!1}},computed:{getActiveCrossServer(){if(this.dashboardConfigurationStore.ActiveServerConfiguration)return new URL(this.dashboardConfigurationStore.CrossServerConfiguration.ServerList[this.dashboardConfigurationStore.ActiveServerConfiguration].host)}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),await T("/api/getDashboardUpdate",{},l=>{l.status?(l.data&&(this.updateAvailable=!0,this.updateUrl=l.data),this.updateMessage=l.message):(this.updateMessage=N("Failed to check available update"),console.log(`Failed to get update: ${l.message}`))}),this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)}},_t=["data-bs-theme"],pt={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},vt={class:"sidebar-sticky"},bt={class:"text-white text-center m-0 py-3 mb-2 btn-brand"},ht={key:0,class:"ms-auto"},xt={class:"nav flex-column px-2 gap-1"},Ct={class:"nav-item"},kt={class:"nav-item"},St={class:"nav-item"},$t={class:"nav-item"},yt={class:"nav-item"},wt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Mt={class:"nav flex-column px-2 gap-1"},At={class:"nav-item"},Dt={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Lt={class:"nav flex-column px-2 gap-1"},Ht={class:"nav-item"},Tt={class:"nav-item"},Nt={class:"nav-item"},Gt={class:"nav flex-column px-2 mb-3"},Wt={class:"nav-item"},Vt={class:"nav-item",style:{"font-size":"0.8rem"}},It=["href"],Ot={class:"nav-link text-muted rounded-3"},Ut={key:1,class:"nav-link text-muted rounded-3"};function jt(l,e,g,d,n,r){const o=_("LocaleText"),u=_("RouterLink"),C=_("HelpModal"),p=_("AgentModal");return a(),c("div",{class:k(["col-md-3 col-lg-2 d-md-block p-2 navbar-container bg-transparent",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":d.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("nav",pt,[t("div",vt,[t("div",bt,[e[5]||(e[5]=t("h5",{class:"mb-0"}," WGDashboard ",-1)),r.getActiveCrossServer!==void 0?(a(),c("small",ht,[e[4]||(e[4]=t("i",{class:"bi bi-hdd-rack-fill me-2"},null,-1)),v(b(r.getActiveCrossServer.host),1)])):h("",!0)]),t("ul",xt,[t("li",Ct,[s(u,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:i(()=>[e[6]||(e[6]=t("i",{class:"bi bi-house me-2"},null,-1)),s(o,{t:"Home"})]),_:1})]),t("li",kt,[s(u,{class:"nav-link rounded-3",to:"/settings","active-class":"active"},{default:i(()=>[e[7]||(e[7]=t("i",{class:"bi bi-gear me-2"},null,-1)),s(o,{t:"Settings"})]),_:1})]),t("li",St,[s(u,{class:"nav-link rounded-3",to:"/clients","active-class":"active"},{default:i(()=>[e[8]||(e[8]=t("i",{class:"bi bi-people me-2"},null,-1)),s(o,{t:"Clients"})]),_:1})]),t("li",$t,[s(u,{class:"nav-link rounded-3",to:"/webhooks","active-class":"active"},{default:i(()=>[e[9]||(e[9]=t("i",{class:"bi bi-postcard me-2"},null,-1)),s(o,{t:"Webhooks"})]),_:1})]),t("li",yt,[t("a",{class:"nav-link rounded-3",role:"button",onClick:e[0]||(e[0]=f=>n.openAgentModal=!0)},[e[10]||(e[10]=t("i",{class:"bi bi-question-circle me-2"},null,-1)),s(o,{t:"Help"})])])]),e[13]||(e[13]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",wt,[s(o,{t:"WireGuard Configurations"})]),t("ul",Mt,[(a(!0),c(A,null,D(this.wireguardConfigurationsStore.sortConfigurations,f=>(a(),c("li",At,[s(u,{to:"/configuration/"+f.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:i(()=>[t("span",{class:k(["dot me-2",{active:f.Status}])},null,2),v(" "+b(f.Name),1)]),_:2},1032,["to"])]))),256))]),e[14]||(e[14]=t("hr",{class:"text-body my-2"},null,-1)),t("h6",Dt,[s(o,{t:"Tools"})]),t("ul",Lt,[t("li",Ht,[s(u,{to:"/system_status",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"System Status"})]),_:1})]),t("li",Tt,[s(u,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Ping"})]),_:1})]),t("li",Nt,[s(u,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:i(()=>[s(o,{t:"Traceroute"})]),_:1})])]),e[15]||(e[15]=t("hr",{class:"text-body my-2"},null,-1)),t("ul",Gt,[t("li",Wt,[t("a",{class:"nav-link text-danger rounded-3",onClick:e[1]||(e[1]=f=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[e[11]||(e[11]=t("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),s(o,{t:"Sign Out"})])]),t("li",Vt,[this.updateAvailable?(a(),c("a",{key:0,href:this.updateUrl,class:"text-decoration-none rounded-3",target:"_blank"},[t("small",Ot,[s(o,{t:this.updateMessage},null,8,["t"]),e[12]||(e[12]=v(" (",-1)),s(o,{t:"Current Version:"}),v(" "+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)])],8,It)):(a(),c("small",Ut,[s(o,{t:this.updateMessage},null,8,["t"]),v(" ("+b(d.dashboardConfigurationStore.Configuration.Server.version)+") ",1)]))])])])]),s(S,{name:"zoom"},{default:i(()=>[this.openHelpModal?(a(),x(C,{key:0,onClose:e[2]||(e[2]=f=>{n.openHelpModal=!1})})):h("",!0)]),_:1}),s(S,{name:"slideIn"},{default:i(()=>[this.openAgentModal?(a(),x(p,{key:0,onClose:e[3]||(e[3]=f=>n.openAgentModal=!1)})):h("",!0)]),_:1})],10,_t)}const zt=$(ft,[["render",jt],["__scopeId","data-v-982f1a52"]]),Bt={name:"index",components:{Message:I,Navbar:zt},async setup(){return{dashboardConfigurationStore:y()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(l=>l.show)}}},Rt=["data-bs-theme"],Ft={class:"row h-100"},qt={class:"col-md-9 col-lg-10 overflow-y-scroll mb-0 pt-2"},Et={class:"messageCentre text-body position-absolute d-flex"};function Jt(l,e,g,d,n,r){const o=_("Navbar"),u=_("RouterView"),C=_("Message");return a(),c("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[t("div",Ft,[s(o),t("main",qt,[(a(),x(V,null,{default:i(()=>[s(u,null,{default:i(({Component:p})=>[s(S,{name:"fade2",mode:"out-in",appear:""},{default:i(()=>[(a(),x(W(p)))]),_:2},1024)]),_:1})]),_:1})),t("div",Et,[s(M,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:i(()=>[(a(!0),c(A,null,D(r.getMessages.slice().reverse(),p=>(a(),x(C,{message:p,key:p.id},null,8,["message"]))),128))]),_:1})])])])],8,Rt)}const Xt=$(Bt,[["render",Jt],["__scopeId","data-v-0c6a5068"]]);export{Xt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/index-DPa-4xgI.js b/src/static/dist/WGDashboardAdmin/assets/index-DLUQT8ia.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/index-DPa-4xgI.js rename to src/static/dist/WGDashboardAdmin/assets/index-DLUQT8ia.js index 02b93c94..8611a6d4 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-DPa-4xgI.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-DLUQT8ia.js @@ -1 +1 @@ -import{I as j,q as w,P as S,J as k,Q as L,u as R}from"./index-DYYtDSji.js";const W=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const X=Object.prototype.toString,Y=t=>X.call(t)==="[object Object]",$=()=>{};function C(t){return Array.isArray(t)?t:[t]}function q(t,a,r){return j(t,a,{...r,immediate:!0})}const I=W?window:void 0;function P(t){var a;const r=S(t);return(a=r?.$el)!==null&&a!==void 0?a:r}function T(...t){const a=(o,u,s,d)=>(o.addEventListener(u,s,d),()=>o.removeEventListener(u,s,d)),r=w(()=>{const o=C(S(t[0])).filter(u=>u!=null);return o.every(u=>typeof u!="string")?o:void 0});return q(()=>{var o,u;return[(o=(u=r.value)===null||u===void 0?void 0:u.map(s=>P(s)))!==null&&o!==void 0?o:[I].filter(s=>s!=null),C(S(r.value?t[1]:t[0])),C(R(r.value?t[2]:t[1])),S(r.value?t[3]:t[2])]},([o,u,s,d],p,c)=>{if(!o?.length||!u?.length||!s?.length)return;const f=Y(d)?{...d}:d,v=o.flatMap(b=>u.flatMap(h=>s.map(y=>a(b,h,y,f))));c(()=>{v.forEach(b=>b())})},{flush:"post"})}function B(t,a,r={}){const{window:o=I,ignore:u=[],capture:s=!0,detectIframe:d=!1,controls:p=!1}=r;if(!o)return p?{stop:$,cancel:$,trigger:$}:$;let c=!0;const f=e=>S(u).some(n=>{if(typeof n=="string")return Array.from(o.document.querySelectorAll(n)).some(i=>i===e.target||e.composedPath().includes(i));{const i=P(n);return i&&(e.target===i||e.composedPath().includes(i))}});function v(e){const n=S(e);return n&&n.$.subTree.shapeFlag===16}function b(e,n){const i=S(e),m=i.$.subTree&&i.$.subTree.children;return m==null||!Array.isArray(m)?!1:m.some(A=>A.el===n.target||n.composedPath().includes(A.el))}const h=e=>{const n=P(t);if(e.target!=null&&!(!(n instanceof Element)&&v(t)&&b(t,e))&&!(!n||n===e.target||e.composedPath().includes(n))){if("detail"in e&&e.detail===0&&(c=!f(e)),!c){c=!0;return}a(e)}};let y=!1;const E=[T(o,"click",e=>{y||(y=!0,setTimeout(()=>{y=!1},0),h(e))},{passive:!0,capture:s}),T(o,"pointerdown",e=>{const n=P(t);c=!f(e)&&!!(n&&!e.composedPath().includes(n))},{passive:!0}),d&&T(o,"blur",e=>{setTimeout(()=>{var n;const i=P(t);((n=o.document.activeElement)===null||n===void 0?void 0:n.tagName)==="IFRAME"&&!i?.contains(o.document.activeElement)&&a(e)},0)},{passive:!0})].filter(Boolean),x=()=>E.forEach(e=>e());return p?{stop:x,cancel:()=>{c=!1},trigger:e=>{c=!0,h(e),c=!1}}:x}function D(t,a={}){const{threshold:r=50,onSwipe:o,onSwipeEnd:u,onSwipeStart:s,passive:d=!0}=a,p=k({x:0,y:0}),c=k({x:0,y:0}),f=w(()=>p.x-c.x),v=w(()=>p.y-c.y),{max:b,abs:h}=Math,y=w(()=>b(h(f.value),h(v.value))>=r),E=L(!1),x=w(()=>y.value?h(f.value)>h(v.value)?f.value>0?"left":"right":v.value>0?"up":"down":"none"),e=l=>[l.touches[0].clientX,l.touches[0].clientY],n=(l,g)=>{p.x=l,p.y=g},i=(l,g)=>{c.x=l,c.y=g},m={passive:d,capture:!d},A=l=>{E.value&&u?.(l,x.value),E.value=!1},O=[T(t,"touchstart",l=>{if(l.touches.length!==1)return;const[g,M]=e(l);n(g,M),i(g,M),s?.(l)},m),T(t,"touchmove",l=>{if(l.touches.length!==1)return;const[g,M]=e(l);i(g,M),m.capture&&!m.passive&&Math.abs(f.value)>Math.abs(v.value)&&l.preventDefault(),!E.value&&y.value&&(E.value=!0),E.value&&o?.(l)},m),T(t,["touchend","touchcancel"],A,m)];return{isSwiping:E,direction:x,coordsStart:p,coordsEnd:c,lengthX:f,lengthY:v,stop:()=>O.forEach(l=>l())}}export{D as a,B as o,P as u}; +import{I as j,q as w,P as S,J as k,Q as L,u as R}from"./index-Y3pG9DoR.js";const W=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const X=Object.prototype.toString,Y=t=>X.call(t)==="[object Object]",$=()=>{};function C(t){return Array.isArray(t)?t:[t]}function q(t,a,r){return j(t,a,{...r,immediate:!0})}const I=W?window:void 0;function P(t){var a;const r=S(t);return(a=r?.$el)!==null&&a!==void 0?a:r}function T(...t){const a=(o,u,s,d)=>(o.addEventListener(u,s,d),()=>o.removeEventListener(u,s,d)),r=w(()=>{const o=C(S(t[0])).filter(u=>u!=null);return o.every(u=>typeof u!="string")?o:void 0});return q(()=>{var o,u;return[(o=(u=r.value)===null||u===void 0?void 0:u.map(s=>P(s)))!==null&&o!==void 0?o:[I].filter(s=>s!=null),C(S(r.value?t[1]:t[0])),C(R(r.value?t[2]:t[1])),S(r.value?t[3]:t[2])]},([o,u,s,d],p,c)=>{if(!o?.length||!u?.length||!s?.length)return;const f=Y(d)?{...d}:d,v=o.flatMap(b=>u.flatMap(h=>s.map(y=>a(b,h,y,f))));c(()=>{v.forEach(b=>b())})},{flush:"post"})}function B(t,a,r={}){const{window:o=I,ignore:u=[],capture:s=!0,detectIframe:d=!1,controls:p=!1}=r;if(!o)return p?{stop:$,cancel:$,trigger:$}:$;let c=!0;const f=e=>S(u).some(n=>{if(typeof n=="string")return Array.from(o.document.querySelectorAll(n)).some(i=>i===e.target||e.composedPath().includes(i));{const i=P(n);return i&&(e.target===i||e.composedPath().includes(i))}});function v(e){const n=S(e);return n&&n.$.subTree.shapeFlag===16}function b(e,n){const i=S(e),m=i.$.subTree&&i.$.subTree.children;return m==null||!Array.isArray(m)?!1:m.some(A=>A.el===n.target||n.composedPath().includes(A.el))}const h=e=>{const n=P(t);if(e.target!=null&&!(!(n instanceof Element)&&v(t)&&b(t,e))&&!(!n||n===e.target||e.composedPath().includes(n))){if("detail"in e&&e.detail===0&&(c=!f(e)),!c){c=!0;return}a(e)}};let y=!1;const E=[T(o,"click",e=>{y||(y=!0,setTimeout(()=>{y=!1},0),h(e))},{passive:!0,capture:s}),T(o,"pointerdown",e=>{const n=P(t);c=!f(e)&&!!(n&&!e.composedPath().includes(n))},{passive:!0}),d&&T(o,"blur",e=>{setTimeout(()=>{var n;const i=P(t);((n=o.document.activeElement)===null||n===void 0?void 0:n.tagName)==="IFRAME"&&!i?.contains(o.document.activeElement)&&a(e)},0)},{passive:!0})].filter(Boolean),x=()=>E.forEach(e=>e());return p?{stop:x,cancel:()=>{c=!1},trigger:e=>{c=!0,h(e),c=!1}}:x}function D(t,a={}){const{threshold:r=50,onSwipe:o,onSwipeEnd:u,onSwipeStart:s,passive:d=!0}=a,p=k({x:0,y:0}),c=k({x:0,y:0}),f=w(()=>p.x-c.x),v=w(()=>p.y-c.y),{max:b,abs:h}=Math,y=w(()=>b(h(f.value),h(v.value))>=r),E=L(!1),x=w(()=>y.value?h(f.value)>h(v.value)?f.value>0?"left":"right":v.value>0?"up":"down":"none"),e=l=>[l.touches[0].clientX,l.touches[0].clientY],n=(l,g)=>{p.x=l,p.y=g},i=(l,g)=>{c.x=l,c.y=g},m={passive:d,capture:!d},A=l=>{E.value&&u?.(l,x.value),E.value=!1},O=[T(t,"touchstart",l=>{if(l.touches.length!==1)return;const[g,M]=e(l);n(g,M),i(g,M),s?.(l)},m),T(t,"touchmove",l=>{if(l.touches.length!==1)return;const[g,M]=e(l);i(g,M),m.capture&&!m.passive&&Math.abs(f.value)>Math.abs(v.value)&&l.preventDefault(),!E.value&&y.value&&(E.value=!0),E.value&&o?.(l)},m),T(t,["touchend","touchcancel"],A,m)];return{isSwiping:E,direction:x,coordsStart:p,coordsEnd:c,lengthX:f,lengthY:v,stop:()=>O.forEach(l=>l())}}export{D as a,B as o,P as u}; diff --git a/src/static/dist/WGDashboardAdmin/assets/index-DYYtDSji.js b/src/static/dist/WGDashboardAdmin/assets/index-Y3pG9DoR.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/index-DYYtDSji.js rename to src/static/dist/WGDashboardAdmin/assets/index-Y3pG9DoR.js index ee407eb9..e9463937 100644 --- a/src/static/dist/WGDashboardAdmin/assets/index-DYYtDSji.js +++ b/src/static/dist/WGDashboardAdmin/assets/index-Y3pG9DoR.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-ElUmKQXl.js","assets/localeText-Cd7vLnRM.js","assets/message-BaA47ykS.js","assets/dayjs.min-WRW_FTL4.js","assets/message-Bh5W0B3y.css","assets/index-CpoCtfuw.css","assets/configurationList-BmBzibCH.js","assets/protocolBadge-DbN6X1oX.js","assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.js","assets/storageMount-wWOSNV8e.css","assets/configurationList-BKKG6ypL.css","assets/settings-yh4yZgcG.js","assets/peersDefaultSettingsInput-BuZeDfeq.js","assets/dashboardEmailSettings-BLi3ez-N.js","assets/vue-datepicker-Cw5Y4tvU.js","assets/index-DPa-4xgI.js","assets/dashboardEmailSettings-BxtXuVtX.css","assets/dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js","assets/dashboardSettingsWireguardConfigurationAutostart-D5UlSscq.css","assets/wgdashboardSettings-b-VSP6t-.js","assets/peerDefaultSettings-DrA2ujGo.js","assets/wireguardConfigurationSettings-Bz2BaANg.js","assets/ping-yn2Ok0iq.js","assets/osmap-BtV_4HvJ.js","assets/Vector-CuSZivra.js","assets/Vector-BtPuoxOl.css","assets/osmap-CsoM1fIq.css","assets/ping-DgbK5UF9.css","assets/traceroute-DW1aS4wL.js","assets/traceroute-D9mlT_ah.css","assets/newConfiguration-DKGZAANU.js","assets/index-Bno8fcdN.js","assets/galois-field-I2lBzzs-.js","assets/newConfiguration-CaR3VWG-.css","assets/restoreConfiguration-Dz1O-iX5.js","assets/restoreConfiguration-Go8Q_2zy.css","assets/systemStatus-0e9M7tEY.js","assets/index-CV5Q0a3C.js","assets/systemStatus-DdUpBwt2.css","assets/clients-B5XnFbd-.js","assets/DashboardClientAssignmentStore-DDEBJ8Q3.js","assets/clients-CfS2KUuu.css","assets/clientViewer-BYJe9WYt.js","assets/clientViewer-C5axh9P7.css","assets/dashboardWebHooks-CEc1Rq-k.js","assets/dashboardWebHooks-Dl-enc0Z.css","assets/peerList-C-bwOqvP.js","assets/peerList-Ch1hvsh1.css","assets/signin-RX8JxeCw.js","assets/signin-lFX8XtKM.css","assets/setup-DwS6cNkc.js","assets/totp-DLhlDLL5.js","assets/browser-LdOMKRZX.js","assets/share-Cyu4RGGS.js","assets/share-e5E8P3Ro.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CdiRYBaa.js","assets/localeText-DcQapG1o.js","assets/message-Dp2AlOJm.js","assets/dayjs.min-BxkQs1mo.js","assets/message-Bh5W0B3y.css","assets/index-CpoCtfuw.css","assets/configurationList-BxcibL2l.js","assets/protocolBadge-lwYXkpho.js","assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-B5X49oRk.js","assets/storageMount-wWOSNV8e.css","assets/configurationList-BKKG6ypL.css","assets/settings-BhzFABZg.js","assets/peersDefaultSettingsInput-YlpjmrgU.js","assets/dashboardEmailSettings-CL6ajYjE.js","assets/vue-datepicker-BOhP7hRx.js","assets/index-DLUQT8ia.js","assets/dashboardEmailSettings-BxtXuVtX.css","assets/dashboardSettingsWireguardConfigurationAutostart-BwdJjJa2.js","assets/dashboardSettingsWireguardConfigurationAutostart-D5UlSscq.css","assets/wgdashboardSettings-CYMvrKfB.js","assets/peerDefaultSettings-Cb9LnNCU.js","assets/wireguardConfigurationSettings-BgLqrfMb.js","assets/ping-CiEdmEgK.js","assets/osmap-B4A8sjpG.js","assets/Vector-CuSZivra.js","assets/Vector-BtPuoxOl.css","assets/osmap-CsoM1fIq.css","assets/ping-DgbK5UF9.css","assets/traceroute-DHxEwaFh.js","assets/traceroute-D9mlT_ah.css","assets/newConfiguration-BibURC0a.js","assets/index-Bno8fcdN.js","assets/galois-field-I2lBzzs-.js","assets/newConfiguration-CaR3VWG-.css","assets/restoreConfiguration-Dfib88BC.js","assets/restoreConfiguration-Go8Q_2zy.css","assets/systemStatus-DIK7qaj7.js","assets/index-BwIaVxZ8.js","assets/systemStatus-DdUpBwt2.css","assets/clients-MF_KSLm9.js","assets/DashboardClientAssignmentStore-CrCjGd3j.js","assets/clients-CfS2KUuu.css","assets/clientViewer-CUqCt68l.js","assets/clientViewer-C5axh9P7.css","assets/dashboardWebHooks-Cg2U0AKd.js","assets/dashboardWebHooks-Dl-enc0Z.css","assets/peerList-CiAY_eHF.js","assets/peerList-Ch1hvsh1.css","assets/signin-BGI8vl81.js","assets/signin-Chsxfpvk.css","assets/setup-B85K0yG_.js","assets/totp-BKkim5ML.js","assets/browser-QmM-r3j5.js","assets/share-giPKTsEU.js","assets/share-e5E8P3Ro.css"])))=>i.map(i=>d[i]); (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function mb(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Lg(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var n=function r(){var s=!1;try{s=this instanceof r}catch{}return s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}),n}var Cs={exports:{}},Qe="top",st="bottom",it="right",Je="left",Gs="auto",vr=[Qe,st,it,Je],Ln="start",or="end",Sc="clippingParents",So="viewport",Xn="popper",wc="reference",Ji=vr.reduce(function(e,t){return e.concat([t+"-"+Ln,t+"-"+or])},[]),wo=[].concat(vr,[Gs]).reduce(function(e,t){return e.concat([t,t+"-"+Ln,t+"-"+or])},[]),Oc="beforeRead",Nc="read",xc="afterRead",Rc="beforeMain",Ic="main",Dc="afterMain",Lc="beforeWrite",Pc="write",$c="afterWrite",Mc=[Oc,Nc,xc,Rc,Ic,Dc,Lc,Pc,$c];function Pt(e){return e?(e.nodeName||"").toLowerCase():null}function ot(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Pn(e){var t=ot(e).Element;return e instanceof t||e instanceof Element}function ht(e){var t=ot(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Oo(e){if(typeof ShadowRoot>"u")return!1;var t=ot(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Pg(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},s=t.attributes[n]||{},o=t.elements[n];!ht(o)||!Pt(o)||(Object.assign(o.style,r),Object.keys(s).forEach(function(a){var l=s[a];l===!1?o.removeAttribute(a):o.setAttribute(a,l===!0?"":l)}))})}function $g(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var s=t.elements[r],o=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),l=a.reduce(function(c,d){return c[d]="",c},{});!ht(s)||!Pt(s)||(Object.assign(s.style,l),Object.keys(o).forEach(function(c){s.removeAttribute(c)}))})}}const No={name:"applyStyles",enabled:!0,phase:"write",fn:Pg,effect:$g,requires:["computeStyles"]};function Lt(e){return e.split("-")[0]}var On=Math.max,Ds=Math.min,ar=Math.round;function Zi(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function kc(){return!/^((?!chrome|android).)*safari/i.test(Zi())}function lr(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),s=1,o=1;t&&ht(e)&&(s=e.offsetWidth>0&&ar(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&ar(r.height)/e.offsetHeight||1);var a=Pn(e)?ot(e):window,l=a.visualViewport,c=!kc()&&n,d=(r.left+(c&&l?l.offsetLeft:0))/s,f=(r.top+(c&&l?l.offsetTop:0))/o,h=r.width/s,p=r.height/o;return{width:h,height:p,top:f,right:d+h,bottom:f+p,left:d,x:d,y:f}}function xo(e){var t=lr(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function Vc(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Oo(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Kt(e){return ot(e).getComputedStyle(e)}function Mg(e){return["table","td","th"].indexOf(Pt(e))>=0}function fn(e){return((Pn(e)?e.ownerDocument:e.document)||window.document).documentElement}function qs(e){return Pt(e)==="html"?e:e.assignedSlot||e.parentNode||(Oo(e)?e.host:null)||fn(e)}function el(e){return!ht(e)||Kt(e).position==="fixed"?null:e.offsetParent}function kg(e){var t=/firefox/i.test(Zi()),n=/Trident/i.test(Zi());if(n&&ht(e)){var r=Kt(e);if(r.position==="fixed")return null}var s=qs(e);for(Oo(s)&&(s=s.host);ht(s)&&["html","body"].indexOf(Pt(s))<0;){var o=Kt(s);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return s;s=s.parentNode}return null}function Xr(e){for(var t=ot(e),n=el(e);n&&Mg(n)&&Kt(n).position==="static";)n=el(n);return n&&(Pt(n)==="html"||Pt(n)==="body"&&Kt(n).position==="static")?t:n||kg(e)||t}function Ro(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Dr(e,t,n){return On(e,Ds(t,n))}function Vg(e,t,n){var r=Dr(e,t,n);return r>n?n:r}function Fc(){return{top:0,right:0,bottom:0,left:0}}function Hc(e){return Object.assign({},Fc(),e)}function Bc(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var Fg=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Hc(typeof t!="number"?t:Bc(t,vr))};function Hg(e){var t,n=e.state,r=e.name,s=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,l=Lt(n.placement),c=Ro(l),d=[Je,it].indexOf(l)>=0,f=d?"height":"width";if(!(!o||!a)){var h=Fg(s.padding,n),p=xo(o),m=c==="y"?Qe:Je,O=c==="y"?st:it,T=n.rects.reference[f]+n.rects.reference[c]-a[c]-n.rects.popper[f],x=a[c]-n.rects.reference[c],P=Xr(o),V=P?c==="y"?P.clientHeight||0:P.clientWidth||0:0,H=T/2-x/2,M=h[m],b=V-p[f]-h[O],y=V/2-p[f]/2+H,N=Dr(M,y,b),A=c;n.modifiersData[r]=(t={},t[A]=N,t.centerOffset=N-y,t)}}function Bg(e){var t=e.state,n=e.options,r=n.element,s=r===void 0?"[data-popper-arrow]":r;s!=null&&(typeof s=="string"&&(s=t.elements.popper.querySelector(s),!s)||Vc(t.elements.popper,s)&&(t.elements.arrow=s))}const jc={name:"arrow",enabled:!0,phase:"main",fn:Hg,effect:Bg,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function cr(e){return e.split("-")[1]}var jg={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Wg(e,t){var n=e.x,r=e.y,s=t.devicePixelRatio||1;return{x:ar(n*s)/s||0,y:ar(r*s)/s||0}}function tl(e){var t,n=e.popper,r=e.popperRect,s=e.placement,o=e.variation,a=e.offsets,l=e.position,c=e.gpuAcceleration,d=e.adaptive,f=e.roundOffsets,h=e.isFixed,p=a.x,m=p===void 0?0:p,O=a.y,T=O===void 0?0:O,x=typeof f=="function"?f({x:m,y:T}):{x:m,y:T};m=x.x,T=x.y;var P=a.hasOwnProperty("x"),V=a.hasOwnProperty("y"),H=Je,M=Qe,b=window;if(d){var y=Xr(n),N="clientHeight",A="clientWidth";if(y===ot(n)&&(y=fn(n),Kt(y).position!=="static"&&l==="absolute"&&(N="scrollHeight",A="scrollWidth")),y=y,s===Qe||(s===Je||s===it)&&o===or){M=st;var C=h&&y===b&&b.visualViewport?b.visualViewport.height:y[N];T-=C-r.height,T*=c?1:-1}if(s===Je||(s===Qe||s===st)&&o===or){H=it;var S=h&&y===b&&b.visualViewport?b.visualViewport.width:y[A];m-=S-r.width,m*=c?1:-1}}var U=Object.assign({position:l},d&&jg),j=f===!0?Wg({x:m,y:T},ot(n)):{x:m,y:T};if(m=j.x,T=j.y,c){var te;return Object.assign({},U,(te={},te[M]=V?"0":"",te[H]=P?"0":"",te.transform=(b.devicePixelRatio||1)<=1?"translate("+m+"px, "+T+"px)":"translate3d("+m+"px, "+T+"px, 0)",te))}return Object.assign({},U,(t={},t[M]=V?T+"px":"",t[H]=P?m+"px":"",t.transform="",t))}function Kg(e){var t=e.state,n=e.options,r=n.gpuAcceleration,s=r===void 0?!0:r,o=n.adaptive,a=o===void 0?!0:o,l=n.roundOffsets,c=l===void 0?!0:l,d={placement:Lt(t.placement),variation:cr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,tl(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,tl(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Io={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Kg,data:{}};var gs={passive:!0};function Ug(e){var t=e.state,n=e.instance,r=e.options,s=r.scroll,o=s===void 0?!0:s,a=r.resize,l=a===void 0?!0:a,c=ot(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&d.forEach(function(f){f.addEventListener("scroll",n.update,gs)}),l&&c.addEventListener("resize",n.update,gs),function(){o&&d.forEach(function(f){f.removeEventListener("scroll",n.update,gs)}),l&&c.removeEventListener("resize",n.update,gs)}}const Do={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Ug,data:{}};var Gg={left:"right",right:"left",bottom:"top",top:"bottom"};function Ss(e){return e.replace(/left|right|bottom|top/g,function(t){return Gg[t]})}var qg={start:"end",end:"start"};function nl(e){return e.replace(/start|end/g,function(t){return qg[t]})}function Lo(e){var t=ot(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Po(e){return lr(fn(e)).left+Lo(e).scrollLeft}function Yg(e,t){var n=ot(e),r=fn(e),s=n.visualViewport,o=r.clientWidth,a=r.clientHeight,l=0,c=0;if(s){o=s.width,a=s.height;var d=kc();(d||!d&&t==="fixed")&&(l=s.offsetLeft,c=s.offsetTop)}return{width:o,height:a,x:l+Po(e),y:c}}function zg(e){var t,n=fn(e),r=Lo(e),s=(t=e.ownerDocument)==null?void 0:t.body,o=On(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),a=On(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),l=-r.scrollLeft+Po(e),c=-r.scrollTop;return Kt(s||n).direction==="rtl"&&(l+=On(n.clientWidth,s?s.clientWidth:0)-o),{width:o,height:a,x:l,y:c}}function $o(e){var t=Kt(e),n=t.overflow,r=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+r)}function Wc(e){return["html","body","#document"].indexOf(Pt(e))>=0?e.ownerDocument.body:ht(e)&&$o(e)?e:Wc(qs(e))}function Lr(e,t){var n;t===void 0&&(t=[]);var r=Wc(e),s=r===((n=e.ownerDocument)==null?void 0:n.body),o=ot(r),a=s?[o].concat(o.visualViewport||[],$o(r)?r:[]):r,l=t.concat(a);return s?l:l.concat(Lr(qs(a)))}function eo(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Xg(e,t){var n=lr(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function rl(e,t,n){return t===So?eo(Yg(e,n)):Pn(t)?Xg(t,n):eo(zg(fn(e)))}function Qg(e){var t=Lr(qs(e)),n=["absolute","fixed"].indexOf(Kt(e).position)>=0,r=n&&ht(e)?Xr(e):e;return Pn(r)?t.filter(function(s){return Pn(s)&&Vc(s,r)&&Pt(s)!=="body"}):[]}function Jg(e,t,n,r){var s=t==="clippingParents"?Qg(e):[].concat(t),o=[].concat(s,[n]),a=o[0],l=o.reduce(function(c,d){var f=rl(e,d,r);return c.top=On(f.top,c.top),c.right=Ds(f.right,c.right),c.bottom=Ds(f.bottom,c.bottom),c.left=On(f.left,c.left),c},rl(e,a,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function Kc(e){var t=e.reference,n=e.element,r=e.placement,s=r?Lt(r):null,o=r?cr(r):null,a=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,c;switch(s){case Qe:c={x:a,y:t.y-n.height};break;case st:c={x:a,y:t.y+t.height};break;case it:c={x:t.x+t.width,y:l};break;case Je:c={x:t.x-n.width,y:l};break;default:c={x:t.x,y:t.y}}var d=s?Ro(s):null;if(d!=null){var f=d==="y"?"height":"width";switch(o){case Ln:c[d]=c[d]-(t[f]/2-n[f]/2);break;case or:c[d]=c[d]+(t[f]/2-n[f]/2);break}}return c}function ur(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=r===void 0?e.placement:r,o=n.strategy,a=o===void 0?e.strategy:o,l=n.boundary,c=l===void 0?Sc:l,d=n.rootBoundary,f=d===void 0?So:d,h=n.elementContext,p=h===void 0?Xn:h,m=n.altBoundary,O=m===void 0?!1:m,T=n.padding,x=T===void 0?0:T,P=Hc(typeof x!="number"?x:Bc(x,vr)),V=p===Xn?wc:Xn,H=e.rects.popper,M=e.elements[O?V:p],b=Jg(Pn(M)?M:M.contextElement||fn(e.elements.popper),c,f,a),y=lr(e.elements.reference),N=Kc({reference:y,element:H,placement:s}),A=eo(Object.assign({},H,N)),C=p===Xn?A:y,S={top:b.top-C.top+P.top,bottom:C.bottom-b.bottom+P.bottom,left:b.left-C.left+P.left,right:C.right-b.right+P.right},U=e.modifiersData.offset;if(p===Xn&&U){var j=U[s];Object.keys(S).forEach(function(te){var he=[it,st].indexOf(te)>=0?1:-1,Ee=[Qe,st].indexOf(te)>=0?"y":"x";S[te]+=j[Ee]*he})}return S}function Zg(e,t){t===void 0&&(t={});var n=t,r=n.placement,s=n.boundary,o=n.rootBoundary,a=n.padding,l=n.flipVariations,c=n.allowedAutoPlacements,d=c===void 0?wo:c,f=cr(r),h=f?l?Ji:Ji.filter(function(O){return cr(O)===f}):vr,p=h.filter(function(O){return d.indexOf(O)>=0});p.length===0&&(p=h);var m=p.reduce(function(O,T){return O[T]=ur(e,{placement:T,boundary:s,rootBoundary:o,padding:a})[Lt(T)],O},{});return Object.keys(m).sort(function(O,T){return m[O]-m[T]})}function em(e){if(Lt(e)===Gs)return[];var t=Ss(e);return[nl(e),t,nl(t)]}function tm(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var s=n.mainAxis,o=s===void 0?!0:s,a=n.altAxis,l=a===void 0?!0:a,c=n.fallbackPlacements,d=n.padding,f=n.boundary,h=n.rootBoundary,p=n.altBoundary,m=n.flipVariations,O=m===void 0?!0:m,T=n.allowedAutoPlacements,x=t.options.placement,P=Lt(x),V=P===x,H=c||(V||!O?[Ss(x)]:em(x)),M=[x].concat(H).reduce(function(de,me){return de.concat(Lt(me)===Gs?Zg(t,{placement:me,boundary:f,rootBoundary:h,padding:d,flipVariations:O,allowedAutoPlacements:T}):me)},[]),b=t.rects.reference,y=t.rects.popper,N=new Map,A=!0,C=M[0],S=0;S=0,Ee=he?"width":"height",ie=ur(t,{placement:U,boundary:f,rootBoundary:h,altBoundary:p,padding:d}),I=he?te?it:Je:te?st:Qe;b[Ee]>y[Ee]&&(I=Ss(I));var K=Ss(I),G=[];if(o&&G.push(ie[j]<=0),l&&G.push(ie[I]<=0,ie[K]<=0),G.every(function(de){return de})){C=U,A=!1;break}N.set(U,G)}if(A)for(var X=O?3:1,re=function(me){var ye=M.find(function(L){var Q=N.get(L);if(Q)return Q.slice(0,me).every(function(Z){return Z})});if(ye)return C=ye,"break"},ne=X;ne>0;ne--){var se=re(ne);if(se==="break")break}t.placement!==C&&(t.modifiersData[r]._skip=!0,t.placement=C,t.reset=!0)}}const Uc={name:"flip",enabled:!0,phase:"main",fn:tm,requiresIfExists:["offset"],data:{_skip:!1}};function sl(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function il(e){return[Qe,it,st,Je].some(function(t){return e[t]>=0})}function nm(e){var t=e.state,n=e.name,r=t.rects.reference,s=t.rects.popper,o=t.modifiersData.preventOverflow,a=ur(t,{elementContext:"reference"}),l=ur(t,{altBoundary:!0}),c=sl(a,r),d=sl(l,s,o),f=il(c),h=il(d);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:f,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":h})}const Gc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:nm};function rm(e,t,n){var r=Lt(e),s=[Je,Qe].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],l=o[1];return a=a||0,l=(l||0)*s,[Je,it].indexOf(r)>=0?{x:l,y:a}:{x:a,y:l}}function sm(e){var t=e.state,n=e.options,r=e.name,s=n.offset,o=s===void 0?[0,0]:s,a=wo.reduce(function(f,h){return f[h]=rm(h,t.rects,o),f},{}),l=a[t.placement],c=l.x,d=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=d),t.modifiersData[r]=a}const qc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:sm};function im(e){var t=e.state,n=e.name;t.modifiersData[n]=Kc({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const Mo={name:"popperOffsets",enabled:!0,phase:"read",fn:im,data:{}};function om(e){return e==="x"?"y":"x"}function am(e){var t=e.state,n=e.options,r=e.name,s=n.mainAxis,o=s===void 0?!0:s,a=n.altAxis,l=a===void 0?!1:a,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.padding,p=n.tether,m=p===void 0?!0:p,O=n.tetherOffset,T=O===void 0?0:O,x=ur(t,{boundary:c,rootBoundary:d,padding:h,altBoundary:f}),P=Lt(t.placement),V=cr(t.placement),H=!V,M=Ro(P),b=om(M),y=t.modifiersData.popperOffsets,N=t.rects.reference,A=t.rects.popper,C=typeof T=="function"?T(Object.assign({},t.rects,{placement:t.placement})):T,S=typeof C=="number"?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),U=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,j={x:0,y:0};if(y){if(o){var te,he=M==="y"?Qe:Je,Ee=M==="y"?st:it,ie=M==="y"?"height":"width",I=y[M],K=I+x[he],G=I-x[Ee],X=m?-A[ie]/2:0,re=V===Ln?N[ie]:A[ie],ne=V===Ln?-A[ie]:-N[ie],se=t.elements.arrow,de=m&&se?xo(se):{width:0,height:0},me=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Fc(),ye=me[he],L=me[Ee],Q=Dr(0,N[ie],de[ie]),Z=H?N[ie]/2-X-Q-ye-S.mainAxis:re-Q-ye-S.mainAxis,oe=H?-N[ie]/2+X+Q+L+S.mainAxis:ne+Q+L+S.mainAxis,D=t.elements.arrow&&Xr(t.elements.arrow),g=D?M==="y"?D.clientTop||0:D.clientLeft||0:0,E=(te=U?.[M])!=null?te:0,w=I+Z-E-g,$=I+oe-E,B=Dr(m?Ds(K,w):K,I,m?On(G,$):G);y[M]=B,j[M]=B-I}if(l){var F,q=M==="x"?Qe:Je,z=M==="x"?st:it,R=y[b],W=b==="y"?"height":"width",ce=R+x[q],ee=R-x[z],ae=[Qe,Je].indexOf(P)!==-1,ue=(F=U?.[b])!=null?F:0,pe=ae?ce:R-N[W]-A[W]-ue+S.altAxis,be=ae?R+N[W]+A[W]-ue-S.altAxis:ee,_e=m&&ae?Vg(pe,R,be):Dr(m?pe:ce,R,m?be:ee);y[b]=_e,j[b]=_e-R}t.modifiersData[r]=j}}const Yc={name:"preventOverflow",enabled:!0,phase:"main",fn:am,requiresIfExists:["offset"]};function lm(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function cm(e){return e===ot(e)||!ht(e)?Lo(e):lm(e)}function um(e){var t=e.getBoundingClientRect(),n=ar(t.width)/e.offsetWidth||1,r=ar(t.height)/e.offsetHeight||1;return n!==1||r!==1}function fm(e,t,n){n===void 0&&(n=!1);var r=ht(t),s=ht(t)&&um(t),o=fn(t),a=lr(e,s,n),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((Pt(t)!=="body"||$o(o))&&(l=cm(t)),ht(t)?(c=lr(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):o&&(c.x=Po(o))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function dm(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function s(o){n.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(l){if(!n.has(l)){var c=t.get(l);c&&s(c)}}),r.push(o)}return e.forEach(function(o){n.has(o.name)||s(o)}),r}function hm(e){var t=dm(e);return Mc.reduce(function(n,r){return n.concat(t.filter(function(s){return s.phase===r}))},[])}function pm(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function gm(e){var t=e.reduce(function(n,r){var s=n[r.name];return n[r.name]=s?Object.assign({},s,r,{options:Object.assign({},s.options,r.options),data:Object.assign({},s.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var ol={placement:"bottom",modifiers:[],strategy:"absolute"};function al(){for(var e=arguments.length,t=new Array(e),n=0;n_[u]})}}return i.default=_,Object.freeze(i)}const s=r(n),o=new Map,a={set(_,i,u){o.has(_)||o.set(_,new Map);const v=o.get(_);if(!v.has(i)&&v.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(v.keys())[0]}.`);return}v.set(i,u)},get(_,i){return o.has(_)&&o.get(_).get(i)||null},remove(_,i){if(!o.has(_))return;const u=o.get(_);u.delete(i),u.size===0&&o.delete(_)}},l=1e6,c=1e3,d="transitionend",f=_=>(_&&window.CSS&&window.CSS.escape&&(_=_.replace(/#([^\s"#']+)/g,(i,u)=>`#${CSS.escape(u)}`)),_),h=_=>_==null?`${_}`:Object.prototype.toString.call(_).match(/\s([a-z]+)/i)[1].toLowerCase(),p=_=>{do _+=Math.floor(Math.random()*l);while(document.getElementById(_));return _},m=_=>{if(!_)return 0;let{transitionDuration:i,transitionDelay:u}=window.getComputedStyle(_);const v=Number.parseFloat(i),k=Number.parseFloat(u);return!v&&!k?0:(i=i.split(",")[0],u=u.split(",")[0],(Number.parseFloat(i)+Number.parseFloat(u))*c)},O=_=>{_.dispatchEvent(new Event(d))},T=_=>!_||typeof _!="object"?!1:(typeof _.jquery<"u"&&(_=_[0]),typeof _.nodeType<"u"),x=_=>T(_)?_.jquery?_[0]:_:typeof _=="string"&&_.length>0?document.querySelector(f(_)):null,P=_=>{if(!T(_)||_.getClientRects().length===0)return!1;const i=getComputedStyle(_).getPropertyValue("visibility")==="visible",u=_.closest("details:not([open])");if(!u)return i;if(u!==_){const v=_.closest("summary");if(v&&v.parentNode!==u||v===null)return!1}return i},V=_=>!_||_.nodeType!==Node.ELEMENT_NODE||_.classList.contains("disabled")?!0:typeof _.disabled<"u"?_.disabled:_.hasAttribute("disabled")&&_.getAttribute("disabled")!=="false",H=_=>{if(!document.documentElement.attachShadow)return null;if(typeof _.getRootNode=="function"){const i=_.getRootNode();return i instanceof ShadowRoot?i:null}return _ instanceof ShadowRoot?_:_.parentNode?H(_.parentNode):null},M=()=>{},b=_=>{_.offsetHeight},y=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,N=[],A=_=>{document.readyState==="loading"?(N.length||document.addEventListener("DOMContentLoaded",()=>{for(const i of N)i()}),N.push(_)):_()},C=()=>document.documentElement.dir==="rtl",S=_=>{A(()=>{const i=y();if(i){const u=_.NAME,v=i.fn[u];i.fn[u]=_.jQueryInterface,i.fn[u].Constructor=_,i.fn[u].noConflict=()=>(i.fn[u]=v,_.jQueryInterface)}})},U=(_,i=[],u=_)=>typeof _=="function"?_.call(...i):u,j=(_,i,u=!0)=>{if(!u){U(_);return}const k=m(i)+5;let J=!1;const Y=({target:ge})=>{ge===i&&(J=!0,i.removeEventListener(d,Y),U(_))};i.addEventListener(d,Y),setTimeout(()=>{J||O(i)},k)},te=(_,i,u,v)=>{const k=_.length;let J=_.indexOf(i);return J===-1?!u&&v?_[k-1]:_[0]:(J+=u?1:-1,v&&(J=(J+k)%k),_[Math.max(0,Math.min(J,k-1))])},he=/[^.]*(?=\..*)\.|.*/,Ee=/\..*/,ie=/::\d+$/,I={};let K=1;const G={mouseenter:"mouseover",mouseleave:"mouseout"},X=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function re(_,i){return i&&`${i}::${K++}`||_.uidEvent||K++}function ne(_){const i=re(_);return _.uidEvent=i,I[i]=I[i]||{},I[i]}function se(_,i){return function u(v){return g(v,{delegateTarget:_}),u.oneOff&&D.off(_,v.type,i),i.apply(_,[v])}}function de(_,i,u){return function v(k){const J=_.querySelectorAll(i);for(let{target:Y}=k;Y&&Y!==this;Y=Y.parentNode)for(const ge of J)if(ge===Y)return g(k,{delegateTarget:Y}),v.oneOff&&D.off(_,k.type,i,u),u.apply(Y,[k])}}function me(_,i,u=null){return Object.values(_).find(v=>v.callable===i&&v.delegationSelector===u)}function ye(_,i,u){const v=typeof i=="string",k=v?u:i||u;let J=oe(_);return X.has(J)||(J=_),[v,k,J]}function L(_,i,u,v,k){if(typeof i!="string"||!_)return;let[J,Y,ge]=ye(i,u,v);i in G&&(Y=(Dg=>function(qn){if(!qn.relatedTarget||qn.relatedTarget!==qn.delegateTarget&&!qn.delegateTarget.contains(qn.relatedTarget))return Dg.call(this,qn)})(Y));const Ze=ne(_),ut=Ze[ge]||(Ze[ge]={}),Me=me(ut,Y,J?u:null);if(Me){Me.oneOff=Me.oneOff&&k;return}const Ot=re(Y,i.replace(he,"")),Et=J?de(_,u,Y):se(_,Y);Et.delegationSelector=J?u:null,Et.callable=Y,Et.oneOff=k,Et.uidEvent=Ot,ut[Ot]=Et,_.addEventListener(ge,Et,J)}function Q(_,i,u,v,k){const J=me(i[u],v,k);J&&(_.removeEventListener(u,J,!!k),delete i[u][J.uidEvent])}function Z(_,i,u,v){const k=i[u]||{};for(const[J,Y]of Object.entries(k))J.includes(v)&&Q(_,i,u,Y.callable,Y.delegationSelector)}function oe(_){return _=_.replace(Ee,""),G[_]||_}const D={on(_,i,u,v){L(_,i,u,v,!1)},one(_,i,u,v){L(_,i,u,v,!0)},off(_,i,u,v){if(typeof i!="string"||!_)return;const[k,J,Y]=ye(i,u,v),ge=Y!==i,Ze=ne(_),ut=Ze[Y]||{},Me=i.startsWith(".");if(typeof J<"u"){if(!Object.keys(ut).length)return;Q(_,Ze,Y,J,k?u:null);return}if(Me)for(const Ot of Object.keys(Ze))Z(_,Ze,Ot,i.slice(1));for(const[Ot,Et]of Object.entries(ut)){const ps=Ot.replace(ie,"");(!ge||i.includes(ps))&&Q(_,Ze,Y,Et.callable,Et.delegationSelector)}},trigger(_,i,u){if(typeof i!="string"||!_)return null;const v=y(),k=oe(i),J=i!==k;let Y=null,ge=!0,Ze=!0,ut=!1;J&&v&&(Y=v.Event(i,u),v(_).trigger(Y),ge=!Y.isPropagationStopped(),Ze=!Y.isImmediatePropagationStopped(),ut=Y.isDefaultPrevented());const Me=g(new Event(i,{bubbles:ge,cancelable:!0}),u);return ut&&Me.preventDefault(),Ze&&_.dispatchEvent(Me),Me.defaultPrevented&&Y&&Y.preventDefault(),Me}};function g(_,i={}){for(const[u,v]of Object.entries(i))try{_[u]=v}catch{Object.defineProperty(_,u,{configurable:!0,get(){return v}})}return _}function E(_){if(_==="true")return!0;if(_==="false")return!1;if(_===Number(_).toString())return Number(_);if(_===""||_==="null")return null;if(typeof _!="string")return _;try{return JSON.parse(decodeURIComponent(_))}catch{return _}}function w(_){return _.replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`)}const $={setDataAttribute(_,i,u){_.setAttribute(`data-bs-${w(i)}`,u)},removeDataAttribute(_,i){_.removeAttribute(`data-bs-${w(i)}`)},getDataAttributes(_){if(!_)return{};const i={},u=Object.keys(_.dataset).filter(v=>v.startsWith("bs")&&!v.startsWith("bsConfig"));for(const v of u){let k=v.replace(/^bs/,"");k=k.charAt(0).toLowerCase()+k.slice(1),i[k]=E(_.dataset[v])}return i},getDataAttribute(_,i){return E(_.getAttribute(`data-bs-${w(i)}`))}};class B{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(i){return i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i}_mergeConfigObj(i,u){const v=T(u)?$.getDataAttribute(u,"config"):{};return{...this.constructor.Default,...typeof v=="object"?v:{},...T(u)?$.getDataAttributes(u):{},...typeof i=="object"?i:{}}}_typeCheckConfig(i,u=this.constructor.DefaultType){for(const[v,k]of Object.entries(u)){const J=i[v],Y=T(J)?"element":h(J);if(!new RegExp(k).test(Y))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${v}" provided type "${Y}" but expected type "${k}".`)}}}const F="5.3.8";class q extends B{constructor(i,u){super(),i=x(i),i&&(this._element=i,this._config=this._getConfig(u),a.set(this._element,this.constructor.DATA_KEY,this))}dispose(){a.remove(this._element,this.constructor.DATA_KEY),D.off(this._element,this.constructor.EVENT_KEY);for(const i of Object.getOwnPropertyNames(this))this[i]=null}_queueCallback(i,u,v=!0){j(i,u,v)}_getConfig(i){return i=this._mergeConfigObj(i,this._element),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}static getInstance(i){return a.get(x(i),this.DATA_KEY)}static getOrCreateInstance(i,u={}){return this.getInstance(i)||new this(i,typeof u=="object"?u:null)}static get VERSION(){return F}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(i){return`${i}${this.EVENT_KEY}`}}const z=_=>{let i=_.getAttribute("data-bs-target");if(!i||i==="#"){let u=_.getAttribute("href");if(!u||!u.includes("#")&&!u.startsWith("."))return null;u.includes("#")&&!u.startsWith("#")&&(u=`#${u.split("#")[1]}`),i=u&&u!=="#"?u.trim():null}return i?i.split(",").map(u=>f(u)).join(","):null},R={find(_,i=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(i,_))},findOne(_,i=document.documentElement){return Element.prototype.querySelector.call(i,_)},children(_,i){return[].concat(..._.children).filter(u=>u.matches(i))},parents(_,i){const u=[];let v=_.parentNode.closest(i);for(;v;)u.push(v),v=v.parentNode.closest(i);return u},prev(_,i){let u=_.previousElementSibling;for(;u;){if(u.matches(i))return[u];u=u.previousElementSibling}return[]},next(_,i){let u=_.nextElementSibling;for(;u;){if(u.matches(i))return[u];u=u.nextElementSibling}return[]},focusableChildren(_){const i=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(u=>`${u}:not([tabindex^="-"])`).join(",");return this.find(i,_).filter(u=>!V(u)&&P(u))},getSelectorFromElement(_){const i=z(_);return i&&R.findOne(i)?i:null},getElementFromSelector(_){const i=z(_);return i?R.findOne(i):null},getMultipleElementsFromSelector(_){const i=z(_);return i?R.find(i):[]}},W=(_,i="hide")=>{const u=`click.dismiss${_.EVENT_KEY}`,v=_.NAME;D.on(document,u,`[data-bs-dismiss="${v}"]`,function(k){if(["A","AREA"].includes(this.tagName)&&k.preventDefault(),V(this))return;const J=R.getElementFromSelector(this)||this.closest(`.${v}`);_.getOrCreateInstance(J)[i]()})},ce="alert",ae=".bs.alert",ue=`close${ae}`,pe=`closed${ae}`,be="fade",_e="show";class Ie extends q{static get NAME(){return ce}close(){if(D.trigger(this._element,ue).defaultPrevented)return;this._element.classList.remove(_e);const u=this._element.classList.contains(be);this._queueCallback(()=>this._destroyElement(),this._element,u)}_destroyElement(){this._element.remove(),D.trigger(this._element,pe),this.dispose()}static jQueryInterface(i){return this.each(function(){const u=Ie.getOrCreateInstance(this);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}W(Ie,"close"),S(Ie);const je="button",at=".bs.button",pn=".data-api",ts="active",We='[data-bs-toggle="button"]',lt=`click${at}${pn}`;class Yt extends q{static get NAME(){return je}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(ts))}static jQueryInterface(i){return this.each(function(){const u=Yt.getOrCreateInstance(this);i==="toggle"&&u[i]()})}}D.on(document,lt,We,_=>{_.preventDefault();const i=_.target.closest(We);Yt.getOrCreateInstance(i).toggle()}),S(Yt);const ns="swipe",Fn=".bs.swipe",sd=`touchstart${Fn}`,id=`touchmove${Fn}`,od=`touchend${Fn}`,ad=`pointerdown${Fn}`,ld=`pointerup${Fn}`,cd="touch",ud="pen",fd="pointer-event",dd=40,hd={endCallback:null,leftCallback:null,rightCallback:null},pd={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class rs extends B{constructor(i,u){super(),this._element=i,!(!i||!rs.isSupported())&&(this._config=this._getConfig(u),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return hd}static get DefaultType(){return pd}static get NAME(){return ns}dispose(){D.off(this._element,Fn)}_start(i){if(!this._supportPointerEvents){this._deltaX=i.touches[0].clientX;return}this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX)}_end(i){this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX-this._deltaX),this._handleSwipe(),U(this._config.endCallback)}_move(i){this._deltaX=i.touches&&i.touches.length>1?0:i.touches[0].clientX-this._deltaX}_handleSwipe(){const i=Math.abs(this._deltaX);if(i<=dd)return;const u=i/this._deltaX;this._deltaX=0,u&&U(u>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(D.on(this._element,ad,i=>this._start(i)),D.on(this._element,ld,i=>this._end(i)),this._element.classList.add(fd)):(D.on(this._element,sd,i=>this._start(i)),D.on(this._element,id,i=>this._move(i)),D.on(this._element,od,i=>this._end(i)))}_eventIsPointerPenTouch(i){return this._supportPointerEvents&&(i.pointerType===ud||i.pointerType===cd)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const gd="carousel",zt=".bs.carousel",ha=".data-api",md="ArrowLeft",_d="ArrowRight",vd=500,Ar="next",Hn="prev",Bn="left",ss="right",Ed=`slide${zt}`,_i=`slid${zt}`,yd=`keydown${zt}`,bd=`mouseenter${zt}`,Ad=`mouseleave${zt}`,Td=`dragstart${zt}`,Cd=`load${zt}${ha}`,Sd=`click${zt}${ha}`,pa="carousel",is="active",wd="slide",Od="carousel-item-end",Nd="carousel-item-start",xd="carousel-item-next",Rd="carousel-item-prev",ga=".active",ma=".carousel-item",Id=ga+ma,Dd=".carousel-item img",Ld=".carousel-indicators",Pd="[data-bs-slide], [data-bs-slide-to]",$d='[data-bs-ride="carousel"]',Md={[md]:ss,[_d]:Bn},kd={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Vd={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class jn extends q{constructor(i,u){super(i,u),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=R.findOne(Ld,this._element),this._addEventListeners(),this._config.ride===pa&&this.cycle()}static get Default(){return kd}static get DefaultType(){return Vd}static get NAME(){return gd}next(){this._slide(Ar)}nextWhenVisible(){!document.hidden&&P(this._element)&&this.next()}prev(){this._slide(Hn)}pause(){this._isSliding&&O(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){D.one(this._element,_i,()=>this.cycle());return}this.cycle()}}to(i){const u=this._getItems();if(i>u.length-1||i<0)return;if(this._isSliding){D.one(this._element,_i,()=>this.to(i));return}const v=this._getItemIndex(this._getActive());if(v===i)return;const k=i>v?Ar:Hn;this._slide(k,u[i])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(i){return i.defaultInterval=i.interval,i}_addEventListeners(){this._config.keyboard&&D.on(this._element,yd,i=>this._keydown(i)),this._config.pause==="hover"&&(D.on(this._element,bd,()=>this.pause()),D.on(this._element,Ad,()=>this._maybeEnableCycle())),this._config.touch&&rs.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const v of R.find(Dd,this._element))D.on(v,Td,k=>k.preventDefault());const u={leftCallback:()=>this._slide(this._directionToOrder(Bn)),rightCallback:()=>this._slide(this._directionToOrder(ss)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),vd+this._config.interval))}};this._swipeHelper=new rs(this._element,u)}_keydown(i){if(/input|textarea/i.test(i.target.tagName))return;const u=Md[i.key];u&&(i.preventDefault(),this._slide(this._directionToOrder(u)))}_getItemIndex(i){return this._getItems().indexOf(i)}_setActiveIndicatorElement(i){if(!this._indicatorsElement)return;const u=R.findOne(ga,this._indicatorsElement);u.classList.remove(is),u.removeAttribute("aria-current");const v=R.findOne(`[data-bs-slide-to="${i}"]`,this._indicatorsElement);v&&(v.classList.add(is),v.setAttribute("aria-current","true"))}_updateInterval(){const i=this._activeElement||this._getActive();if(!i)return;const u=Number.parseInt(i.getAttribute("data-bs-interval"),10);this._config.interval=u||this._config.defaultInterval}_slide(i,u=null){if(this._isSliding)return;const v=this._getActive(),k=i===Ar,J=u||te(this._getItems(),v,k,this._config.wrap);if(J===v)return;const Y=this._getItemIndex(J),ge=ps=>D.trigger(this._element,ps,{relatedTarget:J,direction:this._orderToDirection(i),from:this._getItemIndex(v),to:Y});if(ge(Ed).defaultPrevented||!v||!J)return;const ut=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(Y),this._activeElement=J;const Me=k?Nd:Od,Ot=k?xd:Rd;J.classList.add(Ot),b(J),v.classList.add(Me),J.classList.add(Me);const Et=()=>{J.classList.remove(Me,Ot),J.classList.add(is),v.classList.remove(is,Ot,Me),this._isSliding=!1,ge(_i)};this._queueCallback(Et,v,this._isAnimated()),ut&&this.cycle()}_isAnimated(){return this._element.classList.contains(wd)}_getActive(){return R.findOne(Id,this._element)}_getItems(){return R.find(ma,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(i){return C()?i===Bn?Hn:Ar:i===Bn?Ar:Hn}_orderToDirection(i){return C()?i===Hn?Bn:ss:i===Hn?ss:Bn}static jQueryInterface(i){return this.each(function(){const u=jn.getOrCreateInstance(this,i);if(typeof i=="number"){u.to(i);return}if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}D.on(document,Sd,Pd,function(_){const i=R.getElementFromSelector(this);if(!i||!i.classList.contains(pa))return;_.preventDefault();const u=jn.getOrCreateInstance(i),v=this.getAttribute("data-bs-slide-to");if(v){u.to(v),u._maybeEnableCycle();return}if($.getDataAttribute(this,"slide")==="next"){u.next(),u._maybeEnableCycle();return}u.prev(),u._maybeEnableCycle()}),D.on(window,Cd,()=>{const _=R.find($d);for(const i of _)jn.getOrCreateInstance(i)}),S(jn);const Fd="collapse",Tr=".bs.collapse",Hd=".data-api",Bd=`show${Tr}`,jd=`shown${Tr}`,Wd=`hide${Tr}`,Kd=`hidden${Tr}`,Ud=`click${Tr}${Hd}`,vi="show",Wn="collapse",os="collapsing",Gd="collapsed",qd=`:scope .${Wn} .${Wn}`,Yd="collapse-horizontal",zd="width",Xd="height",Qd=".collapse.show, .collapse.collapsing",Ei='[data-bs-toggle="collapse"]',Jd={parent:null,toggle:!0},Zd={parent:"(null|element)",toggle:"boolean"};class Kn extends q{constructor(i,u){super(i,u),this._isTransitioning=!1,this._triggerArray=[];const v=R.find(Ei);for(const k of v){const J=R.getSelectorFromElement(k),Y=R.find(J).filter(ge=>ge===this._element);J!==null&&Y.length&&this._triggerArray.push(k)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Jd}static get DefaultType(){return Zd}static get NAME(){return Fd}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let i=[];if(this._config.parent&&(i=this._getFirstLevelChildren(Qd).filter(ge=>ge!==this._element).map(ge=>Kn.getOrCreateInstance(ge,{toggle:!1}))),i.length&&i[0]._isTransitioning||D.trigger(this._element,Bd).defaultPrevented)return;for(const ge of i)ge.hide();const v=this._getDimension();this._element.classList.remove(Wn),this._element.classList.add(os),this._element.style[v]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const k=()=>{this._isTransitioning=!1,this._element.classList.remove(os),this._element.classList.add(Wn,vi),this._element.style[v]="",D.trigger(this._element,jd)},Y=`scroll${v[0].toUpperCase()+v.slice(1)}`;this._queueCallback(k,this._element,!0),this._element.style[v]=`${this._element[Y]}px`}hide(){if(this._isTransitioning||!this._isShown()||D.trigger(this._element,Wd).defaultPrevented)return;const u=this._getDimension();this._element.style[u]=`${this._element.getBoundingClientRect()[u]}px`,b(this._element),this._element.classList.add(os),this._element.classList.remove(Wn,vi);for(const k of this._triggerArray){const J=R.getElementFromSelector(k);J&&!this._isShown(J)&&this._addAriaAndCollapsedClass([k],!1)}this._isTransitioning=!0;const v=()=>{this._isTransitioning=!1,this._element.classList.remove(os),this._element.classList.add(Wn),D.trigger(this._element,Kd)};this._element.style[u]="",this._queueCallback(v,this._element,!0)}_isShown(i=this._element){return i.classList.contains(vi)}_configAfterMerge(i){return i.toggle=!!i.toggle,i.parent=x(i.parent),i}_getDimension(){return this._element.classList.contains(Yd)?zd:Xd}_initializeChildren(){if(!this._config.parent)return;const i=this._getFirstLevelChildren(Ei);for(const u of i){const v=R.getElementFromSelector(u);v&&this._addAriaAndCollapsedClass([u],this._isShown(v))}}_getFirstLevelChildren(i){const u=R.find(qd,this._config.parent);return R.find(i,this._config.parent).filter(v=>!u.includes(v))}_addAriaAndCollapsedClass(i,u){if(i.length)for(const v of i)v.classList.toggle(Gd,!u),v.setAttribute("aria-expanded",u)}static jQueryInterface(i){const u={};return typeof i=="string"&&/show|hide/.test(i)&&(u.toggle=!1),this.each(function(){const v=Kn.getOrCreateInstance(this,u);if(typeof i=="string"){if(typeof v[i]>"u")throw new TypeError(`No method named "${i}"`);v[i]()}})}}D.on(document,Ud,Ei,function(_){(_.target.tagName==="A"||_.delegateTarget&&_.delegateTarget.tagName==="A")&&_.preventDefault();for(const i of R.getMultipleElementsFromSelector(this))Kn.getOrCreateInstance(i,{toggle:!1}).toggle()}),S(Kn);const _a="dropdown",gn=".bs.dropdown",yi=".data-api",eh="Escape",va="Tab",th="ArrowUp",Ea="ArrowDown",nh=2,rh=`hide${gn}`,sh=`hidden${gn}`,ih=`show${gn}`,oh=`shown${gn}`,ya=`click${gn}${yi}`,ba=`keydown${gn}${yi}`,ah=`keyup${gn}${yi}`,Un="show",lh="dropup",ch="dropend",uh="dropstart",fh="dropup-center",dh="dropdown-center",mn='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',hh=`${mn}.${Un}`,as=".dropdown-menu",ph=".navbar",gh=".navbar-nav",mh=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",_h=C()?"top-end":"top-start",vh=C()?"top-start":"top-end",Eh=C()?"bottom-end":"bottom-start",yh=C()?"bottom-start":"bottom-end",bh=C()?"left-start":"right-start",Ah=C()?"right-start":"left-start",Th="top",Ch="bottom",Sh={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},wh={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class vt extends q{constructor(i,u){super(i,u),this._popper=null,this._parent=this._element.parentNode,this._menu=R.next(this._element,as)[0]||R.prev(this._element,as)[0]||R.findOne(as,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Sh}static get DefaultType(){return wh}static get NAME(){return _a}toggle(){return this._isShown()?this.hide():this.show()}show(){if(V(this._element)||this._isShown())return;const i={relatedTarget:this._element};if(!D.trigger(this._element,ih,i).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(gh))for(const v of[].concat(...document.body.children))D.on(v,"mouseover",M);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Un),this._element.classList.add(Un),D.trigger(this._element,oh,i)}}hide(){if(V(this._element)||!this._isShown())return;const i={relatedTarget:this._element};this._completeHide(i)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(i){if(!D.trigger(this._element,rh,i).defaultPrevented){if("ontouchstart"in document.documentElement)for(const v of[].concat(...document.body.children))D.off(v,"mouseover",M);this._popper&&this._popper.destroy(),this._menu.classList.remove(Un),this._element.classList.remove(Un),this._element.setAttribute("aria-expanded","false"),$.removeDataAttribute(this._menu,"popper"),D.trigger(this._element,sh,i)}}_getConfig(i){if(i=super._getConfig(i),typeof i.reference=="object"&&!T(i.reference)&&typeof i.reference.getBoundingClientRect!="function")throw new TypeError(`${_a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return i}_createPopper(){if(typeof s>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");let i=this._element;this._config.reference==="parent"?i=this._parent:T(this._config.reference)?i=x(this._config.reference):typeof this._config.reference=="object"&&(i=this._config.reference);const u=this._getPopperConfig();this._popper=s.createPopper(i,this._menu,u)}_isShown(){return this._menu.classList.contains(Un)}_getPlacement(){const i=this._parent;if(i.classList.contains(ch))return bh;if(i.classList.contains(uh))return Ah;if(i.classList.contains(fh))return Th;if(i.classList.contains(dh))return Ch;const u=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return i.classList.contains(lh)?u?vh:_h:u?yh:Eh}_detectNavbar(){return this._element.closest(ph)!==null}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(u=>Number.parseInt(u,10)):typeof i=="function"?u=>i(u,this._element):i}_getPopperConfig(){const i={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&($.setDataAttribute(this._menu,"popper","static"),i.modifiers=[{name:"applyStyles",enabled:!1}]),{...i,...U(this._config.popperConfig,[void 0,i])}}_selectMenuItem({key:i,target:u}){const v=R.find(mh,this._menu).filter(k=>P(k));v.length&&te(v,u,i===Ea,!v.includes(u)).focus()}static jQueryInterface(i){return this.each(function(){const u=vt.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}static clearMenus(i){if(i.button===nh||i.type==="keyup"&&i.key!==va)return;const u=R.find(hh);for(const v of u){const k=vt.getInstance(v);if(!k||k._config.autoClose===!1)continue;const J=i.composedPath(),Y=J.includes(k._menu);if(J.includes(k._element)||k._config.autoClose==="inside"&&!Y||k._config.autoClose==="outside"&&Y||k._menu.contains(i.target)&&(i.type==="keyup"&&i.key===va||/input|select|option|textarea|form/i.test(i.target.tagName)))continue;const ge={relatedTarget:k._element};i.type==="click"&&(ge.clickEvent=i),k._completeHide(ge)}}static dataApiKeydownHandler(i){const u=/input|textarea/i.test(i.target.tagName),v=i.key===eh,k=[th,Ea].includes(i.key);if(!k&&!v||u&&!v)return;i.preventDefault();const J=this.matches(mn)?this:R.prev(this,mn)[0]||R.next(this,mn)[0]||R.findOne(mn,i.delegateTarget.parentNode),Y=vt.getOrCreateInstance(J);if(k){i.stopPropagation(),Y.show(),Y._selectMenuItem(i);return}Y._isShown()&&(i.stopPropagation(),Y.hide(),J.focus())}}D.on(document,ba,mn,vt.dataApiKeydownHandler),D.on(document,ba,as,vt.dataApiKeydownHandler),D.on(document,ya,vt.clearMenus),D.on(document,ah,vt.clearMenus),D.on(document,ya,mn,function(_){_.preventDefault(),vt.getOrCreateInstance(this).toggle()}),S(vt);const Aa="backdrop",Oh="fade",Ta="show",Ca=`mousedown.bs.${Aa}`,Nh={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},xh={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Sa extends B{constructor(i){super(),this._config=this._getConfig(i),this._isAppended=!1,this._element=null}static get Default(){return Nh}static get DefaultType(){return xh}static get NAME(){return Aa}show(i){if(!this._config.isVisible){U(i);return}this._append();const u=this._getElement();this._config.isAnimated&&b(u),u.classList.add(Ta),this._emulateAnimation(()=>{U(i)})}hide(i){if(!this._config.isVisible){U(i);return}this._getElement().classList.remove(Ta),this._emulateAnimation(()=>{this.dispose(),U(i)})}dispose(){this._isAppended&&(D.off(this._element,Ca),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const i=document.createElement("div");i.className=this._config.className,this._config.isAnimated&&i.classList.add(Oh),this._element=i}return this._element}_configAfterMerge(i){return i.rootElement=x(i.rootElement),i}_append(){if(this._isAppended)return;const i=this._getElement();this._config.rootElement.append(i),D.on(i,Ca,()=>{U(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(i){j(i,this._getElement(),this._config.isAnimated)}}const Rh="focustrap",ls=".bs.focustrap",Ih=`focusin${ls}`,Dh=`keydown.tab${ls}`,Lh="Tab",Ph="forward",wa="backward",$h={autofocus:!0,trapElement:null},Mh={autofocus:"boolean",trapElement:"element"};class Oa extends B{constructor(i){super(),this._config=this._getConfig(i),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return $h}static get DefaultType(){return Mh}static get NAME(){return Rh}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),D.off(document,ls),D.on(document,Ih,i=>this._handleFocusin(i)),D.on(document,Dh,i=>this._handleKeydown(i)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,D.off(document,ls))}_handleFocusin(i){const{trapElement:u}=this._config;if(i.target===document||i.target===u||u.contains(i.target))return;const v=R.focusableChildren(u);v.length===0?u.focus():this._lastTabNavDirection===wa?v[v.length-1].focus():v[0].focus()}_handleKeydown(i){i.key===Lh&&(this._lastTabNavDirection=i.shiftKey?wa:Ph)}}const Na=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",xa=".sticky-top",cs="padding-right",Ra="margin-right";class bi{constructor(){this._element=document.body}getWidth(){const i=document.documentElement.clientWidth;return Math.abs(window.innerWidth-i)}hide(){const i=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,cs,u=>u+i),this._setElementAttributes(Na,cs,u=>u+i),this._setElementAttributes(xa,Ra,u=>u-i)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,cs),this._resetElementAttributes(Na,cs),this._resetElementAttributes(xa,Ra)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(i,u,v){const k=this.getWidth(),J=Y=>{if(Y!==this._element&&window.innerWidth>Y.clientWidth+k)return;this._saveInitialAttribute(Y,u);const ge=window.getComputedStyle(Y).getPropertyValue(u);Y.style.setProperty(u,`${v(Number.parseFloat(ge))}px`)};this._applyManipulationCallback(i,J)}_saveInitialAttribute(i,u){const v=i.style.getPropertyValue(u);v&&$.setDataAttribute(i,u,v)}_resetElementAttributes(i,u){const v=k=>{const J=$.getDataAttribute(k,u);if(J===null){k.style.removeProperty(u);return}$.removeDataAttribute(k,u),k.style.setProperty(u,J)};this._applyManipulationCallback(i,v)}_applyManipulationCallback(i,u){if(T(i)){u(i);return}for(const v of R.find(i,this._element))u(v)}}const kh="modal",ct=".bs.modal",Vh=".data-api",Fh="Escape",Hh=`hide${ct}`,Bh=`hidePrevented${ct}`,Ia=`hidden${ct}`,Da=`show${ct}`,jh=`shown${ct}`,Wh=`resize${ct}`,Kh=`click.dismiss${ct}`,Uh=`mousedown.dismiss${ct}`,Gh=`keydown.dismiss${ct}`,qh=`click${ct}${Vh}`,La="modal-open",Yh="fade",Pa="show",Ai="modal-static",zh=".modal.show",Xh=".modal-dialog",Qh=".modal-body",Jh='[data-bs-toggle="modal"]',Zh={backdrop:!0,focus:!0,keyboard:!0},ep={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class _n extends q{constructor(i,u){super(i,u),this._dialog=R.findOne(Xh,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new bi,this._addEventListeners()}static get Default(){return Zh}static get DefaultType(){return ep}static get NAME(){return kh}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){this._isShown||this._isTransitioning||D.trigger(this._element,Da,{relatedTarget:i}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(La),this._adjustDialog(),this._backdrop.show(()=>this._showElement(i)))}hide(){!this._isShown||this._isTransitioning||D.trigger(this._element,Hh).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Pa),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){D.off(window,ct),D.off(this._dialog,ct),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Sa({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Oa({trapElement:this._element})}_showElement(i){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const u=R.findOne(Qh,this._dialog);u&&(u.scrollTop=0),b(this._element),this._element.classList.add(Pa);const v=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,D.trigger(this._element,jh,{relatedTarget:i})};this._queueCallback(v,this._dialog,this._isAnimated())}_addEventListeners(){D.on(this._element,Gh,i=>{if(i.key===Fh){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),D.on(window,Wh,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),D.on(this._element,Uh,i=>{D.one(this._element,Kh,u=>{if(!(this._element!==i.target||this._element!==u.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(La),this._resetAdjustments(),this._scrollBar.reset(),D.trigger(this._element,Ia)})}_isAnimated(){return this._element.classList.contains(Yh)}_triggerBackdropTransition(){if(D.trigger(this._element,Bh).defaultPrevented)return;const u=this._element.scrollHeight>document.documentElement.clientHeight,v=this._element.style.overflowY;v==="hidden"||this._element.classList.contains(Ai)||(u||(this._element.style.overflowY="hidden"),this._element.classList.add(Ai),this._queueCallback(()=>{this._element.classList.remove(Ai),this._queueCallback(()=>{this._element.style.overflowY=v},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const i=this._element.scrollHeight>document.documentElement.clientHeight,u=this._scrollBar.getWidth(),v=u>0;if(v&&!i){const k=C()?"paddingLeft":"paddingRight";this._element.style[k]=`${u}px`}if(!v&&i){const k=C()?"paddingRight":"paddingLeft";this._element.style[k]=`${u}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(i,u){return this.each(function(){const v=_n.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof v[i]>"u")throw new TypeError(`No method named "${i}"`);v[i](u)}})}}D.on(document,qh,Jh,function(_){const i=R.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&_.preventDefault(),D.one(i,Da,k=>{k.defaultPrevented||D.one(i,Ia,()=>{P(this)&&this.focus()})});const u=R.findOne(zh);u&&_n.getInstance(u).hide(),_n.getOrCreateInstance(i).toggle(this)}),W(_n),S(_n);const tp="offcanvas",$t=".bs.offcanvas",$a=".data-api",np=`load${$t}${$a}`,rp="Escape",Ma="show",ka="showing",Va="hiding",sp="offcanvas-backdrop",Fa=".offcanvas.show",ip=`show${$t}`,op=`shown${$t}`,ap=`hide${$t}`,Ha=`hidePrevented${$t}`,Ba=`hidden${$t}`,lp=`resize${$t}`,cp=`click${$t}${$a}`,up=`keydown.dismiss${$t}`,fp='[data-bs-toggle="offcanvas"]',dp={backdrop:!0,keyboard:!0,scroll:!1},hp={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Mt extends q{constructor(i,u){super(i,u),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return dp}static get DefaultType(){return hp}static get NAME(){return tp}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){if(this._isShown||D.trigger(this._element,ip,{relatedTarget:i}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new bi().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ka);const v=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Ma),this._element.classList.remove(ka),D.trigger(this._element,op,{relatedTarget:i})};this._queueCallback(v,this._element,!0)}hide(){if(!this._isShown||D.trigger(this._element,ap).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Va),this._backdrop.hide();const u=()=>{this._element.classList.remove(Ma,Va),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new bi().reset(),D.trigger(this._element,Ba)};this._queueCallback(u,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const i=()=>{if(this._config.backdrop==="static"){D.trigger(this._element,Ha);return}this.hide()},u=!!this._config.backdrop;return new Sa({className:sp,isVisible:u,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:u?i:null})}_initializeFocusTrap(){return new Oa({trapElement:this._element})}_addEventListeners(){D.on(this._element,up,i=>{if(i.key===rp){if(this._config.keyboard){this.hide();return}D.trigger(this._element,Ha)}})}static jQueryInterface(i){return this.each(function(){const u=Mt.getOrCreateInstance(this,i);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}D.on(document,cp,fp,function(_){const i=R.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&_.preventDefault(),V(this))return;D.one(i,Ba,()=>{P(this)&&this.focus()});const u=R.findOne(Fa);u&&u!==i&&Mt.getInstance(u).hide(),Mt.getOrCreateInstance(i).toggle(this)}),D.on(window,np,()=>{for(const _ of R.find(Fa))Mt.getOrCreateInstance(_).show()}),D.on(window,lp,()=>{for(const _ of R.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(_).position!=="fixed"&&Mt.getOrCreateInstance(_).hide()}),W(Mt),S(Mt);const ja={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},pp=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),gp=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,mp=(_,i)=>{const u=_.nodeName.toLowerCase();return i.includes(u)?pp.has(u)?!!gp.test(_.nodeValue):!0:i.filter(v=>v instanceof RegExp).some(v=>v.test(u))};function _p(_,i,u){if(!_.length)return _;if(u&&typeof u=="function")return u(_);const k=new window.DOMParser().parseFromString(_,"text/html"),J=[].concat(...k.body.querySelectorAll("*"));for(const Y of J){const ge=Y.nodeName.toLowerCase();if(!Object.keys(i).includes(ge)){Y.remove();continue}const Ze=[].concat(...Y.attributes),ut=[].concat(i["*"]||[],i[ge]||[]);for(const Me of Ze)mp(Me,ut)||Y.removeAttribute(Me.nodeName)}return k.body.innerHTML}const vp="TemplateFactory",Ep={allowList:ja,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},yp={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},bp={entry:"(string|element|function|null)",selector:"(string|element)"};class Ap extends B{constructor(i){super(),this._config=this._getConfig(i)}static get Default(){return Ep}static get DefaultType(){return yp}static get NAME(){return vp}getContent(){return Object.values(this._config.content).map(i=>this._resolvePossibleFunction(i)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(i){return this._checkContent(i),this._config.content={...this._config.content,...i},this}toHtml(){const i=document.createElement("div");i.innerHTML=this._maybeSanitize(this._config.template);for(const[k,J]of Object.entries(this._config.content))this._setContent(i,J,k);const u=i.children[0],v=this._resolvePossibleFunction(this._config.extraClass);return v&&u.classList.add(...v.split(" ")),u}_typeCheckConfig(i){super._typeCheckConfig(i),this._checkContent(i.content)}_checkContent(i){for(const[u,v]of Object.entries(i))super._typeCheckConfig({selector:u,entry:v},bp)}_setContent(i,u,v){const k=R.findOne(v,i);if(k){if(u=this._resolvePossibleFunction(u),!u){k.remove();return}if(T(u)){this._putElementInTemplate(x(u),k);return}if(this._config.html){k.innerHTML=this._maybeSanitize(u);return}k.textContent=u}}_maybeSanitize(i){return this._config.sanitize?_p(i,this._config.allowList,this._config.sanitizeFn):i}_resolvePossibleFunction(i){return U(i,[void 0,this])}_putElementInTemplate(i,u){if(this._config.html){u.innerHTML="",u.append(i);return}u.textContent=i.textContent}}const Tp="tooltip",Cp=new Set(["sanitize","allowList","sanitizeFn"]),Ti="fade",Sp="modal",us="show",wp=".tooltip-inner",Wa=`.${Sp}`,Ka="hide.bs.modal",Cr="hover",Ci="focus",Si="click",Op="manual",Np="hide",xp="hidden",Rp="show",Ip="shown",Dp="inserted",Lp="click",Pp="focusin",$p="focusout",Mp="mouseenter",kp="mouseleave",Vp={AUTO:"auto",TOP:"top",RIGHT:C()?"left":"right",BOTTOM:"bottom",LEFT:C()?"right":"left"},Fp={allowList:ja,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Hp={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class vn extends q{constructor(i,u){if(typeof s>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(i,u),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Fp}static get DefaultType(){return Hp}static get NAME(){return Tp}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),D.off(this._element.closest(Wa),Ka,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const i=D.trigger(this._element,this.constructor.eventName(Rp)),v=(H(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(i.defaultPrevented||!v)return;this._disposePopper();const k=this._getTipElement();this._element.setAttribute("aria-describedby",k.getAttribute("id"));const{container:J}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(J.append(k),D.trigger(this._element,this.constructor.eventName(Dp))),this._popper=this._createPopper(k),k.classList.add(us),"ontouchstart"in document.documentElement)for(const ge of[].concat(...document.body.children))D.on(ge,"mouseover",M);const Y=()=>{D.trigger(this._element,this.constructor.eventName(Ip)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(Y,this.tip,this._isAnimated())}hide(){if(!this._isShown()||D.trigger(this._element,this.constructor.eventName(Np)).defaultPrevented)return;if(this._getTipElement().classList.remove(us),"ontouchstart"in document.documentElement)for(const k of[].concat(...document.body.children))D.off(k,"mouseover",M);this._activeTrigger[Si]=!1,this._activeTrigger[Ci]=!1,this._activeTrigger[Cr]=!1,this._isHovered=null;const v=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),D.trigger(this._element,this.constructor.eventName(xp)))};this._queueCallback(v,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(i){const u=this._getTemplateFactory(i).toHtml();if(!u)return null;u.classList.remove(Ti,us),u.classList.add(`bs-${this.constructor.NAME}-auto`);const v=p(this.constructor.NAME).toString();return u.setAttribute("id",v),this._isAnimated()&&u.classList.add(Ti),u}setContent(i){this._newContent=i,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(i){return this._templateFactory?this._templateFactory.changeContent(i):this._templateFactory=new Ap({...this._config,content:i,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[wp]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(i){return this.constructor.getOrCreateInstance(i.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ti)}_isShown(){return this.tip&&this.tip.classList.contains(us)}_createPopper(i){const u=U(this._config.placement,[this,i,this._element]),v=Vp[u.toUpperCase()];return s.createPopper(this._element,i,this._getPopperConfig(v))}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(u=>Number.parseInt(u,10)):typeof i=="function"?u=>i(u,this._element):i}_resolvePossibleFunction(i){return U(i,[this._element,this._element])}_getPopperConfig(i){const u={placement:i,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:v=>{this._getTipElement().setAttribute("data-popper-placement",v.state.placement)}}]};return{...u,...U(this._config.popperConfig,[void 0,u])}}_setListeners(){const i=this._config.trigger.split(" ");for(const u of i)if(u==="click")D.on(this._element,this.constructor.eventName(Lp),this._config.selector,v=>{const k=this._initializeOnDelegatedTarget(v);k._activeTrigger[Si]=!(k._isShown()&&k._activeTrigger[Si]),k.toggle()});else if(u!==Op){const v=u===Cr?this.constructor.eventName(Mp):this.constructor.eventName(Pp),k=u===Cr?this.constructor.eventName(kp):this.constructor.eventName($p);D.on(this._element,v,this._config.selector,J=>{const Y=this._initializeOnDelegatedTarget(J);Y._activeTrigger[J.type==="focusin"?Ci:Cr]=!0,Y._enter()}),D.on(this._element,k,this._config.selector,J=>{const Y=this._initializeOnDelegatedTarget(J);Y._activeTrigger[J.type==="focusout"?Ci:Cr]=Y._element.contains(J.relatedTarget),Y._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},D.on(this._element.closest(Wa),Ka,this._hideModalHandler)}_fixTitle(){const i=this._element.getAttribute("title");i&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",i),this._element.setAttribute("data-bs-original-title",i),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(i,u){clearTimeout(this._timeout),this._timeout=setTimeout(i,u)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(i){const u=$.getDataAttributes(this._element);for(const v of Object.keys(u))Cp.has(v)&&delete u[v];return i={...u,...typeof i=="object"&&i?i:{}},i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i.container=i.container===!1?document.body:x(i.container),typeof i.delay=="number"&&(i.delay={show:i.delay,hide:i.delay}),typeof i.title=="number"&&(i.title=i.title.toString()),typeof i.content=="number"&&(i.content=i.content.toString()),i}_getDelegateConfig(){const i={};for(const[u,v]of Object.entries(this._config))this.constructor.Default[u]!==v&&(i[u]=v);return i.selector=!1,i.trigger="manual",i}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(i){return this.each(function(){const u=vn.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}}S(vn);const Bp="popover",jp=".popover-header",Wp=".popover-body",Kp={...vn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Up={...vn.DefaultType,content:"(null|string|element|function)"};class fs extends vn{static get Default(){return Kp}static get DefaultType(){return Up}static get NAME(){return Bp}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[jp]:this._getTitle(),[Wp]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(i){return this.each(function(){const u=fs.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}}S(fs);const Gp="scrollspy",wi=".bs.scrollspy",qp=".data-api",Yp=`activate${wi}`,Ua=`click${wi}`,zp=`load${wi}${qp}`,Xp="dropdown-item",Gn="active",Qp='[data-bs-spy="scroll"]',Oi="[href]",Jp=".nav, .list-group",Ga=".nav-link",Zp=`${Ga}, .nav-item > ${Ga}, .list-group-item`,eg=".dropdown",tg=".dropdown-toggle",ng={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},rg={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Sr extends q{constructor(i,u){super(i,u),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ng}static get DefaultType(){return rg}static get NAME(){return Gp}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const i of this._observableSections.values())this._observer.observe(i)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(i){return i.target=x(i.target)||document.body,i.rootMargin=i.offset?`${i.offset}px 0px -30%`:i.rootMargin,typeof i.threshold=="string"&&(i.threshold=i.threshold.split(",").map(u=>Number.parseFloat(u))),i}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(D.off(this._config.target,Ua),D.on(this._config.target,Ua,Oi,i=>{const u=this._observableSections.get(i.target.hash);if(u){i.preventDefault();const v=this._rootElement||window,k=u.offsetTop-this._element.offsetTop;if(v.scrollTo){v.scrollTo({top:k,behavior:"smooth"});return}v.scrollTop=k}}))}_getNewObserver(){const i={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(u=>this._observerCallback(u),i)}_observerCallback(i){const u=Y=>this._targetLinks.get(`#${Y.target.id}`),v=Y=>{this._previousScrollData.visibleEntryTop=Y.target.offsetTop,this._process(u(Y))},k=(this._rootElement||document.documentElement).scrollTop,J=k>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=k;for(const Y of i){if(!Y.isIntersecting){this._activeTarget=null,this._clearActiveClass(u(Y));continue}const ge=Y.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(J&&ge){if(v(Y),!k)return;continue}!J&&!ge&&v(Y)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const i=R.find(Oi,this._config.target);for(const u of i){if(!u.hash||V(u))continue;const v=R.findOne(decodeURI(u.hash),this._element);P(v)&&(this._targetLinks.set(decodeURI(u.hash),u),this._observableSections.set(u.hash,v))}}_process(i){this._activeTarget!==i&&(this._clearActiveClass(this._config.target),this._activeTarget=i,i.classList.add(Gn),this._activateParents(i),D.trigger(this._element,Yp,{relatedTarget:i}))}_activateParents(i){if(i.classList.contains(Xp)){R.findOne(tg,i.closest(eg)).classList.add(Gn);return}for(const u of R.parents(i,Jp))for(const v of R.prev(u,Zp))v.classList.add(Gn)}_clearActiveClass(i){i.classList.remove(Gn);const u=R.find(`${Oi}.${Gn}`,i);for(const v of u)v.classList.remove(Gn)}static jQueryInterface(i){return this.each(function(){const u=Sr.getOrCreateInstance(this,i);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}D.on(window,zp,()=>{for(const _ of R.find(Qp))Sr.getOrCreateInstance(_)}),S(Sr);const sg="tab",En=".bs.tab",ig=`hide${En}`,og=`hidden${En}`,ag=`show${En}`,lg=`shown${En}`,cg=`click${En}`,ug=`keydown${En}`,fg=`load${En}`,dg="ArrowLeft",qa="ArrowRight",hg="ArrowUp",Ya="ArrowDown",Ni="Home",za="End",yn="active",Xa="fade",xi="show",pg="dropdown",Qa=".dropdown-toggle",gg=".dropdown-menu",Ri=`:not(${Qa})`,mg='.list-group, .nav, [role="tablist"]',_g=".nav-item, .list-group-item",vg=`.nav-link${Ri}, .list-group-item${Ri}, [role="tab"]${Ri}`,Ja='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ii=`${vg}, ${Ja}`,Eg=`.${yn}[data-bs-toggle="tab"], .${yn}[data-bs-toggle="pill"], .${yn}[data-bs-toggle="list"]`;class bn extends q{constructor(i){super(i),this._parent=this._element.closest(mg),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),D.on(this._element,ug,u=>this._keydown(u)))}static get NAME(){return sg}show(){const i=this._element;if(this._elemIsActive(i))return;const u=this._getActiveElem(),v=u?D.trigger(u,ig,{relatedTarget:i}):null;D.trigger(i,ag,{relatedTarget:u}).defaultPrevented||v&&v.defaultPrevented||(this._deactivate(u,i),this._activate(i,u))}_activate(i,u){if(!i)return;i.classList.add(yn),this._activate(R.getElementFromSelector(i));const v=()=>{if(i.getAttribute("role")!=="tab"){i.classList.add(xi);return}i.removeAttribute("tabindex"),i.setAttribute("aria-selected",!0),this._toggleDropDown(i,!0),D.trigger(i,lg,{relatedTarget:u})};this._queueCallback(v,i,i.classList.contains(Xa))}_deactivate(i,u){if(!i)return;i.classList.remove(yn),i.blur(),this._deactivate(R.getElementFromSelector(i));const v=()=>{if(i.getAttribute("role")!=="tab"){i.classList.remove(xi);return}i.setAttribute("aria-selected",!1),i.setAttribute("tabindex","-1"),this._toggleDropDown(i,!1),D.trigger(i,og,{relatedTarget:u})};this._queueCallback(v,i,i.classList.contains(Xa))}_keydown(i){if(![dg,qa,hg,Ya,Ni,za].includes(i.key))return;i.stopPropagation(),i.preventDefault();const u=this._getChildren().filter(k=>!V(k));let v;if([Ni,za].includes(i.key))v=u[i.key===Ni?0:u.length-1];else{const k=[qa,Ya].includes(i.key);v=te(u,i.target,k,!0)}v&&(v.focus({preventScroll:!0}),bn.getOrCreateInstance(v).show())}_getChildren(){return R.find(Ii,this._parent)}_getActiveElem(){return this._getChildren().find(i=>this._elemIsActive(i))||null}_setInitialAttributes(i,u){this._setAttributeIfNotExists(i,"role","tablist");for(const v of u)this._setInitialAttributesOnChild(v)}_setInitialAttributesOnChild(i){i=this._getInnerElement(i);const u=this._elemIsActive(i),v=this._getOuterElement(i);i.setAttribute("aria-selected",u),v!==i&&this._setAttributeIfNotExists(v,"role","presentation"),u||i.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(i,"role","tab"),this._setInitialAttributesOnTargetPanel(i)}_setInitialAttributesOnTargetPanel(i){const u=R.getElementFromSelector(i);u&&(this._setAttributeIfNotExists(u,"role","tabpanel"),i.id&&this._setAttributeIfNotExists(u,"aria-labelledby",`${i.id}`))}_toggleDropDown(i,u){const v=this._getOuterElement(i);if(!v.classList.contains(pg))return;const k=(J,Y)=>{const ge=R.findOne(J,v);ge&&ge.classList.toggle(Y,u)};k(Qa,yn),k(gg,xi),v.setAttribute("aria-expanded",u)}_setAttributeIfNotExists(i,u,v){i.hasAttribute(u)||i.setAttribute(u,v)}_elemIsActive(i){return i.classList.contains(yn)}_getInnerElement(i){return i.matches(Ii)?i:R.findOne(Ii,i)}_getOuterElement(i){return i.closest(_g)||i}static jQueryInterface(i){return this.each(function(){const u=bn.getOrCreateInstance(this);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}D.on(document,cg,Ja,function(_){["A","AREA"].includes(this.tagName)&&_.preventDefault(),!V(this)&&bn.getOrCreateInstance(this).show()}),D.on(window,fg,()=>{for(const _ of R.find(Eg))bn.getOrCreateInstance(_)}),S(bn);const yg="toast",Xt=".bs.toast",bg=`mouseover${Xt}`,Ag=`mouseout${Xt}`,Tg=`focusin${Xt}`,Cg=`focusout${Xt}`,Sg=`hide${Xt}`,wg=`hidden${Xt}`,Og=`show${Xt}`,Ng=`shown${Xt}`,xg="fade",Za="hide",ds="show",hs="showing",Rg={animation:"boolean",autohide:"boolean",delay:"number"},Ig={animation:!0,autohide:!0,delay:5e3};class wr extends q{constructor(i,u){super(i,u),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Ig}static get DefaultType(){return Rg}static get NAME(){return yg}show(){if(D.trigger(this._element,Og).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(xg);const u=()=>{this._element.classList.remove(hs),D.trigger(this._element,Ng),this._maybeScheduleHide()};this._element.classList.remove(Za),b(this._element),this._element.classList.add(ds,hs),this._queueCallback(u,this._element,this._config.animation)}hide(){if(!this.isShown()||D.trigger(this._element,Sg).defaultPrevented)return;const u=()=>{this._element.classList.add(Za),this._element.classList.remove(hs,ds),D.trigger(this._element,wg)};this._element.classList.add(hs),this._queueCallback(u,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(ds),super.dispose()}isShown(){return this._element.classList.contains(ds)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(i,u){switch(i.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=u;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=u;break}}if(u){this._clearTimeout();return}const v=i.relatedTarget;this._element===v||this._element.contains(v)||this._maybeScheduleHide()}_setListeners(){D.on(this._element,bg,i=>this._onInteraction(i,!0)),D.on(this._element,Ag,i=>this._onInteraction(i,!1)),D.on(this._element,Tg,i=>this._onInteraction(i,!0)),D.on(this._element,Cg,i=>this._onInteraction(i,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(i){return this.each(function(){const u=wr.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}return W(wr),S(wr),{Alert:Ie,Button:Yt,Carousel:jn,Collapse:Kn,Dropdown:vt,Modal:_n,Offcanvas:Mt,Popover:fs,ScrollSpy:Sr,Tab:bn,Toast:wr,Tooltip:vn}}))})(Cs)),Cs.exports}Cm();function ko(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Se={},tr=[],At=()=>{},zc=()=>!1,zs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vo=e=>e.startsWith("onUpdate:"),$e=Object.assign,Fo=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Sm=Object.prototype.hasOwnProperty,Te=(e,t)=>Sm.call(e,t),le=Array.isArray,nr=e=>Qr(e)==="[object Map]",Er=e=>Qr(e)==="[object Set]",cl=e=>Qr(e)==="[object Date]",fe=e=>typeof e=="function",Oe=e=>typeof e=="string",Ct=e=>typeof e=="symbol",Ce=e=>e!==null&&typeof e=="object",Ho=e=>(Ce(e)||fe(e))&&fe(e.then)&&fe(e.catch),Xc=Object.prototype.toString,Qr=e=>Xc.call(e),wm=e=>Qr(e).slice(8,-1),Qc=e=>Qr(e)==="[object Object]",Bo=e=>Oe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Pr=ko(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Xs=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Om=/-\w/g,mt=Xs(e=>e.replace(Om,t=>t.slice(1).toUpperCase())),Nm=/\B([A-Z])/g,dn=Xs(e=>e.replace(Nm,"-$1").toLowerCase()),Qs=Xs(e=>e.charAt(0).toUpperCase()+e.slice(1)),Di=Xs(e=>e?`on${Qs(e)}`:""),on=(e,t)=>!Object.is(e,t),ws=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Js=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Zc=e=>{const t=Oe(e)?Number(e):NaN;return isNaN(t)?e:t};let ul;const Zs=()=>ul||(ul=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ei(e){if(le(e)){const t={};for(let n=0;n{if(n){const r=n.split(Rm);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ti(e){let t="";if(Oe(e))t=e;else if(le(e))for(let n=0;n$n(n,t))}const tu=e=>!!(e&&e.__v_isRef===!0),Mm=e=>Oe(e)?e:e==null?"":le(e)||Ce(e)&&(e.toString===Xc||!fe(e.toString))?tu(e)?Mm(e.value):JSON.stringify(e,nu,2):String(e),nu=(e,t)=>tu(t)?nu(e,t.value):nr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[Li(r,o)+" =>"]=s,n),{})}:Er(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Li(n))}:Ct(t)?Li(t):Ce(t)&&!le(t)&&!Qc(t)?String(t):t,Li=(e,t="")=>{var n;return Ct(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};function km(e){return e==null?"initial":typeof e=="string"?e===""?" ":e:String(e)}let Ke;class ru{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ke,!t&&Ke&&(this.index=(Ke.scopes||(Ke.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(Ke=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Mr){let t=Mr;for(Mr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;$r;){let t=$r;for($r=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function cu(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function uu(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),Uo(r),Fm(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function to(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(fu(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function fu(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Wr)||(e.globalVersion=Wr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!to(e))))return;e.flags|=2;const t=e.dep,n=we,r=Tt;we=e,Tt=!0;try{cu(e);const s=e.fn(e._value);(t.version===0||on(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{we=n,Tt=r,uu(e),e.flags&=-3}}function Uo(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Uo(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Fm(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Tt=!0;const du=[];function Ut(){du.push(Tt),Tt=!1}function Gt(){const e=du.pop();Tt=e===void 0?!0:e}function fl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=we;we=void 0;try{t()}finally{we=n}}}let Wr=0;class Hm{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Go{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!we||!Tt||we===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==we)n=this.activeLink=new Hm(we,this),we.deps?(n.prevDep=we.depsTail,we.depsTail.nextDep=n,we.depsTail=n):we.deps=we.depsTail=n,hu(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=we.depsTail,n.nextDep=void 0,we.depsTail.nextDep=n,we.depsTail=n,we.deps===n&&(we.deps=r)}return n}trigger(t){this.version++,Wr++,this.notify(t)}notify(t){Wo();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ko()}}}function hu(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)hu(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ls=new WeakMap,Nn=Symbol(""),no=Symbol(""),Kr=Symbol("");function Ue(e,t,n){if(Tt&&we){let r=Ls.get(e);r||Ls.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Go),s.map=r,s.key=n),s.track()}}function Bt(e,t,n,r,s,o){const a=Ls.get(e);if(!a){Wr++;return}const l=c=>{c&&c.trigger()};if(Wo(),t==="clear")a.forEach(l);else{const c=le(e),d=c&&Bo(n);if(c&&n==="length"){const f=Number(r);a.forEach((h,p)=>{(p==="length"||p===Kr||!Ct(p)&&p>=f)&&l(h)})}else switch((n!==void 0||a.has(void 0))&&l(a.get(n)),d&&l(a.get(Kr)),t){case"add":c?d&&l(a.get("length")):(l(a.get(Nn)),nr(e)&&l(a.get(no)));break;case"delete":c||(l(a.get(Nn)),nr(e)&&l(a.get(no)));break;case"set":nr(e)&&l(a.get(Nn));break}}Ko()}function Bm(e,t){const n=Ls.get(e);return n&&n.get(t)}function Yn(e){const t=ve(e);return t===e?t:(Ue(t,"iterate",Kr),pt(e)?t:t.map(Fe))}function ni(e){return Ue(e=ve(e),"iterate",Kr),e}const jm={__proto__:null,[Symbol.iterator](){return $i(this,Symbol.iterator,Fe)},concat(...e){return Yn(this).concat(...e.map(t=>le(t)?Yn(t):t))},entries(){return $i(this,"entries",e=>(e[1]=Fe(e[1]),e))},every(e,t){return kt(this,"every",e,t,void 0,arguments)},filter(e,t){return kt(this,"filter",e,t,n=>n.map(Fe),arguments)},find(e,t){return kt(this,"find",e,t,Fe,arguments)},findIndex(e,t){return kt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return kt(this,"findLast",e,t,Fe,arguments)},findLastIndex(e,t){return kt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return kt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Mi(this,"includes",e)},indexOf(...e){return Mi(this,"indexOf",e)},join(e){return Yn(this).join(e)},lastIndexOf(...e){return Mi(this,"lastIndexOf",e)},map(e,t){return kt(this,"map",e,t,void 0,arguments)},pop(){return Or(this,"pop")},push(...e){return Or(this,"push",e)},reduce(e,...t){return dl(this,"reduce",e,t)},reduceRight(e,...t){return dl(this,"reduceRight",e,t)},shift(){return Or(this,"shift")},some(e,t){return kt(this,"some",e,t,void 0,arguments)},splice(...e){return Or(this,"splice",e)},toReversed(){return Yn(this).toReversed()},toSorted(e){return Yn(this).toSorted(e)},toSpliced(...e){return Yn(this).toSpliced(...e)},unshift(...e){return Or(this,"unshift",e)},values(){return $i(this,"values",Fe)}};function $i(e,t,n){const r=ni(e),s=r[t]();return r!==e&&!pt(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const Wm=Array.prototype;function kt(e,t,n,r,s,o){const a=ni(e),l=a!==e&&!pt(e),c=a[t];if(c!==Wm[t]){const h=c.apply(e,o);return l?Fe(h):h}let d=n;a!==e&&(l?d=function(h,p){return n.call(this,Fe(h),p,e)}:n.length>2&&(d=function(h,p){return n.call(this,h,p,e)}));const f=c.call(a,d,r);return l&&s?s(f):f}function dl(e,t,n,r){const s=ni(e);let o=n;return s!==e&&(pt(e)?n.length>3&&(o=function(a,l,c){return n.call(this,a,l,c,e)}):o=function(a,l,c){return n.call(this,a,Fe(l),c,e)}),s[t](o,...r)}function Mi(e,t,n){const r=ve(e);Ue(r,"iterate",Kr);const s=r[t](...n);return(s===-1||s===!1)&&qo(n[0])?(n[0]=ve(n[0]),r[t](...n)):s}function Or(e,t,n=[]){Ut(),Wo();const r=ve(e)[t].apply(e,n);return Ko(),Gt(),r}const Km=ko("__proto__,__v_isRef,__isVue"),pu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ct));function Um(e){Ct(e)||(e=String(e));const t=ve(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class gu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?bu:yu:o?Eu:vu).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const a=le(t);if(!s){let c;if(a&&(c=jm[n]))return c;if(n==="hasOwnProperty")return Um}const l=Reflect.get(t,n,Re(t)?t:r);if((Ct(n)?pu.has(n):Km(n))||(s||Ue(t,"get",n),o))return l;if(Re(l)){const c=a&&Bo(n)?l:l.value;return s&&Ce(c)?so(c):c}return Ce(l)?s?so(l):Jr(l):l}}class mu extends gu{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._isShallow){const c=ln(o);if(!pt(r)&&!ln(r)&&(o=ve(o),r=ve(r)),!le(t)&&Re(o)&&!Re(r))return c||(o.value=r),!0}const a=le(t)&&Bo(n)?Number(n)e,ms=e=>Reflect.getPrototypeOf(e);function Xm(e,t,n){return function(...r){const s=this.__v_raw,o=ve(s),a=nr(o),l=e==="entries"||e===Symbol.iterator&&a,c=e==="keys"&&a,d=s[e](...r),f=n?ro:t?Ps:Fe;return!t&&Ue(o,"iterate",c?no:Nn),{next(){const{value:h,done:p}=d.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function _s(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Qm(e,t){const n={get(s){const o=this.__v_raw,a=ve(o),l=ve(s);e||(on(s,l)&&Ue(a,"get",s),Ue(a,"get",l));const{has:c}=ms(a),d=t?ro:e?Ps:Fe;if(c.call(a,s))return d(o.get(s));if(c.call(a,l))return d(o.get(l));o!==a&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Ue(ve(s),"iterate",Nn),s.size},has(s){const o=this.__v_raw,a=ve(o),l=ve(s);return e||(on(s,l)&&Ue(a,"has",s),Ue(a,"has",l)),s===l?o.has(s):o.has(s)||o.has(l)},forEach(s,o){const a=this,l=a.__v_raw,c=ve(l),d=t?ro:e?Ps:Fe;return!e&&Ue(c,"iterate",Nn),l.forEach((f,h)=>s.call(o,d(f),d(h),a))}};return $e(n,e?{add:_s("add"),set:_s("set"),delete:_s("delete"),clear:_s("clear")}:{add(s){!t&&!pt(s)&&!ln(s)&&(s=ve(s));const o=ve(this);return ms(o).has.call(o,s)||(o.add(s),Bt(o,"add",s,s)),this},set(s,o){!t&&!pt(o)&&!ln(o)&&(o=ve(o));const a=ve(this),{has:l,get:c}=ms(a);let d=l.call(a,s);d||(s=ve(s),d=l.call(a,s));const f=c.call(a,s);return a.set(s,o),d?on(o,f)&&Bt(a,"set",s,o):Bt(a,"add",s,o),this},delete(s){const o=ve(this),{has:a,get:l}=ms(o);let c=a.call(o,s);c||(s=ve(s),c=a.call(o,s)),l&&l.call(o,s);const d=o.delete(s);return c&&Bt(o,"delete",s,void 0),d},clear(){const s=ve(this),o=s.size!==0,a=s.clear();return o&&Bt(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Xm(s,e,t)}),n}function ri(e,t){const n=Qm(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Te(n,s)&&s in r?n:r,s,o)}const Jm={get:ri(!1,!1)},Zm={get:ri(!1,!0)},e_={get:ri(!0,!1)},t_={get:ri(!0,!0)},vu=new WeakMap,Eu=new WeakMap,yu=new WeakMap,bu=new WeakMap;function n_(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function r_(e){return e.__v_skip||!Object.isExtensible(e)?0:n_(wm(e))}function Jr(e){return ln(e)?e:si(e,!1,Gm,Jm,vu)}function Au(e){return si(e,!1,Ym,Zm,Eu)}function so(e){return si(e,!0,qm,e_,yu)}function vb(e){return si(e,!0,zm,t_,bu)}function si(e,t,n,r,s){if(!Ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r_(e);if(o===0)return e;const a=s.get(e);if(a)return a;const l=new Proxy(e,o===2?r:n);return s.set(e,l),l}function an(e){return ln(e)?an(e.__v_raw):!!(e&&e.__v_isReactive)}function ln(e){return!!(e&&e.__v_isReadonly)}function pt(e){return!!(e&&e.__v_isShallow)}function qo(e){return e?!!e.__v_raw:!1}function ve(e){const t=e&&e.__v_raw;return t?ve(t):e}function ii(e){return!Te(e,"__v_skip")&&Object.isExtensible(e)&&Jc(e,"__v_skip",!0),e}const Fe=e=>Ce(e)?Jr(e):e,Ps=e=>Ce(e)?so(e):e;function Re(e){return e?e.__v_isRef===!0:!1}function xn(e){return Cu(e,!1)}function Tu(e){return Cu(e,!0)}function Cu(e,t){return Re(e)?e:new s_(e,t)}class s_{constructor(t,n){this.dep=new Go,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ve(t),this._value=n?t:Fe(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||pt(t)||ln(t);t=r?t:ve(t),on(t,n)&&(this._rawValue=t,this._value=r?t:Fe(t),this.dep.trigger())}}function nt(e){return Re(e)?e.value:e}function Eb(e){return fe(e)?e():nt(e)}const i_={get:(e,t,n)=>t==="__v_raw"?e:nt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return Re(s)&&!Re(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Su(e){return an(e)?e:new Proxy(e,i_)}function o_(e){const t=le(e)?new Array(e.length):{};for(const n in e)t[n]=wu(e,n);return t}class a_{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Bm(ve(this._object),this._key)}}class l_{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function yb(e,t,n){return Re(e)?e:fe(e)?new l_(e):Ce(e)&&arguments.length>1?wu(e,t,n):xn(e)}function wu(e,t,n){const r=e[t];return Re(r)?r:new a_(e,t,n)}class c_{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Go(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Wr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&we!==this)return lu(this,!0),!0}get value(){const t=this.dep.track();return fu(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function u_(e,t,n=!1){let r,s;return fe(e)?r=e:(r=e.get,s=e.set),new c_(r,s,n)}const vs={},$s=new WeakMap;let Sn;function f_(e,t=!1,n=Sn){if(n){let r=$s.get(n);r||$s.set(n,r=[]),r.push(e)}}function d_(e,t,n=Se){const{immediate:r,deep:s,once:o,scheduler:a,augmentJob:l,call:c}=n,d=M=>s?M:pt(M)||s===!1||s===0?jt(M,1):jt(M);let f,h,p,m,O=!1,T=!1;if(Re(e)?(h=()=>e.value,O=pt(e)):an(e)?(h=()=>d(e),O=!0):le(e)?(T=!0,O=e.some(M=>an(M)||pt(M)),h=()=>e.map(M=>{if(Re(M))return M.value;if(an(M))return d(M);if(fe(M))return c?c(M,2):M()})):fe(e)?t?h=c?()=>c(e,2):e:h=()=>{if(p){Ut();try{p()}finally{Gt()}}const M=Sn;Sn=f;try{return c?c(e,3,[m]):e(m)}finally{Sn=M}}:h=At,t&&s){const M=h,b=s===!0?1/0:s;h=()=>jt(M(),b)}const x=iu(),P=()=>{f.stop(),x&&x.active&&Fo(x.effects,f)};if(o&&t){const M=t;t=(...b)=>{M(...b),P()}}let V=T?new Array(e.length).fill(vs):vs;const H=M=>{if(!(!(f.flags&1)||!f.dirty&&!M))if(t){const b=f.run();if(s||O||(T?b.some((y,N)=>on(y,V[N])):on(b,V))){p&&p();const y=Sn;Sn=f;try{const N=[b,V===vs?void 0:T&&V[0]===vs?[]:V,m];V=b,c?c(t,3,N):t(...N)}finally{Sn=y}}}else f.run()};return l&&l(H),f=new ou(h),f.scheduler=a?()=>a(H,!1):H,m=M=>f_(M,!1,f),p=f.onStop=()=>{const M=$s.get(f);if(M){if(c)c(M,4);else for(const b of M)b();$s.delete(f)}},t?r?H(!0):V=f.run():a?a(H.bind(null,!0),!0):f.run(),P.pause=f.pause.bind(f),P.resume=f.resume.bind(f),P.stop=P,P}function jt(e,t=1/0,n){if(t<=0||!Ce(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Re(e))jt(e.value,t,n);else if(le(e))for(let r=0;r{jt(r,t,n)});else if(Qc(e)){for(const r in e)jt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&jt(e[r],t,n)}return e}function Zr(e,t,n,r){try{return r?e(...r):e()}catch(s){yr(s,t,n)}}function St(e,t,n,r){if(fe(e)){const s=Zr(e,t,n,r);return s&&Ho(s)&&s.catch(o=>{yr(o,t,n)}),s}if(le(e)){const s=[];for(let o=0;o>>1,s=ze[r],o=Ur(s);o=Ur(n)?ze.push(e):ze.splice(p_(t),0,e),e.flags|=1,Nu()}}function Nu(){Ms||(Ms=Ou.then(Ru))}function ks(e){le(e)?rr.push(...e):tn&&e.id===-1?tn.splice(Qn+1,0,e):e.flags&1||(rr.push(e),e.flags|=1),Nu()}function hl(e,t,n=Rt+1){for(;nUr(n)-Ur(r));if(rr.length=0,tn){tn.push(...t);return}for(tn=t,Qn=0;Qne.id==null?e.flags&2?-1:1/0:e.id;function Ru(e){try{for(Rt=0;Rt{r._d&&Bs(-1);const o=Vs(t);let a;try{a=e(...s)}finally{Vs(o),r._d&&Bs(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function bb(e,t){if(Be===null)return e;const n=fi(Be),r=e.dirs||(e.dirs=[]);for(let s=0;se.__isTeleport,kr=e=>e&&(e.disabled||e.disabled===""),pl=e=>e&&(e.defer||e.defer===""),gl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,ml=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,io=(e,t)=>{const n=e&&e.to;return Oe(n)?t?t(n):null:n},Pu={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,a,l,c,d){const{mc:f,pc:h,pbc:p,o:{insert:m,querySelector:O,createText:T,createComment:x}}=d,P=kr(t.props);let{shapeFlag:V,children:H,dynamicChildren:M}=t;if(e==null){const b=t.el=T(""),y=t.anchor=T("");m(b,n,r),m(y,n,r);const N=(C,S)=>{V&16&&f(H,C,S,s,o,a,l,c)},A=()=>{const C=t.target=io(t.props,O),S=$u(C,t,T,m);C&&(a!=="svg"&&gl(C)?a="svg":a!=="mathml"&&ml(C)&&(a="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(C),P||(N(C,S),Os(t,!1)))};P&&(N(n,y),Os(t,!0)),pl(t.props)?(t.el.__isMounted=!1,qe(()=>{A(),delete t.el.__isMounted},o)):A()}else{if(pl(t.props)&&e.el.__isMounted===!1){qe(()=>{Pu.process(e,t,n,r,s,o,a,l,c,d)},o);return}t.el=e.el,t.targetStart=e.targetStart;const b=t.anchor=e.anchor,y=t.target=e.target,N=t.targetAnchor=e.targetAnchor,A=kr(e.props),C=A?n:y,S=A?b:N;if(a==="svg"||gl(y)?a="svg":(a==="mathml"||ml(y))&&(a="mathml"),M?(p(e.dynamicChildren,M,C,s,o,a,l),ra(e,t,!0)):c||h(e,t,C,S,s,o,a,l,!1),P)A?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Es(t,n,b,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const U=t.target=io(t.props,O);U&&Es(t,U,null,d,0)}else A&&Es(t,y,N,d,1);Os(t,P)}},remove(e,t,n,{um:r,o:{remove:s}},o){const{shapeFlag:a,children:l,anchor:c,targetStart:d,targetAnchor:f,target:h,props:p}=e;if(h&&(s(d),s(f)),o&&s(c),a&16){const m=o||!kr(p);for(let O=0;O{e.isMounted=!0}),Gu(()=>{e.isUnmounting=!0}),e}const ft=[Function,Array],ku={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ft,onEnter:ft,onAfterEnter:ft,onEnterCancelled:ft,onBeforeLeave:ft,onLeave:ft,onAfterLeave:ft,onLeaveCancelled:ft,onBeforeAppear:ft,onAppear:ft,onAfterAppear:ft,onAppearCancelled:ft},Vu=e=>{const t=e.subTree;return t.component?Vu(t.component):t},m_={name:"BaseTransition",props:ku,setup(e,{slots:t}){const n=hn(),r=Mu();return()=>{const s=t.default&&zo(t.default(),!0);if(!s||!s.length)return;const o=Fu(s),a=ve(e),{mode:l}=a;if(r.isLeaving)return ki(o);const c=_l(o);if(!c)return ki(o);let d=Gr(c,a,r,n,h=>d=h);c.type!==ke&&Mn(c,d);let f=n.subTree&&_l(n.subTree);if(f&&f.type!==ke&&!Dt(f,c)&&Vu(n).type!==ke){let h=Gr(f,a,r,n);if(Mn(f,h),l==="out-in"&&c.type!==ke)return r.isLeaving=!0,h.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave,f=void 0},ki(o);l==="in-out"&&c.type!==ke?h.delayLeave=(p,m,O)=>{const T=Hu(r,f);T[String(f.key)]=f,p[Ht]=()=>{m(),p[Ht]=void 0,delete d.delayedLeave,f=void 0},d.delayedLeave=()=>{O(),delete d.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return o}}};function Fu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ke){t=n;break}}return t}const __=m_;function Hu(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Gr(e,t,n,r,s){const{appear:o,mode:a,persisted:l=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:f,onEnterCancelled:h,onBeforeLeave:p,onLeave:m,onAfterLeave:O,onLeaveCancelled:T,onBeforeAppear:x,onAppear:P,onAfterAppear:V,onAppearCancelled:H}=t,M=String(e.key),b=Hu(n,e),y=(C,S)=>{C&&St(C,r,9,S)},N=(C,S)=>{const U=S[1];y(C,S),le(C)?C.every(j=>j.length<=1)&&U():C.length<=1&&U()},A={mode:a,persisted:l,beforeEnter(C){let S=c;if(!n.isMounted)if(o)S=x||c;else return;C[Ht]&&C[Ht](!0);const U=b[M];U&&Dt(e,U)&&U.el[Ht]&&U.el[Ht](),y(S,[C])},enter(C){let S=d,U=f,j=h;if(!n.isMounted)if(o)S=P||d,U=V||f,j=H||h;else return;let te=!1;const he=C[ys]=Ee=>{te||(te=!0,Ee?y(j,[C]):y(U,[C]),A.delayedLeave&&A.delayedLeave(),C[ys]=void 0)};S?N(S,[C,he]):he()},leave(C,S){const U=String(e.key);if(C[ys]&&C[ys](!0),n.isUnmounting)return S();y(p,[C]);let j=!1;const te=C[Ht]=he=>{j||(j=!0,S(),he?y(T,[C]):y(O,[C]),C[Ht]=void 0,b[U]===e&&delete b[U])};b[U]=e,m?N(m,[C,te]):te()},clone(C){const S=Gr(C,t,n,r,s);return s&&s(S),S}};return A}function ki(e){if(es(e))return e=cn(e),e.children=null,e}function _l(e){if(!es(e))return Lu(e.type)&&e.children?Fu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&fe(n.default))return n.default()}}function Mn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Mn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function zo(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;on.value,set:o=>n.value=o})}return n}const Fs=new WeakMap;function Vr(e,t,n,r,s=!1){if(le(e)){e.forEach((O,T)=>Vr(O,t&&(le(t)?t[T]:t),n,r,s));return}if(sr(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Vr(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?fi(r.component):r.el,a=s?null:o,{i:l,r:c}=e,d=t&&t.r,f=l.refs===Se?l.refs={}:l.refs,h=l.setupState,p=ve(h),m=h===Se?zc:O=>Te(p,O);if(d!=null&&d!==c){if(vl(t),Oe(d))f[d]=null,m(d)&&(h[d]=null);else if(Re(d)){d.value=null;const O=t;O.k&&(f[O.k]=null)}}if(fe(c))Zr(c,l,12,[a,f]);else{const O=Oe(c),T=Re(c);if(O||T){const x=()=>{if(e.f){const P=O?m(c)?h[c]:f[c]:c.value;if(s)le(P)&&Fo(P,o);else if(le(P))P.includes(o)||P.push(o);else if(O)f[c]=[o],m(c)&&(h[c]=f[c]);else{const V=[o];c.value=V,e.k&&(f[e.k]=V)}}else O?(f[c]=a,m(c)&&(h[c]=a)):T&&(c.value=a,e.k&&(f[e.k]=a))};if(a){const P=()=>{x(),Fs.delete(e)};P.id=-1,Fs.set(e,P),qe(P,n)}else vl(e),x()}}}function vl(e){const t=Fs.get(e);t&&(t.flags|=8,Fs.delete(e))}const El=e=>e.nodeType===8;Zs().requestIdleCallback;Zs().cancelIdleCallback;function v_(e,t){if(El(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(El(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const sr=e=>!!e.type.__asyncLoader;function Cb(e){fe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:a,suspensible:l=!0,onError:c}=e;let d=null,f,h=0;const p=()=>(h++,d=null,m()),m=()=>{let O;return d||(O=d=t().catch(T=>{if(T=T instanceof Error?T:new Error(String(T)),c)return new Promise((x,P)=>{c(T,()=>x(p()),()=>P(T),h+1)});throw T}).then(T=>O!==d&&d?d:(T&&(T.__esModule||T[Symbol.toStringTag]==="Module")&&(T=T.default),f=T,T)))};return Xo({name:"AsyncComponentWrapper",__asyncLoader:m,__asyncHydrate(O,T,x){let P=!1;(T.bu||(T.bu=[])).push(()=>P=!0);const V=()=>{P||x()},H=o?()=>{const M=o(V,b=>v_(O,b));M&&(T.bum||(T.bum=[])).push(M)}:V;f?H():m().then(()=>!T.isUnmounted&&H())},get __asyncResolved(){return f},setup(){const O=He;if(Qo(O),f)return()=>bs(f,O);const T=H=>{d=null,yr(H,O,13,!r)};if(l&&O.suspense||hr)return m().then(H=>()=>bs(H,O)).catch(H=>(T(H),()=>r?Ne(r,{error:H}):null));const x=xn(!1),P=xn(),V=xn(!!s);return s&&setTimeout(()=>{V.value=!1},s),a!=null&&setTimeout(()=>{if(!x.value&&!P.value){const H=new Error(`Async component timed out after ${a}ms.`);T(H),P.value=H}},a),m().then(()=>{x.value=!0,O.parent&&es(O.parent.vnode)&&O.parent.update()}).catch(H=>{T(H),P.value=H}),()=>{if(x.value&&f)return bs(f,O);if(P.value&&r)return Ne(r,{error:P.value});if(n&&!V.value)return bs(n,O)}}})}function bs(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,a=Ne(e,r,s);return a.ref=n,a.ce=o,delete t.vnode.ce,a}const es=e=>e.type.__isKeepAlive;function Bu(e,t){Wu(e,"a",t)}function ju(e,t){Wu(e,"da",t)}function Wu(e,t,n=He){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(ai(t,r,n),n){let s=n.parent;for(;s&&s.parent;)es(s.parent.vnode)&&E_(r,t,n,s),s=s.parent}}function E_(e,t,n,r){const s=ai(t,e,r,!0);li(()=>{Fo(r[t],s)},n)}function ai(e,t,n=He,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...a)=>{Ut();const l=kn(n),c=St(t,n,e,a);return l(),Gt(),c});return r?s.unshift(o):s.push(o),o}}const qt=e=>(t,n=He)=>{(!hr||e==="sp")&&ai(e,(...r)=>t(...r),n)},y_=qt("bm"),Jo=qt("m"),Ku=qt("bu"),Uu=qt("u"),Gu=qt("bum"),li=qt("um"),b_=qt("sp"),A_=qt("rtg"),T_=qt("rtc");function C_(e,t=He){ai("ec",e,t)}const Zo="components",S_="directives";function w_(e,t){return ea(Zo,e,!0,t)||e}const qu=Symbol.for("v-ndc");function O_(e){return Oe(e)?ea(Zo,e,!1)||e:e||qu}function Sb(e){return ea(S_,e)}function ea(e,t,n=!0,r=!1){const s=Be||He;if(s){const o=s.type;if(e===Zo){const l=Tv(o,!1);if(l&&(l===t||l===mt(t)||l===Qs(mt(t))))return o}const a=yl(s[e]||o[e],t)||yl(s.appContext[e],t);return!a&&r?o:a}}function yl(e,t){return e&&(e[t]||e[mt(t)]||e[Qs(mt(t))])}function wb(e,t,n,r){let s;const o=n,a=le(e);if(a||Oe(e)){const l=a&&an(e);let c=!1,d=!1;l&&(c=!pt(e),d=ln(e),e=ni(e)),s=new Array(e.length);for(let f=0,h=e.length;ft(l,c,void 0,o));else{const l=Object.keys(e);s=new Array(l.length);for(let c=0,d=l.length;c{const o=r.fn(...s);return o&&(o.key=r.key),o}:r.fn)}return e}function Nb(e,t,n={},r,s){if(Be.ce||Be.parent&&sr(Be.parent)&&Be.parent.ce){const d=Object.keys(n).length>0;return t!=="default"&&(n.name=t),It(),Yr(Xe,null,[Ne("slot",n,r&&r())],d?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),It();const a=o&&Yu(o(n)),l=n.key||a&&a.key,c=Yr(Xe,{key:(l&&!Ct(l)?l:`_${t}`)+(!a&&r?"_fb":"")},a||(r?r():[]),a&&e._===1?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),o&&o._c&&(o._d=!0),c}function Yu(e){return e.some(t=>dr(t)?!(t.type===ke||t.type===Xe&&!Yu(t.children)):!0)?e:null}const oo=e=>e?mf(e)?fi(e):oo(e.parent):null,Fr=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>oo(e.parent),$root:e=>oo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Xu(e),$forceUpdate:e=>e.f||(e.f=()=>{Yo(e.update)}),$nextTick:e=>e.n||(e.n=oi.bind(e.proxy)),$watch:e=>X_.bind(e)}),Vi=(e,t)=>e!==Se&&!e.__isScriptSetup&&Te(e,t),N_={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:a,type:l,appContext:c}=e;let d;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Vi(r,t))return a[t]=1,r[t];if(s!==Se&&Te(s,t))return a[t]=2,s[t];if((d=e.propsOptions[0])&&Te(d,t))return a[t]=3,o[t];if(n!==Se&&Te(n,t))return a[t]=4,n[t];lo&&(a[t]=0)}}const f=Fr[t];let h,p;if(f)return t==="$attrs"&&Ue(e.attrs,"get",""),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==Se&&Te(n,t))return a[t]=4,n[t];if(p=c.config.globalProperties,Te(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Vi(s,t)?(s[t]=n,!0):r!==Se&&Te(r,t)?(r[t]=n,!0):Te(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o,type:a}},l){let c,d;return!!(n[l]||e!==Se&&l[0]!=="$"&&Te(e,l)||Vi(t,l)||(c=o[0])&&Te(c,l)||Te(r,l)||Te(Fr,l)||Te(s.config.globalProperties,l)||(d=a.__cssModules)&&d[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Te(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function xb(){return x_().slots}function x_(e){const t=hn();return t.setupContext||(t.setupContext=vf(t))}function ao(e){return le(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Rb(e,t){const n=ao(e);for(const r in t){if(r.startsWith("__skip"))continue;let s=n[r];s?le(s)||fe(s)?s=n[r]={type:s,default:t[r]}:s.default=t[r]:s===null&&(s=n[r]={default:t[r]}),s&&t[`__skip_${r}`]&&(s.skipFactory=!0)}return n}function Ib(e){const t=hn();let n=e();return po(),Ho(n)&&(n=n.catch(r=>{throw kn(t),r})),[n,()=>kn(t)]}let lo=!0;function R_(e){const t=Xu(e),n=e.proxy,r=e.ctx;lo=!1,t.beforeCreate&&bl(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:a,watch:l,provide:c,inject:d,created:f,beforeMount:h,mounted:p,beforeUpdate:m,updated:O,activated:T,deactivated:x,beforeDestroy:P,beforeUnmount:V,destroyed:H,unmounted:M,render:b,renderTracked:y,renderTriggered:N,errorCaptured:A,serverPrefetch:C,expose:S,inheritAttrs:U,components:j,directives:te,filters:he}=t;if(d&&I_(d,r,null),a)for(const I in a){const K=a[I];fe(K)&&(r[I]=K.bind(n))}if(s){const I=s.call(n,n);Ce(I)&&(e.data=Jr(I))}if(lo=!0,o)for(const I in o){const K=o[I],G=fe(K)?K.bind(n,n):fe(K.get)?K.get.bind(n,n):At,X=!fe(K)&&fe(K.set)?K.set.bind(n):At,re=dt({get:G,set:X});Object.defineProperty(r,I,{enumerable:!0,configurable:!0,get:()=>re.value,set:ne=>re.value=ne})}if(l)for(const I in l)zu(l[I],r,n,I);if(c){const I=fe(c)?c.call(n):c;Reflect.ownKeys(I).forEach(K=>{Ns(K,I[K])})}f&&bl(f,e,"c");function ie(I,K){le(K)?K.forEach(G=>I(G.bind(n))):K&&I(K.bind(n))}if(ie(y_,h),ie(Jo,p),ie(Ku,m),ie(Uu,O),ie(Bu,T),ie(ju,x),ie(C_,A),ie(T_,y),ie(A_,N),ie(Gu,V),ie(li,M),ie(b_,C),le(S))if(S.length){const I=e.exposed||(e.exposed={});S.forEach(K=>{Object.defineProperty(I,K,{get:()=>n[K],set:G=>n[K]=G,enumerable:!0})})}else e.exposed||(e.exposed={});b&&e.render===At&&(e.render=b),U!=null&&(e.inheritAttrs=U),j&&(e.components=j),te&&(e.directives=te),C&&Qo(e)}function I_(e,t,n=At){le(e)&&(e=co(e));for(const r in e){const s=e[r];let o;Ce(s)?"default"in s?o=rt(s.from||r,s.default,!0):o=rt(s.from||r):o=rt(s),Re(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:a=>o.value=a}):t[r]=o}}function bl(e,t,n){St(le(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function zu(e,t,n,r){let s=r.includes(".")?cf(n,r):()=>n[r];if(Oe(e)){const o=t[e];fe(o)&&In(s,o)}else if(fe(e))In(s,e.bind(n));else if(Ce(e))if(le(e))e.forEach(o=>zu(o,t,n,r));else{const o=fe(e.handler)?e.handler.bind(n):t[e.handler];fe(o)&&In(s,o,e)}}function Xu(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(d=>Hs(c,d,a,!0)),Hs(c,t,a)),Ce(t)&&o.set(t,c),c}function Hs(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Hs(e,o,n,!0),s&&s.forEach(a=>Hs(e,a,n,!0));for(const a in t)if(!(r&&a==="expose")){const l=D_[a]||n&&n[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const D_={data:Al,props:Tl,emits:Tl,methods:Ir,computed:Ir,beforeCreate:Ge,created:Ge,beforeMount:Ge,mounted:Ge,beforeUpdate:Ge,updated:Ge,beforeDestroy:Ge,beforeUnmount:Ge,destroyed:Ge,unmounted:Ge,activated:Ge,deactivated:Ge,errorCaptured:Ge,serverPrefetch:Ge,components:Ir,directives:Ir,watch:P_,provide:Al,inject:L_};function Al(e,t){return t?e?function(){return $e(fe(e)?e.call(this,this):e,fe(t)?t.call(this,this):t)}:t:e}function L_(e,t){return Ir(co(e),co(t))}function co(e){if(le(e)){const t={};for(let n=0;n1)return n&&fe(t)?t.call(r&&r.proxy):t}}function k_(){return!!(hn()||Rn)}const Ju={},Zu=()=>Object.create(Ju),ef=e=>Object.getPrototypeOf(e)===Ju;function V_(e,t,n,r=!1){const s={},o=Zu();e.propsDefaults=Object.create(null),tf(e,t,s,o);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);n?e.props=r?s:Au(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function F_(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:a}}=e,l=ve(s),[c]=e.propsOptions;let d=!1;if((r||a>0)&&!(a&16)){if(a&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,m]=nf(h,t,!0);$e(a,p),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Ce(e)&&r.set(e,tr),tr;if(le(o))for(let f=0;fe==="_"||e==="_ctx"||e==="$stable",na=e=>le(e)?e.map(bt):[bt(e)],B_=(e,t,n)=>{if(t._n)return t;const r=Jn((...s)=>na(t(...s)),n);return r._c=!1,r},rf=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ta(s))continue;const o=e[s];if(fe(o))t[s]=B_(s,o,r);else if(o!=null){const a=na(o);t[s]=()=>a}}},sf=(e,t)=>{const n=na(t);e.slots.default=()=>n},of=(e,t,n)=>{for(const r in t)(n||!ta(r))&&(e[r]=t[r])},j_=(e,t,n)=>{const r=e.slots=Zu();if(e.vnode.shapeFlag&32){const s=t._;s?(of(r,t,n),n&&Jc(r,"_",s,!0)):rf(t,r)}else t&&sf(e,t)},W_=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,a=Se;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:of(s,t,n):(o=!t.$stable,rf(t,s)),a=t}else t&&(sf(e,t),a={default:1});if(o)for(const l in s)!ta(l)&&a[l]==null&&delete s[l]},qe=uv;function K_(e){return U_(e)}function U_(e,t){const n=Zs();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:a,createText:l,createComment:c,setText:d,setElementText:f,parentNode:h,nextSibling:p,setScopeId:m=At,insertStaticContent:O}=e,T=(g,E,w,$=null,B=null,F=null,q=void 0,z=null,R=!!E.dynamicChildren)=>{if(g===E)return;g&&!Dt(g,E)&&($=L(g),ne(g,B,F,!0),g=null),E.patchFlag===-2&&(R=!1,E.dynamicChildren=null);const{type:W,ref:ce,shapeFlag:ee}=E;switch(W){case ui:x(g,E,w,$);break;case ke:P(g,E,w,$);break;case xs:g==null&&V(E,w,$,q);break;case Xe:j(g,E,w,$,B,F,q,z,R);break;default:ee&1?b(g,E,w,$,B,F,q,z,R):ee&6?te(g,E,w,$,B,F,q,z,R):(ee&64||ee&128)&&W.process(g,E,w,$,B,F,q,z,R,oe)}ce!=null&&B?Vr(ce,g&&g.ref,F,E||g,!E):ce==null&&g&&g.ref!=null&&Vr(g.ref,null,F,g,!0)},x=(g,E,w,$)=>{if(g==null)r(E.el=l(E.children),w,$);else{const B=E.el=g.el;E.children!==g.children&&d(B,E.children)}},P=(g,E,w,$)=>{g==null?r(E.el=c(E.children||""),w,$):E.el=g.el},V=(g,E,w,$)=>{[g.el,g.anchor]=O(g.children,E,w,$,g.el,g.anchor)},H=({el:g,anchor:E},w,$)=>{let B;for(;g&&g!==E;)B=p(g),r(g,w,$),g=B;r(E,w,$)},M=({el:g,anchor:E})=>{let w;for(;g&&g!==E;)w=p(g),s(g),g=w;s(E)},b=(g,E,w,$,B,F,q,z,R)=>{if(E.type==="svg"?q="svg":E.type==="math"&&(q="mathml"),g==null)y(E,w,$,B,F,q,z,R);else{const W=g.el&&g.el._isVueCE?g.el:null;try{W&&W._beginPatch(),C(g,E,B,F,q,z,R)}finally{W&&W._endPatch()}}},y=(g,E,w,$,B,F,q,z)=>{let R,W;const{props:ce,shapeFlag:ee,transition:ae,dirs:ue}=g;if(R=g.el=a(g.type,F,ce&&ce.is,ce),ee&8?f(R,g.children):ee&16&&A(g.children,R,null,$,B,Fi(g,F),q,z),ue&&An(g,null,$,"created"),N(R,g,g.scopeId,q,$),ce){for(const be in ce)be!=="value"&&!Pr(be)&&o(R,be,null,ce[be],F,$);"value"in ce&&o(R,"value",null,ce.value,F),(W=ce.onVnodeBeforeMount)&&Nt(W,$,g)}ue&&An(g,null,$,"beforeMount");const pe=G_(B,ae);pe&&ae.beforeEnter(R),r(R,E,w),((W=ce&&ce.onVnodeMounted)||pe||ue)&&qe(()=>{W&&Nt(W,$,g),pe&&ae.enter(R),ue&&An(g,null,$,"mounted")},B)},N=(g,E,w,$,B)=>{if(w&&m(g,w),$)for(let F=0;F<$.length;F++)m(g,$[F]);if(B){let F=B.subTree;if(E===F||ff(F.type)&&(F.ssContent===E||F.ssFallback===E)){const q=B.vnode;N(g,q,q.scopeId,q.slotScopeIds,B.parent)}}},A=(g,E,w,$,B,F,q,z,R=0)=>{for(let W=R;W{const z=E.el=g.el;let{patchFlag:R,dynamicChildren:W,dirs:ce}=E;R|=g.patchFlag&16;const ee=g.props||Se,ae=E.props||Se;let ue;if(w&&Tn(w,!1),(ue=ae.onVnodeBeforeUpdate)&&Nt(ue,w,E,g),ce&&An(E,g,w,"beforeUpdate"),w&&Tn(w,!0),(ee.innerHTML&&ae.innerHTML==null||ee.textContent&&ae.textContent==null)&&f(z,""),W?S(g.dynamicChildren,W,z,w,$,Fi(E,B),F):q||K(g,E,z,null,w,$,Fi(E,B),F,!1),R>0){if(R&16)U(z,ee,ae,w,B);else if(R&2&&ee.class!==ae.class&&o(z,"class",null,ae.class,B),R&4&&o(z,"style",ee.style,ae.style,B),R&8){const pe=E.dynamicProps;for(let be=0;be{ue&&Nt(ue,w,E,g),ce&&An(E,g,w,"updated")},$)},S=(g,E,w,$,B,F,q)=>{for(let z=0;z{if(E!==w){if(E!==Se)for(const F in E)!Pr(F)&&!(F in w)&&o(g,F,E[F],null,B,$);for(const F in w){if(Pr(F))continue;const q=w[F],z=E[F];q!==z&&F!=="value"&&o(g,F,z,q,B,$)}"value"in w&&o(g,"value",E.value,w.value,B)}},j=(g,E,w,$,B,F,q,z,R)=>{const W=E.el=g?g.el:l(""),ce=E.anchor=g?g.anchor:l("");let{patchFlag:ee,dynamicChildren:ae,slotScopeIds:ue}=E;ue&&(z=z?z.concat(ue):ue),g==null?(r(W,w,$),r(ce,w,$),A(E.children||[],w,ce,B,F,q,z,R)):ee>0&&ee&64&&ae&&g.dynamicChildren?(S(g.dynamicChildren,ae,w,B,F,q,z),(E.key!=null||B&&E===B.subTree)&&ra(g,E,!0)):K(g,E,w,ce,B,F,q,z,R)},te=(g,E,w,$,B,F,q,z,R)=>{E.slotScopeIds=z,g==null?E.shapeFlag&512?B.ctx.activate(E,w,$,q,R):he(E,w,$,B,F,q,R):Ee(g,E,R)},he=(g,E,w,$,B,F,q)=>{const z=g.component=Ev(g,$,B);if(es(g)&&(z.ctx.renderer=oe),yv(z,!1,q),z.asyncDep){if(B&&B.registerDep(z,ie,q),!g.el){const R=z.subTree=Ne(ke);P(null,R,E,w),g.placeholder=R.el}}else ie(z,g,E,w,B,F,q)},Ee=(g,E,w)=>{const $=E.component=g.component;if(rv(g,E,w))if($.asyncDep&&!$.asyncResolved){I($,E,w);return}else $.next=E,$.update();else E.el=g.el,$.vnode=E},ie=(g,E,w,$,B,F,q)=>{const z=()=>{if(g.isMounted){let{next:ee,bu:ae,u:ue,parent:pe,vnode:be}=g;{const at=af(g);if(at){ee&&(ee.el=be.el,I(g,ee,q)),at.asyncDep.then(()=>{g.isUnmounted||z()});return}}let _e=ee,Ie;Tn(g,!1),ee?(ee.el=be.el,I(g,ee,q)):ee=be,ae&&ws(ae),(Ie=ee.props&&ee.props.onVnodeBeforeUpdate)&&Nt(Ie,pe,ee,be),Tn(g,!0);const je=wl(g),_t=g.subTree;g.subTree=je,T(_t,je,h(_t.el),L(_t),g,B,F),ee.el=je.el,_e===null&&sa(g,je.el),ue&&qe(ue,B),(Ie=ee.props&&ee.props.onVnodeUpdated)&&qe(()=>Nt(Ie,pe,ee,be),B)}else{let ee;const{el:ae,props:ue}=E,{bm:pe,m:be,parent:_e,root:Ie,type:je}=g,_t=sr(E);Tn(g,!1),pe&&ws(pe),!_t&&(ee=ue&&ue.onVnodeBeforeMount)&&Nt(ee,_e,E),Tn(g,!0);{Ie.ce&&Ie.ce._def.shadowRoot!==!1&&Ie.ce._injectChildStyle(je);const at=g.subTree=wl(g);T(null,at,w,$,g,B,F),E.el=at.el}if(be&&qe(be,B),!_t&&(ee=ue&&ue.onVnodeMounted)){const at=E;qe(()=>Nt(ee,_e,at),B)}(E.shapeFlag&256||_e&&sr(_e.vnode)&&_e.vnode.shapeFlag&256)&&g.a&&qe(g.a,B),g.isMounted=!0,E=w=$=null}};g.scope.on();const R=g.effect=new ou(z);g.scope.off();const W=g.update=R.run.bind(R),ce=g.job=R.runIfDirty.bind(R);ce.i=g,ce.id=g.uid,R.scheduler=()=>Yo(ce),Tn(g,!0),W()},I=(g,E,w)=>{E.component=g;const $=g.vnode.props;g.vnode=E,g.next=null,F_(g,E.props,$,w),W_(g,E.children,w),Ut(),hl(g),Gt()},K=(g,E,w,$,B,F,q,z,R=!1)=>{const W=g&&g.children,ce=g?g.shapeFlag:0,ee=E.children,{patchFlag:ae,shapeFlag:ue}=E;if(ae>0){if(ae&128){X(W,ee,w,$,B,F,q,z,R);return}else if(ae&256){G(W,ee,w,$,B,F,q,z,R);return}}ue&8?(ce&16&&ye(W,B,F),ee!==W&&f(w,ee)):ce&16?ue&16?X(W,ee,w,$,B,F,q,z,R):ye(W,B,F,!0):(ce&8&&f(w,""),ue&16&&A(ee,w,$,B,F,q,z,R))},G=(g,E,w,$,B,F,q,z,R)=>{g=g||tr,E=E||tr;const W=g.length,ce=E.length,ee=Math.min(W,ce);let ae;for(ae=0;aece?ye(g,B,F,!0,!1,ee):A(E,w,$,B,F,q,z,R,ee)},X=(g,E,w,$,B,F,q,z,R)=>{let W=0;const ce=E.length;let ee=g.length-1,ae=ce-1;for(;W<=ee&&W<=ae;){const ue=g[W],pe=E[W]=R?nn(E[W]):bt(E[W]);if(Dt(ue,pe))T(ue,pe,w,null,B,F,q,z,R);else break;W++}for(;W<=ee&&W<=ae;){const ue=g[ee],pe=E[ae]=R?nn(E[ae]):bt(E[ae]);if(Dt(ue,pe))T(ue,pe,w,null,B,F,q,z,R);else break;ee--,ae--}if(W>ee){if(W<=ae){const ue=ae+1,pe=ueae)for(;W<=ee;)ne(g[W],B,F,!0),W++;else{const ue=W,pe=W,be=new Map;for(W=pe;W<=ae;W++){const We=E[W]=R?nn(E[W]):bt(E[W]);We.key!=null&&be.set(We.key,W)}let _e,Ie=0;const je=ae-pe+1;let _t=!1,at=0;const pn=new Array(je);for(W=0;W=je){ne(We,B,F,!0);continue}let lt;if(We.key!=null)lt=be.get(We.key);else for(_e=pe;_e<=ae;_e++)if(pn[_e-pe]===0&&Dt(We,E[_e])){lt=_e;break}lt===void 0?ne(We,B,F,!0):(pn[lt-pe]=W+1,lt>=at?at=lt:_t=!0,T(We,E[lt],w,null,B,F,q,z,R),Ie++)}const ts=_t?q_(pn):tr;for(_e=ts.length-1,W=je-1;W>=0;W--){const We=pe+W,lt=E[We],Yt=E[We+1],ns=We+1{const{el:F,type:q,transition:z,children:R,shapeFlag:W}=g;if(W&6){re(g.component.subTree,E,w,$);return}if(W&128){g.suspense.move(E,w,$);return}if(W&64){q.move(g,E,w,oe);return}if(q===Xe){r(F,E,w);for(let ee=0;eez.enter(F),B);else{const{leave:ee,delayLeave:ae,afterLeave:ue}=z,pe=()=>{g.ctx.isUnmounted?s(F):r(F,E,w)},be=()=>{F._isLeaving&&F[Ht](!0),ee(F,()=>{pe(),ue&&ue()})};ae?ae(F,pe,be):be()}else r(F,E,w)},ne=(g,E,w,$=!1,B=!1)=>{const{type:F,props:q,ref:z,children:R,dynamicChildren:W,shapeFlag:ce,patchFlag:ee,dirs:ae,cacheIndex:ue}=g;if(ee===-2&&(B=!1),z!=null&&(Ut(),Vr(z,null,w,g,!0),Gt()),ue!=null&&(E.renderCache[ue]=void 0),ce&256){E.ctx.deactivate(g);return}const pe=ce&1&&ae,be=!sr(g);let _e;if(be&&(_e=q&&q.onVnodeBeforeUnmount)&&Nt(_e,E,g),ce&6)me(g.component,w,$);else{if(ce&128){g.suspense.unmount(w,$);return}pe&&An(g,null,E,"beforeUnmount"),ce&64?g.type.remove(g,E,w,oe,$):W&&!W.hasOnce&&(F!==Xe||ee>0&&ee&64)?ye(W,E,w,!1,!0):(F===Xe&&ee&384||!B&&ce&16)&&ye(R,E,w),$&&se(g)}(be&&(_e=q&&q.onVnodeUnmounted)||pe)&&qe(()=>{_e&&Nt(_e,E,g),pe&&An(g,null,E,"unmounted")},w)},se=g=>{const{type:E,el:w,anchor:$,transition:B}=g;if(E===Xe){de(w,$);return}if(E===xs){M(g);return}const F=()=>{s(w),B&&!B.persisted&&B.afterLeave&&B.afterLeave()};if(g.shapeFlag&1&&B&&!B.persisted){const{leave:q,delayLeave:z}=B,R=()=>q(w,F);z?z(g.el,F,R):R()}else F()},de=(g,E)=>{let w;for(;g!==E;)w=p(g),s(g),g=w;s(E)},me=(g,E,w)=>{const{bum:$,scope:B,job:F,subTree:q,um:z,m:R,a:W}=g;Sl(R),Sl(W),$&&ws($),B.stop(),F&&(F.flags|=8,ne(q,g,E,w)),z&&qe(z,E),qe(()=>{g.isUnmounted=!0},E)},ye=(g,E,w,$=!1,B=!1,F=0)=>{for(let q=F;q{if(g.shapeFlag&6)return L(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const E=p(g.anchor||g.el),w=E&&E[Du];return w?p(w):E};let Q=!1;const Z=(g,E,w)=>{g==null?E._vnode&&ne(E._vnode,null,null,!0):T(E._vnode||null,g,E,null,null,null,w),E._vnode=g,Q||(Q=!0,hl(),xu(),Q=!1)},oe={p:T,um:ne,m:re,r:se,mt:he,mc:A,pc:K,pbc:S,n:L,o:e};return{render:Z,hydrate:void 0,createApp:M_(Z)}}function Fi({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Tn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function G_(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ra(e,t,n=!1){const r=e.children,s=t.children;if(le(r)&&le(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,a=n[o-1];o-- >0;)n[o]=a,a=t[a];return n}function af(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:af(t)}function Sl(e){if(e)for(let t=0;trt(Y_);function In(e,t,n){return lf(e,t,n)}function lf(e,t,n=Se){const{immediate:r,deep:s,flush:o,once:a}=n,l=$e({},n),c=t&&r||!t&&o!=="post";let d;if(hr){if(o==="sync"){const m=z_();d=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=At,m.resume=At,m.pause=At,m}}const f=He;l.call=(m,O,T)=>St(m,f,O,T);let h=!1;o==="post"?l.scheduler=m=>{qe(m,f&&f.suspense)}:o!=="sync"&&(h=!0,l.scheduler=(m,O)=>{O?m():Yo(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const p=d_(e,t,l);return hr&&(d?d.push(p):c&&p()),p}function X_(e,t,n){const r=this.proxy,s=Oe(e)?e.includes(".")?cf(r,e):()=>r[e]:e.bind(r,r);let o;fe(t)?o=t:(o=t.handler,n=t);const a=kn(this),l=lf(s,o.bind(r),n);return a(),l}function cf(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${mt(t)}Modifiers`]||e[`${dn(t)}Modifiers`];function J_(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Se;let s=n;const o=t.startsWith("update:"),a=o&&Q_(r,t.slice(7));a&&(a.trim&&(s=n.map(f=>Oe(f)?f.trim():f)),a.number&&(s=n.map(Js)));let l,c=r[l=Di(t)]||r[l=Di(mt(t))];!c&&o&&(c=r[l=Di(dn(t))]),c&&St(c,e,6,s);const d=r[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,St(d,e,6,s)}}const Z_=new WeakMap;function uf(e,t,n=!1){const r=n?Z_:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let a={},l=!1;if(!fe(e)){const c=d=>{const f=uf(d,t,!0);f&&(l=!0,$e(a,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Ce(e)&&r.set(e,null),null):(le(o)?o.forEach(c=>a[c]=null):$e(a,o),Ce(e)&&r.set(e,a),a)}function ci(e,t){return!e||!zs(t)?!1:(t=t.slice(2).replace(/Once$/,""),Te(e,t[0].toLowerCase()+t.slice(1))||Te(e,dn(t))||Te(e,t))}function wl(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:a,attrs:l,emit:c,render:d,renderCache:f,props:h,data:p,setupState:m,ctx:O,inheritAttrs:T}=e,x=Vs(e);let P,V;try{if(n.shapeFlag&4){const M=s||r,b=M;P=bt(d.call(b,M,f,h,m,p,O)),V=l}else{const M=t;P=bt(M.length>1?M(h,{attrs:l,slots:a,emit:c}):M(h,null)),V=t.props?l:tv(l)}}catch(M){Hr.length=0,yr(M,e,1),P=Ne(ke)}let H=P;if(V&&T!==!1){const M=Object.keys(V),{shapeFlag:b}=H;M.length&&b&7&&(o&&M.some(Vo)&&(V=nv(V,o)),H=cn(H,V,!1,!0))}return n.dirs&&(H=cn(H,null,!1,!0),H.dirs=H.dirs?H.dirs.concat(n.dirs):n.dirs),n.transition&&Mn(H,n.transition),P=H,Vs(x),P}function ev(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||zs(n))&&((t||(t={}))[n]=e[n]);return t},nv=(e,t)=>{const n={};for(const r in e)(!Vo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function rv(e,t,n){const{props:r,children:s,component:o}=e,{props:a,children:l,patchFlag:c}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Ol(r,a,d):!!a;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;let fo=0;const sv={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,a,l,c,d){if(e==null)ov(t,n,r,s,o,a,l,c,d);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}av(e,t,n,r,s,a,l,c,d)}},hydrate:lv,normalize:cv},iv=sv;function qr(e,t){const n=e.props&&e.props[t];fe(n)&&n()}function ov(e,t,n,r,s,o,a,l,c){const{p:d,o:{createElement:f}}=c,h=f("div"),p=e.suspense=df(e,s,r,t,h,n,o,a,l,c);d(null,p.pendingBranch=e.ssContent,h,null,r,p,o,a),p.deps>0?(qr(e,"onPending"),qr(e,"onFallback"),d(null,e.ssFallback,t,n,r,null,o,a),ir(p,e.ssFallback)):p.resolve(!1,!0)}function av(e,t,n,r,s,o,a,l,{p:c,um:d,o:{createElement:f}}){const h=t.suspense=e.suspense;h.vnode=t,t.el=e.el;const p=t.ssContent,m=t.ssFallback,{activeBranch:O,pendingBranch:T,isInFallback:x,isHydrating:P}=h;if(T)h.pendingBranch=p,Dt(T,p)?(c(T,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0?h.resolve():x&&(P||(c(O,m,n,r,s,null,o,a,l),ir(h,m)))):(h.pendingId=fo++,P?(h.isHydrating=!1,h.activeBranch=T):d(T,s,h),h.deps=0,h.effects.length=0,h.hiddenContainer=f("div"),x?(c(null,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0?h.resolve():(c(O,m,n,r,s,null,o,a,l),ir(h,m))):O&&Dt(O,p)?(c(O,p,n,r,s,h,o,a,l),h.resolve(!0)):(c(null,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0&&h.resolve()));else if(O&&Dt(O,p))c(O,p,n,r,s,h,o,a,l),ir(h,p);else if(qr(t,"onPending"),h.pendingBranch=p,p.shapeFlag&512?h.pendingId=p.component.suspenseId:h.pendingId=fo++,c(null,p,h.hiddenContainer,null,s,h,o,a,l),h.deps<=0)h.resolve();else{const{timeout:V,pendingId:H}=h;V>0?setTimeout(()=>{h.pendingId===H&&h.fallback(m)},V):V===0&&h.fallback(m)}}function df(e,t,n,r,s,o,a,l,c,d,f=!1){const{p:h,m:p,um:m,n:O,o:{parentNode:T,remove:x}}=d;let P;const V=fv(e);V&&t&&t.pendingBranch&&(P=t.pendingId,t.deps++);const H=e.props?Zc(e.props.timeout):void 0,M=o,b={vnode:e,parent:t,parentComponent:n,namespace:a,container:r,hiddenContainer:s,deps:0,pendingId:fo++,timeout:typeof H=="number"?H:-1,activeBranch:null,pendingBranch:null,isInFallback:!f,isHydrating:f,isUnmounted:!1,effects:[],resolve(y=!1,N=!1){const{vnode:A,activeBranch:C,pendingBranch:S,pendingId:U,effects:j,parentComponent:te,container:he,isInFallback:Ee}=b;let ie=!1;b.isHydrating?b.isHydrating=!1:y||(ie=C&&S.transition&&S.transition.mode==="out-in",ie&&(C.transition.afterLeave=()=>{U===b.pendingId&&(p(S,he,o===M?O(C):o,0),ks(j),Ee&&A.ssFallback&&(A.ssFallback.el=null))}),C&&(T(C.el)===he&&(o=O(C)),m(C,te,b,!0),!ie&&Ee&&A.ssFallback&&(A.ssFallback.el=null)),ie||p(S,he,o,0)),ir(b,S),b.pendingBranch=null,b.isInFallback=!1;let I=b.parent,K=!1;for(;I;){if(I.pendingBranch){I.effects.push(...j),K=!0;break}I=I.parent}!K&&!ie&&ks(j),b.effects=[],V&&t&&t.pendingBranch&&P===t.pendingId&&(t.deps--,t.deps===0&&!N&&t.resolve()),qr(A,"onResolve")},fallback(y){if(!b.pendingBranch)return;const{vnode:N,activeBranch:A,parentComponent:C,container:S,namespace:U}=b;qr(N,"onFallback");const j=O(A),te=()=>{b.isInFallback&&(h(null,y,S,j,C,null,U,l,c),ir(b,y))},he=y.transition&&y.transition.mode==="out-in";he&&(A.transition.afterLeave=te),b.isInFallback=!0,m(A,C,null,!0),he||te()},move(y,N,A){b.activeBranch&&p(b.activeBranch,y,N,A),b.container=y},next(){return b.activeBranch&&O(b.activeBranch)},registerDep(y,N,A){const C=!!b.pendingBranch;C&&b.deps++;const S=y.vnode.el;y.asyncDep.catch(U=>{yr(U,y,0)}).then(U=>{if(y.isUnmounted||b.isUnmounted||b.pendingId!==y.suspenseId)return;y.asyncResolved=!0;const{vnode:j}=y;go(y,U),S&&(j.el=S);const te=!S&&y.subTree.el;N(y,j,T(S||y.subTree.el),S?null:O(y.subTree),b,a,A),te&&(j.placeholder=null,x(te)),sa(y,j.el),C&&--b.deps===0&&b.resolve()})},unmount(y,N){b.isUnmounted=!0,b.activeBranch&&m(b.activeBranch,n,y,N),b.pendingBranch&&m(b.pendingBranch,n,y,N)}};return b}function lv(e,t,n,r,s,o,a,l,c){const d=t.suspense=df(t,r,n,e.parentNode,document.createElement("div"),null,s,o,a,l,!0),f=c(e,d.pendingBranch=t.ssContent,n,d,o,a);return d.deps===0&&d.resolve(!1,!0),f}function cv(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=Nl(r?n.default:n),e.ssFallback=r?Nl(n.fallback):Ne(ke)}function Nl(e){let t;if(fe(e)){const n=fr&&e._c;n&&(e._d=!1,It()),e=e(),n&&(e._d=!0,t=et,hf())}return le(e)&&(e=ev(e)),e=bt(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function uv(e,t){t&&t.pendingBranch?le(e)?t.effects.push(...e):t.effects.push(e):ks(e)}function ir(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,sa(r,s))}function fv(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Xe=Symbol.for("v-fgt"),ui=Symbol.for("v-txt"),ke=Symbol.for("v-cmt"),xs=Symbol.for("v-stc"),Hr=[];let et=null;function It(e=!1){Hr.push(et=e?null:[])}function hf(){Hr.pop(),et=Hr[Hr.length-1]||null}let fr=1;function Bs(e,t=!1){fr+=e,e<0&&et&&t&&(et.hasOnce=!0)}function pf(e){return e.dynamicChildren=fr>0?et||tr:null,hf(),fr>0&&et&&et.push(e),e}function As(e,t,n,r,s,o){return pf(er(e,t,n,r,s,o,!0))}function Yr(e,t,n,r,s){return pf(Ne(e,t,n,r,s,!0))}function dr(e){return e?e.__v_isVNode===!0:!1}function Dt(e,t){return e.type===t.type&&e.key===t.key}const gf=({key:e})=>e??null,Rs=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Oe(e)||Re(e)||fe(e)?{i:Be,r:e,k:t,f:!!n}:e:null);function er(e,t=null,n=null,r=0,s=null,o=e===Xe?0:1,a=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gf(t),ref:t&&Rs(t),scopeId:Iu,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Be};return l?(ia(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=Oe(n)?8:16),fr>0&&!a&&et&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&et.push(c),c}const Ne=dv;function dv(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===qu)&&(e=ke),dr(e)){const l=cn(e,t,!0);return n&&ia(l,n),fr>0&&!o&&et&&(l.shapeFlag&6?et[et.indexOf(e)]=l:et.push(l)),l.patchFlag=-2,l}if(Cv(e)&&(e=e.__vccOpts),t){t=hv(t);let{class:l,style:c}=t;l&&!Oe(l)&&(t.class=ti(l)),Ce(c)&&(qo(c)&&!le(c)&&(c=$e({},c)),t.style=ei(c))}const a=Oe(e)?1:ff(e)?128:Lu(e)?64:Ce(e)?4:fe(e)?2:0;return er(e,t,n,r,s,a,o,!0)}function hv(e){return e?qo(e)||ef(e)?$e({},e):e:null}function cn(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:a,children:l,transition:c}=e,d=t?mv(s||{},t):s,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&gf(d),ref:t&&t.ref?n&&o?le(o)?o.concat(Rs(t)):[o,Rs(t)]:Rs(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&cn(e.ssContent),ssFallback:e.ssFallback&&cn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Mn(f,c.clone(f)),f}function pv(e=" ",t=0){return Ne(ui,null,e,t)}function gv(e="",t=!1){return t?(It(),Yr(ke,null,e)):Ne(ke,null,e)}function bt(e){return e==null||typeof e=="boolean"?Ne(ke):le(e)?Ne(Xe,null,e.slice()):dr(e)?nn(e):Ne(ui,null,String(e))}function nn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:cn(e)}function ia(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(le(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),ia(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!ef(t)?t._ctx=Be:s===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else fe(t)?(t={default:t,_ctx:Be},n=32):(t=String(t),r&64?(n=16,t=[pv(t)]):n=8);e.children=t,e.shapeFlag|=n}function mv(...e){const t={};for(let n=0;nHe||Be;let js,ho;{const e=Zs(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(a=>a(o)):s[0](o)}};js=t("__VUE_INSTANCE_SETTERS__",n=>He=n),ho=t("__VUE_SSR_SETTERS__",n=>hr=n)}const kn=e=>{const t=He;return js(e),e.scope.on(),()=>{e.scope.off(),js(t)}},po=()=>{He&&He.scope.off(),js(null)};function mf(e){return e.vnode.shapeFlag&4}let hr=!1;function yv(e,t=!1,n=!1){t&&ho(t);const{props:r,children:s}=e.vnode,o=mf(e);V_(e,r,o,t),j_(e,s,n||t);const a=o?bv(e,t):void 0;return t&&ho(!1),a}function bv(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,N_);const{setup:r}=n;if(r){Ut();const s=e.setupContext=r.length>1?vf(e):null,o=kn(e),a=Zr(r,e,0,[e.props,s]),l=Ho(a);if(Gt(),o(),(l||e.sp)&&!sr(e)&&Qo(e),l){if(a.then(po,po),t)return a.then(c=>{go(e,c)}).catch(c=>{yr(c,e,0)});e.asyncDep=a}else go(e,a)}else _f(e)}function go(e,t,n){fe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ce(t)&&(e.setupState=Su(t)),_f(e)}function _f(e,t,n){const r=e.type;e.render||(e.render=r.render||At);{const s=kn(e);Ut();try{R_(e)}finally{Gt(),s()}}}const Av={get(e,t){return Ue(e,"get",""),e[t]}};function vf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Av),slots:e.slots,emit:e.emit,expose:t}}function fi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Su(ii(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Fr)return Fr[n](e)},has(t,n){return n in t||n in Fr}})):e.proxy}function Tv(e,t=!0){return fe(e)?e.displayName||e.name:e.name||t&&e.__name}function Cv(e){return fe(e)&&"__vccOpts"in e}const dt=(e,t)=>u_(e,t,hr);function oa(e,t,n){try{Bs(-1);const r=arguments.length;return r===2?Ce(t)&&!le(t)?dr(t)?Ne(e,null,[t]):Ne(e,t):Ne(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&dr(n)&&(n=[n]),Ne(e,t,n))}finally{Bs(1)}}const Sv="3.5.24";let mo;const xl=typeof window<"u"&&window.trustedTypes;if(xl)try{mo=xl.createPolicy("vue",{createHTML:e=>e})}catch{}const Ef=mo?e=>mo.createHTML(e):e=>e,wv="http://www.w3.org/2000/svg",Ov="http://www.w3.org/1998/Math/MathML",Ft=typeof document<"u"?document:null,Rl=Ft&&Ft.createElement("template"),Nv={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Ft.createElementNS(wv,e):t==="mathml"?Ft.createElementNS(Ov,e):n?Ft.createElement(e,{is:n}):Ft.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Ft.createTextNode(e),createComment:e=>Ft.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ft.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const a=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Rl.innerHTML=Ef(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=Rl.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Qt="transition",Nr="animation",pr=Symbol("_vtc"),yf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},bf=$e({},ku,yf),xv=e=>(e.displayName="Transition",e.props=bf,e),Il=xv((e,{slots:t})=>oa(__,Af(e),t)),Cn=(e,t=[])=>{le(e)?e.forEach(n=>n(...t)):e&&e(...t)},Dl=e=>e?le(e)?e.some(t=>t.length>1):e.length>1:!1;function Af(e){const t={};for(const j in e)j in yf||(t[j]=e[j]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:d=a,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,O=Rv(s),T=O&&O[0],x=O&&O[1],{onBeforeEnter:P,onEnter:V,onEnterCancelled:H,onLeave:M,onLeaveCancelled:b,onBeforeAppear:y=P,onAppear:N=V,onAppearCancelled:A=H}=t,C=(j,te,he,Ee)=>{j._enterCancelled=Ee,Zt(j,te?f:l),Zt(j,te?d:a),he&&he()},S=(j,te)=>{j._isLeaving=!1,Zt(j,h),Zt(j,m),Zt(j,p),te&&te()},U=j=>(te,he)=>{const Ee=j?N:V,ie=()=>C(te,j,he);Cn(Ee,[te,ie]),Ll(()=>{Zt(te,j?c:o),xt(te,j?f:l),Dl(Ee)||Pl(te,r,T,ie)})};return $e(t,{onBeforeEnter(j){Cn(P,[j]),xt(j,o),xt(j,a)},onBeforeAppear(j){Cn(y,[j]),xt(j,c),xt(j,d)},onEnter:U(!1),onAppear:U(!0),onLeave(j,te){j._isLeaving=!0;const he=()=>S(j,te);xt(j,h),j._enterCancelled?(xt(j,p),_o(j)):(_o(j),xt(j,p)),Ll(()=>{j._isLeaving&&(Zt(j,h),xt(j,m),Dl(M)||Pl(j,r,x,he))}),Cn(M,[j,he])},onEnterCancelled(j){C(j,!1,void 0,!0),Cn(H,[j])},onAppearCancelled(j){C(j,!0,void 0,!0),Cn(A,[j])},onLeaveCancelled(j){S(j),Cn(b,[j])}})}function Rv(e){if(e==null)return null;if(Ce(e))return[Hi(e.enter),Hi(e.leave)];{const t=Hi(e);return[t,t]}}function Hi(e){return Zc(e)}function xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[pr]||(e[pr]=new Set)).add(t)}function Zt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[pr];n&&(n.delete(t),n.size||(e[pr]=void 0))}function Ll(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Iv=0;function Pl(e,t,n,r){const s=e._endId=++Iv,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:a,timeout:l,propCount:c}=Tf(e,t);if(!a)return r();const d=a+"end";let f=0;const h=()=>{e.removeEventListener(d,p),o()},p=m=>{m.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[O]||"").split(", "),s=r(`${Qt}Delay`),o=r(`${Qt}Duration`),a=$l(s,o),l=r(`${Nr}Delay`),c=r(`${Nr}Duration`),d=$l(l,c);let f=null,h=0,p=0;t===Qt?a>0&&(f=Qt,h=a,p=o.length):t===Nr?d>0&&(f=Nr,h=d,p=c.length):(h=Math.max(a,d),f=h>0?a>d?Qt:Nr:null,p=f?f===Qt?o.length:c.length:0);const m=f===Qt&&/\b(?:transform|all)(?:,|$)/.test(r(`${Qt}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:m}}function $l(e,t){for(;e.lengthMl(n)+Ml(e[r])))}function Ml(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _o(e){return(e?e.ownerDocument:document).body.offsetHeight}function Dv(e,t,n){const r=e[pr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ws=Symbol("_vod"),Cf=Symbol("_vsh"),Db={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ws]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):xr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),xr(e,!0),r.enter(e)):r.leave(e,()=>{xr(e,!1)}):xr(e,t))},beforeUnmount(e,{value:t}){xr(e,t)}};function xr(e,t){e.style.display=t?e[Ws]:"none",e[Cf]=!t}const Sf=Symbol("");function Lb(e){const t=hn();if(!t)return;const n=t.ut=(s=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(o=>Ks(o,s))},r=()=>{const s=e(t.proxy);t.ce?Ks(t.ce,s):vo(t.subTree,s),n(s)};Ku(()=>{ks(r)}),Jo(()=>{In(r,At,{flush:"post"});const s=new MutationObserver(r);s.observe(t.subTree.el.parentNode,{childList:!0}),li(()=>s.disconnect())})}function vo(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{vo(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Ks(e.el,t);else if(e.type===Xe)e.children.forEach(n=>vo(n,t));else if(e.type===xs){let{el:n,anchor:r}=e;for(;n&&(Ks(n,t),n!==r);)n=n.nextSibling}}function Ks(e,t){if(e.nodeType===1){const n=e.style;let r="";for(const s in t){const o=km(t[s]);n.setProperty(`--${s}`,o),r+=`--${s}: ${o};`}n[Sf]=r}}const Lv=/(?:^|;)\s*display\s*:/;function Pv(e,t,n){const r=e.style,s=Oe(n);let o=!1;if(n&&!s){if(t)if(Oe(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();n[l]==null&&Is(r,l,"")}else for(const a in t)n[a]==null&&Is(r,a,"");for(const a in n)a==="display"&&(o=!0),Is(r,a,n[a])}else if(s){if(t!==n){const a=r[Sf];a&&(n+=";"+a),r.cssText=n,o=Lv.test(n)}}else t&&e.removeAttribute("style");Ws in e&&(e[Ws]=o?r.display:"",e[Cf]&&(r.display="none"))}const kl=/\s*!important$/;function Is(e,t,n){if(le(n))n.forEach(r=>Is(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=$v(e,t);kl.test(n)?e.setProperty(dn(r),n.replace(kl,""),"important"):e[r]=n}}const Vl=["Webkit","Moz","ms"],Bi={};function $v(e,t){const n=Bi[t];if(n)return n;let r=mt(t);if(r!=="filter"&&r in e)return Bi[t]=r;r=Qs(r);for(let s=0;sji||(Fv.then(()=>ji=0),ji=Date.now());function Bv(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;St(jv(r,n.value),t,5,[r])};return n.value=e,n.attached=Hv(),n}function jv(e,t){if(le(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Kl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Wv=(e,t,n,r,s,o)=>{const a=s==="svg";t==="class"?Dv(e,r,a):t==="style"?Pv(e,n,r):zs(t)?Vo(t)||kv(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Kv(e,t,r,a))?(Bl(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Hl(e,t,r,a,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Oe(r))?Bl(e,mt(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Hl(e,t,r,a))};function Kv(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Kl(t)&&fe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Kl(t)&&Oe(n)?!1:t in e}const wf=new WeakMap,Of=new WeakMap,Us=Symbol("_moveCb"),Ul=Symbol("_enterCb"),Uv=e=>(delete e.props.mode,e),Gv=Uv({name:"TransitionGroup",props:$e({},bf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=hn(),r=Mu();let s,o;return Uu(()=>{if(!s.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!Xv(s[0].el,n.vnode.el,a)){s=[];return}s.forEach(qv),s.forEach(Yv);const l=s.filter(zv);_o(n.vnode.el),l.forEach(c=>{const d=c.el,f=d.style;xt(d,a),f.transform=f.webkitTransform=f.transitionDuration="";const h=d[Us]=p=>{p&&p.target!==d||(!p||p.propertyName.endsWith("transform"))&&(d.removeEventListener("transitionend",h),d[Us]=null,Zt(d,a))};d.addEventListener("transitionend",h)}),s=[]}),()=>{const a=ve(e),l=Af(a);let c=a.tag||Xe;if(s=[],o)for(let d=0;d{l.split(/\s+/).forEach(c=>c&&r.classList.remove(c))}),n.split(/\s+/).forEach(l=>l&&r.classList.add(l)),r.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(r);const{hasTransform:a}=Tf(r);return o.removeChild(r),a}const un=e=>{const t=e.props["onUpdate:modelValue"]||!1;return le(t)?n=>ws(t,n):t};function Qv(e){e.target.composing=!0}function Gl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const gt=Symbol("_assign");function ql(e,t,n){return t&&(e=e.trim()),n&&(e=Js(e)),e}const Yl={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[gt]=un(s);const o=r||s.props&&s.props.type==="number";Wt(e,t?"change":"input",a=>{a.target.composing||e[gt](ql(e.value,n,o))}),(n||o)&&Wt(e,"change",()=>{e.value=ql(e.value,n,o)}),t||(Wt(e,"compositionstart",Qv),Wt(e,"compositionend",Gl),Wt(e,"change",Gl))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},a){if(e[gt]=un(a),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Js(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},Jv={deep:!0,created(e,t,n){e[gt]=un(n),Wt(e,"change",()=>{const r=e._modelValue,s=gr(e),o=e.checked,a=e[gt];if(le(r)){const l=jo(r,s),c=l!==-1;if(o&&!c)a(r.concat(s));else if(!o&&c){const d=[...r];d.splice(l,1),a(d)}}else if(Er(r)){const l=new Set(r);o?l.add(s):l.delete(s),a(l)}else a(Nf(e,o))})},mounted:zl,beforeUpdate(e,t,n){e[gt]=un(n),zl(e,t,n)}};function zl(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(le(t))s=jo(t,r.props.value)>-1;else if(Er(t))s=t.has(r.props.value);else{if(t===n)return;s=$n(t,Nf(e,!0))}e.checked!==s&&(e.checked=s)}const Zv={created(e,{value:t},n){e.checked=$n(t,n.props.value),e[gt]=un(n),Wt(e,"change",()=>{e[gt](gr(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[gt]=un(r),t!==n&&(e.checked=$n(t,r.props.value))}},eE={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=Er(t);Wt(e,"change",()=>{const o=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?Js(gr(a)):gr(a));e[gt](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,oi(()=>{e._assigning=!1})}),e[gt]=un(r)},mounted(e,{value:t}){Xl(e,t)},beforeUpdate(e,t,n){e[gt]=un(n)},updated(e,{value:t}){e._assigning||Xl(e,t)}};function Xl(e,t){const n=e.multiple,r=le(t);if(!(n&&!r&&!Er(t))){for(let s=0,o=e.options.length;sString(d)===String(l)):a.selected=jo(t,l)>-1}else a.selected=t.has(l);else if($n(gr(a),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function gr(e){return"_value"in e?e._value:e.value}function Nf(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const $b={created(e,t,n){Ts(e,t,n,null,"created")},mounted(e,t,n){Ts(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){Ts(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){Ts(e,t,n,r,"updated")}};function tE(e,t){switch(e){case"SELECT":return eE;case"TEXTAREA":return Yl;default:switch(t){case"checkbox":return Jv;case"radio":return Zv;default:return Yl}}}function Ts(e,t,n,r,s){const a=tE(e.tagName,n.props&&n.props.type)[s];a&&a(e,t,n,r)}const nE=["ctrl","shift","alt","meta"],rE={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>nE.some(n=>e[`${n}Key`]&&!t.includes(n))},Mb=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(s=>{if(!("key"in s))return;const o=dn(s.key);if(t.some(a=>a===o||sE[a]===o))return e(s)}))},iE=$e({patchProp:Wv},Nv);let Ql;function oE(){return Ql||(Ql=K_(iE))}const aE=((...e)=>{const t=oE().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=cE(r);if(!s)return;const o=t._component;!fe(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=n(s,!1,lE(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t});function lE(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function cE(e){return Oe(e)?document.querySelector(e):e}let xf;const di=e=>xf=e,Rf=Symbol();function Eo(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Br;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Br||(Br={}));function uE(){const e=su(!0),t=e.run(()=>xn({}));let n=[],r=[];const s=ii({install(o){di(s),s._a=o,o.provide(Rf,s),o.config.globalProperties.$pinia=s,r.forEach(a=>n.push(a)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const If=()=>{};function Jl(e,t,n,r=If){e.push(t);const s=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),r())};return!n&&iu()&&Vm(s),s}function zn(e,...t){e.slice().forEach(n=>{n(...t)})}const fE=e=>e(),Zl=Symbol(),Wi=Symbol();function yo(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];Eo(s)&&Eo(r)&&e.hasOwnProperty(n)&&!Re(r)&&!an(r)?e[n]=yo(s,r):e[n]=r}return e}const dE=Symbol();function hE(e){return!Eo(e)||!Object.prototype.hasOwnProperty.call(e,dE)}const{assign:en}=Object;function pE(e){return!!(Re(e)&&e.effect)}function gE(e,t,n,r){const{state:s,actions:o,getters:a}=t,l=n.state.value[e];let c;function d(){l||(n.state.value[e]=s?s():{});const f=o_(n.state.value[e]);return en(f,o,Object.keys(a||{}).reduce((h,p)=>(h[p]=ii(dt(()=>{di(n);const m=n._s.get(e);return a[p].call(m,m)})),h),{}))}return c=Df(e,d,t,n,r,!0),c}function Df(e,t,n={},r,s,o){let a;const l=en({actions:{}},n),c={deep:!0};let d,f,h=[],p=[],m;const O=r.state.value[e];!o&&!O&&(r.state.value[e]={}),xn({});let T;function x(A){let C;d=f=!1,typeof A=="function"?(A(r.state.value[e]),C={type:Br.patchFunction,storeId:e,events:m}):(yo(r.state.value[e],A),C={type:Br.patchObject,payload:A,storeId:e,events:m});const S=T=Symbol();oi().then(()=>{T===S&&(d=!0)}),f=!0,zn(h,C,r.state.value[e])}const P=o?function(){const{state:C}=n,S=C?C():{};this.$patch(U=>{en(U,S)})}:If;function V(){a.stop(),h=[],p=[],r._s.delete(e)}const H=(A,C="")=>{if(Zl in A)return A[Wi]=C,A;const S=function(){di(r);const U=Array.from(arguments),j=[],te=[];function he(I){j.push(I)}function Ee(I){te.push(I)}zn(p,{args:U,name:S[Wi],store:b,after:he,onError:Ee});let ie;try{ie=A.apply(this&&this.$id===e?this:b,U)}catch(I){throw zn(te,I),I}return ie instanceof Promise?ie.then(I=>(zn(j,I),I)).catch(I=>(zn(te,I),Promise.reject(I))):(zn(j,ie),ie)};return S[Zl]=!0,S[Wi]=C,S},M={_p:r,$id:e,$onAction:Jl.bind(null,p),$patch:x,$reset:P,$subscribe(A,C={}){const S=Jl(h,A,C.detached,()=>U()),U=a.run(()=>In(()=>r.state.value[e],j=>{(C.flush==="sync"?f:d)&&A({storeId:e,type:Br.direct,events:m},j)},en({},c,C)));return S},$dispose:V},b=Jr(M);r._s.set(e,b);const N=(r._a&&r._a.runWithContext||fE)(()=>r._e.run(()=>(a=su()).run(()=>t({action:H}))));for(const A in N){const C=N[A];if(Re(C)&&!pE(C)||an(C))o||(O&&hE(C)&&(Re(C)?C.value=O[A]:yo(C,O[A])),r.state.value[e][A]=C);else if(typeof C=="function"){const S=H(C,A);N[A]=S,l.actions[A]=C}}return en(b,N),en(ve(b),N),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:A=>{x(C=>{en(C,A)})}}),r._p.forEach(A=>{en(b,a.run(()=>A({store:b,app:r._a,pinia:r,options:l})))}),O&&o&&n.hydrate&&n.hydrate(b.$state,O),d=!0,f=!0,b}function Lf(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(a,l){const c=k_();return a=a||(c?rt(Rf,null):null),a&&di(a),a=xf,a._s.has(e)||(s?Df(e,t,r,a):gE(e,r,a)),a._s.get(e)}return o.$id=e,o}const mE="/static/dist/WGDashboardAdmin/img/Logo-2-Rounded-512x512.png";const Zn=typeof document<"u";function Pf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function _E(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Pf(e.default)}const Ae=Object.assign;function Ki(e,t){const n={};for(const r in t){const s=t[r];n[r]=wt(s)?s.map(e):e(s)}return n}const jr=()=>{},wt=Array.isArray;function ec(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const $f=/#/g,vE=/&/g,EE=/\//g,yE=/=/g,bE=/\?/g,Mf=/\+/g,AE=/%5B/g,TE=/%5D/g,kf=/%5E/g,CE=/%60/g,Vf=/%7B/g,SE=/%7C/g,Ff=/%7D/g,wE=/%20/g;function aa(e){return e==null?"":encodeURI(""+e).replace(SE,"|").replace(AE,"[").replace(TE,"]")}function OE(e){return aa(e).replace(Vf,"{").replace(Ff,"}").replace(kf,"^")}function bo(e){return aa(e).replace(Mf,"%2B").replace(wE,"+").replace($f,"%23").replace(vE,"%26").replace(CE,"`").replace(Vf,"{").replace(Ff,"}").replace(kf,"^")}function NE(e){return bo(e).replace(yE,"%3D")}function xE(e){return aa(e).replace($f,"%23").replace(bE,"%3F")}function RE(e){return xE(e).replace(EE,"%2F")}function zr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const IE=/\/$/,DE=e=>e.replace(IE,"");function Ui(e,t,n="/"){let r,s={},o="",a="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(r=t.slice(0,c),o=t.slice(c,l>0?l:t.length),s=e(o.slice(1))),l>=0&&(r=r||t.slice(0,l),a=t.slice(l,t.length)),r=ME(r??t,n),{fullPath:r+o+a,path:r,query:s,hash:zr(a)}}function LE(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function tc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function PE(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&mr(t.matched[r],n.matched[s])&&Hf(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function mr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Hf(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!$E(e[n],t[n]))return!1;return!0}function $E(e,t){return wt(e)?nc(e,t):wt(t)?nc(t,e):e===t}function nc(e,t){return wt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function ME(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,a,l;for(a=0;a1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(a).join("/")}const Jt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ao=(function(e){return e.pop="pop",e.push="push",e})({}),Gi=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function kE(e){if(!e)if(Zn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),DE(e)}const VE=/^[^#]+#/;function FE(e,t){return e.replace(VE,"#")+t}function HE(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const hi=()=>({left:window.scrollX,top:window.scrollY});function BE(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=HE(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function rc(e,t){return(history.state?history.state.position-t:-1)+e}const To=new Map;function jE(e,t){To.set(e,t)}function WE(e){const t=To.get(e);return To.delete(e),t}function KE(e){return typeof e=="string"||e&&typeof e=="object"}function Bf(e){return typeof e=="string"||typeof e=="symbol"}let xe=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const jf=Symbol("");xe.MATCHER_NOT_FOUND+"",xe.NAVIGATION_GUARD_REDIRECT+"",xe.NAVIGATION_ABORTED+"",xe.NAVIGATION_CANCELLED+"",xe.NAVIGATION_DUPLICATED+"";function _r(e,t){return Ae(new Error,{type:e,[jf]:!0},t)}function Vt(e,t){return e instanceof Error&&jf in e&&(t==null||!!(e.type&t))}const UE=["params","query","hash"];function GE(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of UE)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function qE(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&bo(s)):[r&&bo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function YE(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=wt(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Wf=Symbol(""),ic=Symbol(""),pi=Symbol(""),la=Symbol(""),Co=Symbol("");function Rr(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function zE(e,t,n){const r=()=>{e[t].delete(n)};li(r),ju(r),Bu(()=>{e[t].add(n)}),e[t].add(n)}function Vb(e){const t=rt(Wf,{}).value;t&&zE(t,"updateGuards",e)}function rn(e,t,n,r,s,o=a=>a()){const a=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((l,c)=>{const d=p=>{p===!1?c(_r(xe.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):KE(p)?c(_r(xe.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(a&&r.enterCallbacks[s]===a&&typeof p=="function"&&a.push(p),l())},f=o(()=>e.call(r&&r.instances[s],t,n,d));let h=Promise.resolve(f);e.length<3&&(h=h.then(d)),h.catch(p=>c(p))})}function qi(e,t,n,r,s=o=>o()){const o=[];for(const a of e)for(const l in a.components){let c=a.components[l];if(!(t!=="beforeRouteEnter"&&!a.instances[l]))if(Pf(c)){const d=(c.__vccOpts||c)[t];d&&o.push(rn(d,n,r,a,l,s))}else{let d=c();o.push(()=>d.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${a.path}"`);const h=_E(f)?f.default:f;a.mods[l]=f,a.components[l]=h;const p=(h.__vccOpts||h)[t];return p&&rn(p,n,r,a,l,s)()}))}}return o}function XE(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let a=0;amr(d,l))?r.push(l):n.push(l));const c=e.matched[a];c&&(t.matched.find(d=>mr(d,c))||s.push(c))}return[n,r,s]}let QE=()=>location.protocol+"//"+location.host;function Kf(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),tc(l,"")}return tc(n,e)+r+s}function JE(e,t,n,r){let s=[],o=[],a=null;const l=({state:p})=>{const m=Kf(e,location),O=n.value,T=t.value;let x=0;if(p){if(n.value=m,t.value=p,a&&a===O){a=null;return}x=T?p.position-T.position:0}else r(m);s.forEach(P=>{P(n.value,O,{delta:x,type:Ao.pop,direction:x?x>0?Gi.forward:Gi.back:Gi.unknown})})};function c(){a=n.value}function d(p){s.push(p);const m=()=>{const O=s.indexOf(p);O>-1&&s.splice(O,1)};return o.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(Ae({},p.state,{scroll:hi()}),"")}}function h(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:d,destroy:h}}function oc(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?hi():null}}function ZE(e){const{history:t,location:n}=window,r={value:Kf(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,d,f){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:QE()+e+c;try{t[f?"replaceState":"pushState"](d,"",p),s.value=d}catch(m){console.error(m),n[f?"replace":"assign"](p)}}function a(c,d){o(c,Ae({},t.state,oc(s.value.back,c,s.value.forward,!0),d,{position:s.value.position}),!0),r.value=c}function l(c,d){const f=Ae({},s.value,t.state,{forward:c,scroll:hi()});o(f.current,f,!0),o(c,Ae({},oc(r.value,c,null),{position:f.position+1},d),!1),r.value=c}return{location:r,state:s,push:l,replace:a}}function ey(e){e=kE(e);const t=ZE(e),n=JE(e,t.state,t.location,t.replace);function r(o,a=!0){a||n.pauseListeners(),history.go(o)}const s=Ae({location:"",base:e,go:r,createHref:FE.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function ty(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),ey(e)}let wn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Pe=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Pe||{});const ny={type:wn.Static,value:""},ry=/[a-zA-Z0-9_]/;function sy(e){if(!e)return[[]];if(e==="/")return[[ny]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${d}": ${m}`)}let n=Pe.Static,r=n;const s=[];let o;function a(){o&&s.push(o),o=[]}let l=0,c,d="",f="";function h(){d&&(n===Pe.Static?o.push({type:wn.Static,value:d}):n===Pe.Param||n===Pe.ParamRegExp||n===Pe.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:wn.Param,value:d,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),d="")}function p(){d+=c}for(;lt.length?t.length===1&&t[0]===Ye.Static+Ye.Segment?1:-1:0}function Uf(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const cy={strict:!1,end:!0,sensitive:!1};function uy(e,t,n){const r=ay(sy(e.path),n),s=Ae(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function fy(e,t){const n=[],r=new Map;t=ec(cy,t);function s(h){return r.get(h)}function o(h,p,m){const O=!m,T=uc(h);T.aliasOf=m&&m.record;const x=ec(t,h),P=[T];if("alias"in h){const M=typeof h.alias=="string"?[h.alias]:h.alias;for(const b of M)P.push(uc(Ae({},T,{components:m?m.record.components:T.components,path:b,aliasOf:m?m.record:T})))}let V,H;for(const M of P){const{path:b}=M;if(p&&b[0]!=="/"){const y=p.record.path,N=y[y.length-1]==="/"?"":"/";M.path=p.record.path+(b&&N+b)}if(V=uy(M,p,x),m?m.alias.push(V):(H=H||V,H!==V&&H.alias.push(V),O&&h.name&&!fc(V)&&a(h.name)),Gf(V)&&c(V),T.children){const y=T.children;for(let N=0;N{a(H)}:jr}function a(h){if(Bf(h)){const p=r.get(h);p&&(r.delete(h),n.splice(n.indexOf(p),1),p.children.forEach(a),p.alias.forEach(a))}else{const p=n.indexOf(h);p>-1&&(n.splice(p,1),h.record.name&&r.delete(h.record.name),h.children.forEach(a),h.alias.forEach(a))}}function l(){return n}function c(h){const p=py(h,n);n.splice(p,0,h),h.record.name&&!fc(h)&&r.set(h.record.name,h)}function d(h,p){let m,O={},T,x;if("name"in h&&h.name){if(m=r.get(h.name),!m)throw _r(xe.MATCHER_NOT_FOUND,{location:h});x=m.record.name,O=Ae(cc(p.params,m.keys.filter(H=>!H.optional).concat(m.parent?m.parent.keys.filter(H=>H.optional):[]).map(H=>H.name)),h.params&&cc(h.params,m.keys.map(H=>H.name))),T=m.stringify(O)}else if(h.path!=null)T=h.path,m=n.find(H=>H.re.test(T)),m&&(O=m.parse(T),x=m.record.name);else{if(m=p.name?r.get(p.name):n.find(H=>H.re.test(p.path)),!m)throw _r(xe.MATCHER_NOT_FOUND,{location:h,currentLocation:p});x=m.record.name,O=Ae({},p.params,h.params),T=m.stringify(O)}const P=[];let V=m;for(;V;)P.unshift(V.record),V=V.parent;return{name:x,path:T,params:O,matched:P,meta:hy(P)}}e.forEach(h=>o(h));function f(){n.length=0,r.clear()}return{addRoute:o,resolve:d,removeRoute:a,clearRoutes:f,getRoutes:l,getRecordMatcher:s}}function cc(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function uc(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:dy(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function dy(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function fc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function hy(e){return e.reduce((t,n)=>Ae(t,n.meta),{})}function py(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;Uf(e,t[o])<0?r=o:n=o+1}const s=gy(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function gy(e){let t=e;for(;t=t.parent;)if(Gf(t)&&Uf(e,t)===0)return t}function Gf({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function dc(e){const t=rt(pi),n=rt(la),r=dt(()=>{const c=nt(e.to);return t.resolve(c)}),s=dt(()=>{const{matched:c}=r.value,{length:d}=c,f=c[d-1],h=n.matched;if(!f||!h.length)return-1;const p=h.findIndex(mr.bind(null,f));if(p>-1)return p;const m=hc(c[d-2]);return d>1&&hc(f)===m&&h[h.length-1].path!==m?h.findIndex(mr.bind(null,c[d-2])):p}),o=dt(()=>s.value>-1&&yy(n.params,r.value.params)),a=dt(()=>s.value>-1&&s.value===n.matched.length-1&&Hf(n.params,r.value.params));function l(c={}){if(Ey(c)){const d=t[nt(e.replace)?"replace":"push"](nt(e.to)).catch(jr);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:r,href:dt(()=>r.value.href),isActive:o,isExactActive:a,navigate:l}}function my(e){return e.length===1?e[0]:e}const _y=Xo({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:dc,setup(e,{slots:t}){const n=Jr(dc(e)),{options:r}=rt(pi),s=dt(()=>({[pc(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[pc(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&my(t.default(n));return e.custom?o:oa("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),vy=_y;function Ey(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function yy(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!wt(s)||s.length!==r.length||r.some((o,a)=>o!==s[a]))return!1}return!0}function hc(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const pc=(e,t,n)=>e??t??n,by=Xo({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=rt(Co),s=dt(()=>e.route||r.value),o=rt(ic,0),a=dt(()=>{let d=nt(o);const{matched:f}=s.value;let h;for(;(h=f[d])&&!h.components;)d++;return d}),l=dt(()=>s.value.matched[a.value]);Ns(ic,dt(()=>a.value+1)),Ns(Wf,l),Ns(Co,s);const c=xn();return In(()=>[c.value,l.value,e.name],([d,f,h],[p,m,O])=>{f&&(f.instances[h]=d,m&&m!==f&&d&&d===p&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),d&&f&&(!m||!mr(f,m)||!p)&&(f.enterCallbacks[h]||[]).forEach(T=>T(d))},{flush:"post"}),()=>{const d=s.value,f=e.name,h=l.value,p=h&&h.components[f];if(!p)return gc(n.default,{Component:p,route:d});const m=h.props[f],O=m?m===!0?d.params:typeof m=="function"?m(d):m:null,x=oa(p,Ae({},O,t,{onVnodeUnmounted:P=>{P.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return gc(n.default,{Component:x,route:d})||x}}});function gc(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const qf=by;function Ay(e){const t=fy(e.routes,e),n=e.parseQuery||qE,r=e.stringifyQuery||sc,s=e.history,o=Rr(),a=Rr(),l=Rr(),c=Tu(Jt);let d=Jt;Zn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Ki.bind(null,L=>""+L),h=Ki.bind(null,RE),p=Ki.bind(null,zr);function m(L,Q){let Z,oe;return Bf(L)?(Z=t.getRecordMatcher(L),oe=Q):oe=L,t.addRoute(oe,Z)}function O(L){const Q=t.getRecordMatcher(L);Q&&t.removeRoute(Q)}function T(){return t.getRoutes().map(L=>L.record)}function x(L){return!!t.getRecordMatcher(L)}function P(L,Q){if(Q=Ae({},Q||c.value),typeof L=="string"){const w=Ui(n,L,Q.path),$=t.resolve({path:w.path},Q),B=s.createHref(w.fullPath);return Ae(w,$,{params:p($.params),hash:zr(w.hash),redirectedFrom:void 0,href:B})}let Z;if(L.path!=null)Z=Ae({},L,{path:Ui(n,L.path,Q.path).path});else{const w=Ae({},L.params);for(const $ in w)w[$]==null&&delete w[$];Z=Ae({},L,{params:h(w)}),Q.params=h(Q.params)}const oe=t.resolve(Z,Q),D=L.hash||"";oe.params=f(p(oe.params));const g=LE(r,Ae({},L,{hash:OE(D),path:oe.path})),E=s.createHref(g);return Ae({fullPath:g,hash:D,query:r===sc?YE(L.query):L.query||{}},oe,{redirectedFrom:void 0,href:E})}function V(L){return typeof L=="string"?Ui(n,L,c.value.path):Ae({},L)}function H(L,Q){if(d!==L)return _r(xe.NAVIGATION_CANCELLED,{from:Q,to:L})}function M(L){return N(L)}function b(L){return M(Ae(V(L),{replace:!0}))}function y(L,Q){const Z=L.matched[L.matched.length-1];if(Z&&Z.redirect){const{redirect:oe}=Z;let D=typeof oe=="function"?oe(L,Q):oe;return typeof D=="string"&&(D=D.includes("?")||D.includes("#")?D=V(D):{path:D},D.params={}),Ae({query:L.query,hash:L.hash,params:D.path!=null?{}:L.params},D)}}function N(L,Q){const Z=d=P(L),oe=c.value,D=L.state,g=L.force,E=L.replace===!0,w=y(Z,oe);if(w)return N(Ae(V(w),{state:typeof w=="object"?Ae({},D,w.state):D,force:g,replace:E}),Q||Z);const $=Z;$.redirectedFrom=Q;let B;return!g&&PE(r,oe,Z)&&(B=_r(xe.NAVIGATION_DUPLICATED,{to:$,from:oe}),re(oe,oe,!0,!1)),(B?Promise.resolve(B):S($,oe)).catch(F=>Vt(F)?Vt(F,xe.NAVIGATION_GUARD_REDIRECT)?F:X(F):K(F,$,oe)).then(F=>{if(F){if(Vt(F,xe.NAVIGATION_GUARD_REDIRECT))return N(Ae({replace:E},V(F.to),{state:typeof F.to=="object"?Ae({},D,F.to.state):D,force:g}),Q||$)}else F=j($,oe,!0,E,D);return U($,oe,F),F})}function A(L,Q){const Z=H(L,Q);return Z?Promise.reject(Z):Promise.resolve()}function C(L){const Q=de.values().next().value;return Q&&typeof Q.runWithContext=="function"?Q.runWithContext(L):L()}function S(L,Q){let Z;const[oe,D,g]=XE(L,Q);Z=qi(oe.reverse(),"beforeRouteLeave",L,Q);for(const w of oe)w.leaveGuards.forEach($=>{Z.push(rn($,L,Q))});const E=A.bind(null,L,Q);return Z.push(E),ye(Z).then(()=>{Z=[];for(const w of o.list())Z.push(rn(w,L,Q));return Z.push(E),ye(Z)}).then(()=>{Z=qi(D,"beforeRouteUpdate",L,Q);for(const w of D)w.updateGuards.forEach($=>{Z.push(rn($,L,Q))});return Z.push(E),ye(Z)}).then(()=>{Z=[];for(const w of g)if(w.beforeEnter)if(wt(w.beforeEnter))for(const $ of w.beforeEnter)Z.push(rn($,L,Q));else Z.push(rn(w.beforeEnter,L,Q));return Z.push(E),ye(Z)}).then(()=>(L.matched.forEach(w=>w.enterCallbacks={}),Z=qi(g,"beforeRouteEnter",L,Q,C),Z.push(E),ye(Z))).then(()=>{Z=[];for(const w of a.list())Z.push(rn(w,L,Q));return Z.push(E),ye(Z)}).catch(w=>Vt(w,xe.NAVIGATION_CANCELLED)?w:Promise.reject(w))}function U(L,Q,Z){l.list().forEach(oe=>C(()=>oe(L,Q,Z)))}function j(L,Q,Z,oe,D){const g=H(L,Q);if(g)return g;const E=Q===Jt,w=Zn?history.state:{};Z&&(oe||E?s.replace(L.fullPath,Ae({scroll:E&&w&&w.scroll},D)):s.push(L.fullPath,D)),c.value=L,re(L,Q,Z,E),X()}let te;function he(){te||(te=s.listen((L,Q,Z)=>{if(!me.listening)return;const oe=P(L),D=y(oe,me.currentRoute.value);if(D){N(Ae(D,{replace:!0,force:!0}),oe).catch(jr);return}d=oe;const g=c.value;Zn&&jE(rc(g.fullPath,Z.delta),hi()),S(oe,g).catch(E=>Vt(E,xe.NAVIGATION_ABORTED|xe.NAVIGATION_CANCELLED)?E:Vt(E,xe.NAVIGATION_GUARD_REDIRECT)?(N(Ae(V(E.to),{force:!0}),oe).then(w=>{Vt(w,xe.NAVIGATION_ABORTED|xe.NAVIGATION_DUPLICATED)&&!Z.delta&&Z.type===Ao.pop&&s.go(-1,!1)}).catch(jr),Promise.reject()):(Z.delta&&s.go(-Z.delta,!1),K(E,oe,g))).then(E=>{E=E||j(oe,g,!1),E&&(Z.delta&&!Vt(E,xe.NAVIGATION_CANCELLED)?s.go(-Z.delta,!1):Z.type===Ao.pop&&Vt(E,xe.NAVIGATION_ABORTED|xe.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),U(oe,g,E)}).catch(jr)}))}let Ee=Rr(),ie=Rr(),I;function K(L,Q,Z){X(L);const oe=ie.list();return oe.length?oe.forEach(D=>D(L,Q,Z)):console.error(L),Promise.reject(L)}function G(){return I&&c.value!==Jt?Promise.resolve():new Promise((L,Q)=>{Ee.add([L,Q])})}function X(L){return I||(I=!L,he(),Ee.list().forEach(([Q,Z])=>L?Z(L):Q()),Ee.reset()),L}function re(L,Q,Z,oe){const{scrollBehavior:D}=e;if(!Zn||!D)return Promise.resolve();const g=!Z&&WE(rc(L.fullPath,0))||(oe||!Z)&&history.state&&history.state.scroll||null;return oi().then(()=>D(L,Q,g)).then(E=>E&&BE(E)).catch(E=>K(E,L,Q))}const ne=L=>s.go(L);let se;const de=new Set,me={currentRoute:c,listening:!0,addRoute:m,removeRoute:O,clearRoutes:t.clearRoutes,hasRoute:x,getRoutes:T,resolve:P,options:e,push:M,replace:b,go:ne,back:()=>ne(-1),forward:()=>ne(1),beforeEach:o.add,beforeResolve:a.add,afterEach:l.add,onError:ie.add,isReady:G,install(L){L.component("RouterLink",vy),L.component("RouterView",qf),L.config.globalProperties.$router=me,Object.defineProperty(L.config.globalProperties,"$route",{enumerable:!0,get:()=>nt(c)}),Zn&&!se&&c.value===Jt&&(se=!0,M(s.location).catch(oe=>{}));const Q={};for(const oe in Jt)Object.defineProperty(Q,oe,{get:()=>c.value[oe],enumerable:!0});L.provide(pi,me),L.provide(la,Au(Q)),L.provide(Co,c);const Z=L.unmount;de.add(L),L.unmount=function(){de.delete(L),de.size<1&&(d=Jt,te&&te(),te=null,c.value=Jt,se=!1,I=!1),Z()}}};function ye(L){return L.reduce((Q,Z)=>Q.then(()=>C(Z)),Promise.resolve())}return me}function Fb(){return rt(pi)}function Ty(e){return rt(la)}const Cy="modulepreload",Sy=function(e){return"/static/dist/WGDashboardAdmin/"+e},mc={},De=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let c=function(d){return Promise.all(d.map(f=>Promise.resolve(f).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=c(n.map(d=>{if(d=Sy(d),d in mc)return;mc[d]=!0;const f=d.endsWith(".css"),h=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${h}`))return;const p=document.createElement("link");if(p.rel=f?"stylesheet":Cy,f||(p.as="script"),p.crossOrigin="",p.href=d,l&&p.setAttribute("nonce",l),document.head.appendChild(p),f)return new Promise((m,O)=>{p.addEventListener("load",m),p.addEventListener("error",()=>O(new Error(`Unable to preload CSS for ${d}`)))})}))}function o(a){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=a,window.dispatchEvent(l),!l.defaultPrevented)throw a}return s.then(a=>{for(const l of a||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},_c="[a-fA-F\\d:]",sn=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${_c})|(?<=${_c})(?=\\s|$))`:"",yt="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Le="[a-fA-F\\d]{1,4}",gi=` (?: (?:${Le}:){7}(?:${Le}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 @@ -11,4 +11,4 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-ElUmKQXl. (?::(?:(?::${Le}){0,5}:${yt}|(?::${Le}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4 )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1 `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),wy=new RegExp(`(?:^${yt}$)|(?:^${gi}$)`),Oy=new RegExp(`^${yt}$`),Ny=new RegExp(`^${gi}$`),mi=e=>e&&e.exact?wy:new RegExp(`(?:${sn(e)}${yt}${sn(e)})|(?:${sn(e)}${gi}${sn(e)})`,"g");mi.v4=e=>e&&e.exact?Oy:new RegExp(`${sn(e)}${yt}${sn(e)}`,"g");mi.v6=e=>e&&e.exact?Ny:new RegExp(`${sn(e)}${gi}${sn(e)}`,"g");const Yf={exact:!1},zf=`${mi.v4().source}\\/(3[0-2]|[12]?[0-9])`,Xf=`${mi.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,xy=new RegExp(`^${zf}$`),Ry=new RegExp(`^${Xf}$`),Iy=({exact:e}=Yf)=>e?xy:new RegExp(zf,"g"),Dy=({exact:e}=Yf)=>e?Ry:new RegExp(Xf,"g"),Qf=Iy({exact:!0}),Jf=Dy({exact:!0}),ca=e=>Qf.test(e)?4:Jf.test(e)?6:0;ca.v4=e=>Qf.test(e);ca.v6=e=>Jf.test(e);const tt=e=>{const t=Vn();if(t.Locale===null)return e;const r=Object.keys(t.Locale).filter(s=>e.match(new RegExp("^"+s+"$","gi"))!==null);return r.length===0||r.length>1||t.Locale[r[0]].length===0?e:e.replace(new RegExp(r[0],"gi"),t.Locale[r[0]])};var Yi={},zi,vc;function Ly(){return vc||(vc=1,zi={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),zi}var Xi,Ec;function Py(){if(Ec)return Xi;Ec=1;var e={px:{px:1,cm:96/2.54,mm:96/25.4,in:96,pt:96/72,pc:16},cm:{px:2.54/96,cm:1,mm:.1,in:2.54,pt:2.54/72,pc:2.54/6},mm:{px:25.4/96,cm:10,mm:1,in:25.4,pt:25.4/72,pc:25.4/6},in:{px:1/96,cm:1/2.54,mm:1/25.4,in:1,pt:1/72,pc:1/6},pt:{px:.75,cm:72/2.54,mm:72/25.4,in:72,pt:1,pc:12},pc:{px:6/96,cm:6/2.54,mm:6/25.4,in:6,pt:6/72,pc:1},deg:{deg:1,grad:.9,rad:180/Math.PI,turn:360},grad:{deg:400/360,grad:1,rad:200/Math.PI,turn:400},rad:{deg:Math.PI/180,grad:Math.PI/200,rad:1,turn:Math.PI*2},turn:{deg:1/360,grad:1/400,rad:.5/Math.PI,turn:1},s:{s:1,ms:1/1e3},ms:{s:1e3,ms:1},Hz:{Hz:1,kHz:1e3},kHz:{Hz:1/1e3,kHz:1},dpi:{dpi:1,dpcm:1/2.54,dppx:1/96},dpcm:{dpi:2.54,dpcm:1,dppx:2.54/96},dppx:{dpi:96,dpcm:96/2.54,dppx:1}};return Xi=function(t,n,r,s){if(!e.hasOwnProperty(r))throw new Error("Cannot convert to "+r);if(!e[r].hasOwnProperty(n))throw new Error("Cannot convert from "+n+" to "+r);var o=e[r][n]*t;return s!==!1?(s=Math.pow(10,parseInt(s)||5),Math.round(o*s)/s):o},Xi}var yc;function $y(){return yc||(yc=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.fromRgba=A,e.fromRgb=C,e.fromHsla=S,e.fromHsl=U,e.fromString=Ee,e.default=void 0;var t=r(Ly()),n=r(Py());function r(I){return I&&I.__esModule?I:{default:I}}function s(I,K){if(!(I instanceof K))throw new TypeError("Cannot call a class as a function")}function o(I,K){for(var G=0;GI.length)&&(K=I.length);for(var G=0,X=new Array(K);G"u"||!(Symbol.iterator in Object(I)))){var G=[],X=!0,re=!1,ne=void 0;try{for(var se=I[Symbol.iterator](),de;!(X=(de=se.next()).done)&&(G.push(de.value),!(K&&G.length===K));X=!0);}catch(me){re=!0,ne=me}finally{try{!X&&se.return!=null&&se.return()}finally{if(re)throw ne}}return G}}function p(I){if(Array.isArray(I))return I}var m=/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?$/,O=/^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])?$/,T=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,x=/^rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,P=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,V=/^rgba?\(\s*(\d+%)\s+(\d+%)\s+(\d+%)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,H=/^hsla?\(\s*(\d+)(deg|rad|grad|turn)?\s*,\s*(\d+)%\s*,\s*(\d+)%(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/;function M(I,K){return I.indexOf(K)>-1}function b(I,K,G){var X=I/255,re=K/255,ne=G/255,se=Math.max(X,re,ne),de=Math.min(X,re,ne),me=se-de,ye=(se+de)/2;if(me===0)return[0,0,ye*100];var L=me/(1-Math.abs(2*ye-1)),Q=(function(){switch(se){case X:return(re-ne)/me%6;case re:return(ne-X)/me+2;default:return(X-re)/me+4}})();return[Q*60,L*100,ye*100]}function y(I,K,G){var X=I/60,re=K/100,ne=G/100,se=(1-Math.abs(2*ne-1))*re,de=se*(1-Math.abs(X%2-1)),me=ne-se/2,ye=(function(){return X<1?[se,de,0]:X<2?[de,se,0]:X<3?[0,se,de]:X<4?[0,de,se]:X<5?[de,0,se]:[se,0,de]})(),L=l(ye,3),Q=L[0],Z=L[1],oe=L[2];return[(Q+me)*255,(Z+me)*255,(oe+me)*255]}var N=(function(){function I(K){var G=l(K,4),X=G[0],re=G[1],ne=G[2],se=G[3];s(this,I),this.values=[Math.max(Math.min(parseInt(X,10),255),0),Math.max(Math.min(parseInt(re,10),255),0),Math.max(Math.min(parseInt(ne,10),255),0),se==null?1:Math.max(Math.min(parseFloat(se),255),0)]}return a(I,[{key:"toRgbString",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3];return se===1?"rgb(".concat(X,", ").concat(re,", ").concat(ne,")"):"rgba(".concat(X,", ").concat(re,", ").concat(ne,", ").concat(se,")")}},{key:"toHslString",value:function(){var G=this.toHslaArray(),X=l(G,4),re=X[0],ne=X[1],se=X[2],de=X[3];return de===1?"hsl(".concat(re,", ").concat(ne,"%, ").concat(se,"%)"):"hsla(".concat(re,", ").concat(ne,"%, ").concat(se,"%, ").concat(de,")")}},{key:"toHexString",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3];return X=Number(X).toString(16).padStart(2,"0"),re=Number(re).toString(16).padStart(2,"0"),ne=Number(ne).toString(16).padStart(2,"0"),se=se<1?parseInt(se*255,10).toString(16).padStart(2,"0"):"","#".concat(X).concat(re).concat(ne).concat(se)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3],de=b(X,re,ne),me=l(de,3),ye=me[0],L=me[1],Q=me[2];return[ye,L,Q,se]}}]),I})();function A(I){var K=l(I,4),G=K[0],X=K[1],re=K[2],ne=K[3];return new N([G,X,re,ne])}function C(I){var K=l(I,3),G=K[0],X=K[1],re=K[2];return A([G,X,re,1])}function S(I){var K=l(I,4),G=K[0],X=K[1],re=K[2],ne=K[3],se=y(G,X,re),de=l(se,3),me=de[0],ye=de[1],L=de[2];return A([me,ye,L,ne])}function U(I){var K=l(I,3),G=K[0],X=K[1],re=K[2];return S([G,X,re,1])}function j(I){var K=m.exec(I)||O.exec(I),G=l(K,5),X=G[1],re=G[2],ne=G[3],se=G[4];return X=parseInt(X.length<2?X.repeat(2):X,16),re=parseInt(re.length<2?re.repeat(2):re,16),ne=parseInt(ne.length<2?ne.repeat(2):ne,16),se=se&&(parseInt(se.length<2?se.repeat(2):se,16)/255).toPrecision(1)||1,A([X,re,ne,se])}function te(I){var K=T.exec(I)||P.exec(I)||x.exec(I)||V.exec(I),G=l(K,5),X=G[1],re=G[2],ne=G[3],se=G[4];return X=M(X,"%")?parseInt(X,10)*255/100:parseInt(X,10),re=M(re,"%")?parseInt(re,10)*255/100:parseInt(re,10),ne=M(ne,"%")>0?parseInt(ne,10)*255/100:parseInt(ne,10),se=se===void 0?1:parseFloat(se)/(M(se,"%")?100:1),A([X,re,ne,se])}function he(I){var K=H.exec(I),G=l(K,6),X=G[1],re=G[2],ne=G[3],se=G[4],de=G[5];return re=re||"deg",X=(0,n.default)(parseFloat(X),re,"deg"),ne=parseFloat(ne),se=parseFloat(se),de=de===void 0?1:parseFloat(de)/(M(de,"%")?100:1),S([X,ne,se,de])}function Ee(I){return t.default[I]?C(t.default[I]):m.test(I)||O.test(I)?j(I):T.test(I)||P.test(I)||x.test(I)||V.test(I)?te(I):H.test(I)?he(I):null}var ie={fromString:Ee,fromRgb:C,fromRgba:A,fromHsl:U,fromHsla:S};e.default=ie})(Yi)),Yi}var My=$y();const ky=Lf("WireguardConfigurationsStore",{state:()=>({Configurations:[],ConfigurationLoaded:!1,searchString:"",ConfigurationListInterval:void 0,Filter:{HiddenTags:[],ShowAllPeersWhenHiddenTags:!0},SortOptions:{Name:tt("Name"),Status:tt("Status"),"DataUsage.Total":tt("Total Usage")},CurrentSort:{key:"Name",order:"asc"},CurrentDisplay:"List",PeerScheduleJobs:{dropdowns:{Field:[{display:tt("Total Received"),value:"total_receive",unit:"GB",type:"number"},{display:tt("Total Sent"),value:"total_sent",unit:"GB",type:"number"},{display:tt("Total Usage"),value:"total_data",unit:"GB",type:"number"},{display:tt("Date"),value:"date",type:"date"}],Operator:[{display:tt("larger than"),value:"lgt"}],Action:[{display:tt("Restrict Peer"),value:"restrict"},{display:tt("Delete Peer"),value:"delete"},{display:tt("Reset Total Data Usage"),value:"reset_total_data_usage"}]}}}),getters:{sortConfigurations(){return[...this.Configurations].sort((e,t)=>this.CurrentSort.order==="desc"?this.dotNotation(e,this.CurrentSort.key)this.dotNotation(t,this.CurrentSort.key)?-1:0:this.dotNotation(e,this.CurrentSort.key)>this.dotNotation(t,this.CurrentSort.key)?1:this.dotNotation(e,this.CurrentSort.key){e.status&&(this.Configurations=e.data),this.ConfigurationLoaded=!0})},colorText(e){if(e){const t=My.fromString(e);if(t){const n=t.toRgbaArray();return+((n[0]*299+n[1]*587+n[2]*114)/255e3).toFixed(2)>.5?"#000":"#fff"}}return"#ffffff"},dotNotation(e,t){let n=t.split(".").reduce((r,s)=>r&&r[s],e);return typeof n=="string"?n.toLowerCase():n},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return ca(e)!==0},checkWGKeyLength(e){return/^[A-Za-z0-9+/]{43}=?=?$/.test(e)}},persist:{pick:["CurrentSort","CurrentDisplay","Filter.ShowAllPeersWhenHiddenTags"]}}),Vy=async()=>{let e=!1;return await Dn("/api/validateAuthentication",{},t=>{e=t.status}),e},br=Ay({history:ty(),scrollBehavior(){document.querySelector("main")!==null&&document.querySelector("main").scrollTo({top:0})},routes:[{name:"Index",path:"/",component:()=>De(()=>import("./index-ElUmKQXl.js"),__vite__mapDeps([0,1,2,3,4,5])),meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:()=>De(()=>import("./configurationList-BmBzibCH.js"),__vite__mapDeps([6,1,7,8,9,10])),meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"settings",component:()=>De(()=>import("./settings-yh4yZgcG.js"),__vite__mapDeps([11,12,1,13,3,14,15,16,17,18])),children:[{name:"WGDashboard Settings",path:"",component:()=>De(()=>import("./wgdashboardSettings-b-VSP6t-.js"),__vite__mapDeps([19,1,13,3,14,15,16])),meta:{title:"WGDashboard Settings"}},{name:"Peers Settings",path:"peers_settings",component:()=>De(()=>import("./peerDefaultSettings-DrA2ujGo.js"),__vite__mapDeps([20,1,12])),meta:{title:"Peers Default Settings"}},{name:"WireGuard Configuration Settings",path:"wireguard_settings",component:()=>De(()=>import("./wireguardConfigurationSettings-Bz2BaANg.js"),__vite__mapDeps([21,17,1,18])),meta:{title:"WireGuard Configuration Settings"}}],meta:{title:"Settings"}},{path:"ping",name:"Ping",component:()=>De(()=>import("./ping-yn2Ok0iq.js"),__vite__mapDeps([22,1,23,24,25,26,27]))},{path:"traceroute",name:"Traceroute",component:()=>De(()=>import("./traceroute-DW1aS4wL.js"),__vite__mapDeps([28,23,24,25,26,1,29]))},{name:"New Configuration",path:"new_configuration",component:()=>De(()=>import("./newConfiguration-DKGZAANU.js"),__vite__mapDeps([30,31,1,32,33])),meta:{title:"New Configuration"}},{name:"Restore Configuration",path:"restore_configuration",component:()=>De(()=>import("./restoreConfiguration-Dz1O-iX5.js"),__vite__mapDeps([34,1,3,7,31,35])),meta:{title:"Restore Configuration"}},{name:"System Status",path:"system_status",component:()=>De(()=>import("./systemStatus-0e9M7tEY.js"),__vite__mapDeps([36,1,8,9,37,3,38])),meta:{title:"System Status"}},{name:"Clients",path:"clients",component:()=>De(()=>import("./clients-B5XnFbd-.js"),__vite__mapDeps([39,40,1,41])),meta:{title:"Clients"},children:[{name:"Client Viewer",path:":id",component:()=>De(()=>import("./clientViewer-BYJe9WYt.js"),__vite__mapDeps([42,40,1,43])),meta:{title:"Clients"}}]},{name:"Webhooks",path:"webhooks",component:()=>De(()=>import("./dashboardWebHooks-CEc1Rq-k.js"),__vite__mapDeps([44,1,45])),meta:{title:"Webhooks"}},{name:"Configuration",path:"configuration/:id",component:()=>De(()=>import("./configuration-Day1LioO.js"),[]),meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:()=>De(()=>import("./peerList-C-bwOqvP.js"),__vite__mapDeps([46,7,1,37,3,15,24,25,31,47]))}]}]},{path:"/signin",component:()=>De(()=>import("./signin-RX8JxeCw.js"),__vite__mapDeps([48,2,1,3,4,49])),meta:{title:"Sign In",hideTopNav:!0}},{path:"/welcome",component:()=>De(()=>import("./setup-DwS6cNkc.js"),__vite__mapDeps([50,1])),meta:{requiresAuth:!0,title:"Welcome to WGDashboard",hideTopNav:!0}},{path:"/2FASetup",component:()=>De(()=>import("./totp-DLhlDLL5.js"),__vite__mapDeps([51,52,32,1])),meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup",hideTopNav:!0}},{path:"/share",component:()=>De(()=>import("./share-Cyu4RGGS.js"),__vite__mapDeps([53,52,32,1,54])),meta:{title:"Share",hideTopNav:!0}}]});br.beforeEach(async(e,t,n)=>{const r=ky(),s=Vn();e.meta.title?document.title=e.meta.title+" | WGDashboard":e.params.id?document.title=e.params.id+" | WGDashboard":document.title="WGDashboard",s.ShowNavBar=!1,document.querySelector(".loadingBar").classList.remove("loadingDone"),document.querySelector(".loadingBar").classList.add("loading"),e.meta.requiresAuth?s.getActiveCrossServer()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),n()):await Vy()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),s.Redirect=void 0,n()):(s.Redirect=e,n("/signin"),s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning")):n()});br.afterEach(()=>{document.querySelector(".loadingBar").classList.remove("loading"),document.querySelector(".loadingBar").classList.add("loadingDone")});const Zf=()=>{let e={"Content-Type":"application/json"};const n=Vn().getActiveCrossServer();if(n&&(e["wg-dashboard-apikey"]=n.apiKey,n.headers))for(let r of Object.values(n.headers))r.key&&r.value&&!Object.keys(e).includes(r.key)&&(e[r.key]=r.value);return e},ed=e=>{const n=Vn().getActiveCrossServer();return n?`${n.host}${e}`:`${window.location.protocol}//${(window.location.host+window.location.pathname+e).replace(/\/\//g,"/")}`},Dn=async(e,t=void 0,n=void 0)=>{const r=new URLSearchParams(t);await fetch(`${ed(e)}?${r.toString()}`,{headers:Zf()}).then(s=>{const o=Vn();if(s.ok)return s.json();if(s.status!==200)throw s.status===401&&o.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(s.statusText)}).then(s=>n?n(s):void 0).catch(s=>{console.log("Error:",s),br.push({path:"/signin"})})},Hb=async(e,t,n)=>{await fetch(`${ed(e)}`,{headers:Zf(),method:"POST",body:JSON.stringify(t)}).then(r=>{const s=Vn();if(r.ok)return r.json();if(r.status!==200)throw r.status===401&&s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(r.statusText)}).then(r=>n?n(r):void 0).catch(r=>{console.log("Error:",r),br.push({path:"/signin"})})},Ve=[];for(let e=0;e<256;++e)Ve.push((e+256).toString(16).slice(1));function Fy(e,t=0){return(Ve[e[t+0]]+Ve[e[t+1]]+Ve[e[t+2]]+Ve[e[t+3]]+"-"+Ve[e[t+4]]+Ve[e[t+5]]+"-"+Ve[e[t+6]]+Ve[e[t+7]]+"-"+Ve[e[t+8]]+Ve[e[t+9]]+"-"+Ve[e[t+10]]+Ve[e[t+11]]+Ve[e[t+12]]+Ve[e[t+13]]+Ve[e[t+14]]+Ve[e[t+15]]).toLowerCase()}let Qi;const Hy=new Uint8Array(16);function By(){if(!Qi){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Qi=crypto.getRandomValues.bind(crypto)}return Qi(Hy)}const jy=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),bc={randomUUID:jy};function Wy(e,t,n){e=e||{};const r=e.random??e.rng?.()??By();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n=n||0,n<0||n+16>t.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let s=0;s<16;++s)t[n+s]=r[s];return t}return Fy(r)}function Ac(e,t,n){return bc.randomUUID&&!t&&!e?bc.randomUUID():Wy(e,t,n)}const Vn=Lf("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1,RefreshInterval:void 0},CrossServerConfiguration:{Enable:!1,ServerList:{}},SystemStatus:void 0,ActiveServerConfiguration:void 0,IsElectronApp:!1,ShowNavBar:!1,Locale:null,HelpAgent:{Enable:!1}}),actions:{initCrossServerConfiguration(){const e=localStorage.getItem("CrossServerConfiguration");localStorage.getItem("ActiveCrossServerConfiguration")!==null&&(this.ActiveServerConfiguration=localStorage.getItem("ActiveCrossServerConfiguration")),e===null?window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration)):this.CrossServerConfiguration=JSON.parse(e)},syncCrossServerConfiguration(){window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration))},addCrossServerConfiguration(){this.CrossServerConfiguration.ServerList[Ac().toString()]={host:"",apiKey:"",active:!1}},deleteCrossServerConfiguration(e){delete this.CrossServerConfiguration.ServerList[e]},getActiveCrossServer(){const e=localStorage.getItem("ActiveCrossServerConfiguration");if(e!==null)return this.CrossServerConfiguration.ServerList[e]},async setActiveCrossServer(e){this.ActiveServerConfiguration=e,localStorage.setItem("ActiveCrossServerConfiguration",e),await Dn("/api/locale",{},t=>{this.Locale=t.data})},removeActiveCrossServer(){this.ActiveServerConfiguration=void 0,localStorage.removeItem("ActiveCrossServerConfiguration")},async getConfiguration(){await Dn("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async signOut(){await Dn("/api/signout",{},()=>{this.removeActiveCrossServer(),document.cookie="",this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:Ac(),from:tt(e),content:tt(t),type:n,show:!0})},applyLocale(e){if(this.Locale===null)return e;const n=Object.keys(this.Locale).filter(r=>e.match(new RegExp("^"+r+"$","g"))!==null);return console.log(n),n.length===0||n.length>1?e:this.Locale[n[0]]}},persist:{pick:["HelpAgent.Enable"]}});(function(){function e(b){var y=new Float64Array(16);if(b)for(var N=0;N>16&1),A[S-1]&=65535;A[15]=C[15]-32767-(A[14]>>16&1),N=A[15]>>16&1,A[14]&=65535,r(C,A,1-N)}for(var S=0;S<16;++S)b[2*S]=C[S]&255,b[2*S+1]=C[S]>>8}function n(b){for(var y=0;y<16;++y)b[(y+1)%16]+=(y<15?1:38)*Math.floor(b[y]/65536),b[y]&=65535}function r(b,y,N){for(var A,C=~(N-1),S=0;S<16;++S)A=C&(b[S]^y[S]),b[S]^=A,y[S]^=A}function s(b,y,N){for(var A=0;A<16;++A)b[A]=y[A]+N[A]|0}function o(b,y,N){for(var A=0;A<16;++A)b[A]=y[A]-N[A]|0}function a(b,y,N){for(var A=new Float64Array(31),C=0;C<16;++C)for(var S=0;S<16;++S)A[C+S]+=y[C]*N[S];for(var C=0;C<15;++C)A[C]+=38*A[C+16];for(var C=0;C<16;++C)b[C]=A[C];n(b),n(b)}function l(b,y){for(var N=e(),A=0;A<16;++A)N[A]=y[A];for(var A=253;A>=0;--A)a(N,N,N),A!==2&&A!==4&&a(N,N,y);for(var A=0;A<16;++A)b[A]=N[A]}function c(b){b[31]=b[31]&127|64,b[0]&=248}function d(b){for(var y,N=new Uint8Array(32),A=e([1]),C=e([9]),S=e(),U=e([1]),j=e(),te=e(),he=e([56129,1]),Ee=e([9]),ie=0;ie<32;++ie)N[ie]=b[ie];c(N);for(var ie=254;ie>=0;--ie)y=N[ie>>>3]>>>(ie&7)&1,r(A,C,y),r(S,U,y),s(j,A,S),o(A,A,S),s(S,C,U),o(C,C,U),a(U,j,j),a(te,A,A),a(A,S,A),a(S,C,j),s(j,A,S),o(A,A,S),a(C,A,A),o(S,U,te),a(A,S,he),s(A,A,U),a(S,S,A),a(A,U,te),a(U,C,Ee),a(C,j,j),r(A,C,y),r(S,U,y);return l(S,S),a(A,A,S),t(N,A),N}function f(){var b=new Uint8Array(32);return window.crypto.getRandomValues(b),b}function h(){var b=f();return c(b),b}function p(b,y){for(var N=Uint8Array.from([y[0]>>2&63,(y[0]<<4|y[1]>>4)&63,(y[1]<<2|y[2]>>6)&63,y[2]&63]),A=0;A<4;++A)b[A]=N[A]+65+(25-N[A]>>8&6)-(51-N[A]>>8&75)-(61-N[A]>>8&15)+(62-N[A]>>8&3)}function m(b){var y,N=new Uint8Array(44);for(y=0;y<32/3;++y)p(N.subarray(y*4),b.subarray(y*3));return p(N.subarray(y*4),Uint8Array.from([b[y*3+0],b[y*3+1],0])),N[43]=61,String.fromCharCode.apply(null,N)}function O(b){let y=window.atob(b),N=y.length,A=new Uint8Array(N);for(let S=0;S>>8&255,y>>>16&255,y>>>24&255)}function x(b,y){b.push(y&255,y>>>8&255)}function P(b,y){for(var N=0;N>>1:y>>>1;H.table[N]=y}}for(var C=-1,S=0;S>>8^H.table[(C^b[S])&255];return(C^-1)>>>0}function M(b){for(var y=[],N=[],A=0,C=0;C{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Uy=["data-bs-theme"],Gy={key:0,class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},qy={class:"container-fluid d-flex text-body align-items-center"},Yy={key:0,class:"bi bi-list"},zy={key:1,class:"bi bi-x-lg"},Xy={__name:"App",setup(e){const t=Vn();t.initCrossServerConfiguration(),window.IS_WGDASHBOARD_DESKTOP?(t.IsElectronApp=!0,t.CrossServerConfiguration.Enable=!0,t.ActiveServerConfiguration&&Dn("/api/locale",{},r=>{t.Locale=r.data})):Dn("/api/locale",{},r=>{t.Locale=r.data}),In(t.CrossServerConfiguration,()=>{t.syncCrossServerConfiguration()},{deep:!0});const n=Ty();return(r,s)=>{const o=w_("RouterLink");return It(),As("div",{class:"h-100 bg-body","data-bs-theme":nt(t).Configuration?.Server.dashboard_theme},[s[2]||(s[2]=er("div",{style:{"z-index":"9999",height:"5px"},class:"position-absolute loadingBar top-0 start-0"},null,-1)),nt(n).meta.hideTopNav?gv("",!0):(It(),As("nav",Gy,[er("div",qy,[Ne(o,{to:"/",class:"navbar-brand mb-0 h1"},{default:Jn(()=>[...s[1]||(s[1]=[er("img",{src:mE,alt:"WGDashboard Logo",style:{width:"32px"}},null,-1)])]),_:1}),er("a",{role:"button",class:"navbarBtn text-body",onClick:s[0]||(s[0]=a=>nt(t).ShowNavBar=!nt(t).ShowNavBar),style:{"line-height":"0","font-size":"2rem"}},[Ne(Il,{name:"fade2",mode:"out-in"},{default:Jn(()=>[nt(t).ShowNavBar?(It(),As("i",zy)):(It(),As("i",Yy))]),_:1})])])])),(It(),Yr(iv,null,{default:Jn(()=>[Ne(nt(qf),null,{default:Jn(({Component:a})=>[Ne(Il,{name:"app",mode:"out-in",type:"transition",appear:""},{default:Jn(()=>[(It(),Yr(O_(a)))]),_:2},1024)]),_:1})]),_:1}))],8,Uy)}}},Qy=Ky(Xy,[["__scopeId","data-v-ddb6150e"]]);function Jy(e,t){if(e==null)return;let n=e;for(let r=0;r1&&(t=ua(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function td(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const n={};for(const r in e)n[r]=e[r];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const n={};for(const r in e)n[r]=e[r];return n}return ua(e,td(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function nd(e,t){return t.map(n=>n.split(".")).map(n=>[n,Jy(e,n)]).filter(n=>n[1]!==void 0).reduce((n,r)=>ua(n,r[1],r[0]),{})}function rd(e,t){return t.map(n=>n.split(".")).reduce((n,r)=>td(n,r),e)}function Tc(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a,beforeHydrate:l,afterHydrate:c},d,f=!0){try{f&&l?.(d);const h=t.getItem(r);if(h){const p=n.deserialize(h),m=o?nd(p,o):p,O=a?rd(m,a):m;e.$patch(O)}f&&c?.(d)}catch(h){s&&console.error("[pinia-plugin-persistedstate]",h)}}function Cc(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a}){try{const l=o?nd(e,o):e,c=a?rd(l,a):l,d=n.serialize(c);t.setItem(r,d)}catch(l){s&&console.error("[pinia-plugin-persistedstate]",l)}}function Zy(e,t){return typeof e=="function"?e(t):typeof e=="string"?e:t}function eb(e,t,n){const{pinia:r,store:s,options:{persist:o=n}}=e;if(!o)return;if(!(s.$id in r.state.value)){const l=r._s.get(s.$id.replace("__hot:",""));l&&Promise.resolve().then(()=>l.$persist());return}const a=(Array.isArray(o)?o:o===!0?[{}]:[o]).map(t);s.$hydrate=({runHooks:l=!0}={})=>{a.forEach(c=>{Tc(s,c,e,l)})},s.$persist=()=>{a.forEach(l=>{Cc(s.$state,l)})},a.forEach(l=>{Tc(s,l,e),s.$subscribe((c,d)=>Cc(d,l),{detached:!0})})}function tb(e={}){return function(t){eb(t,n=>{const r=Zy(n.key,t.store.$id);return{key:(e.key?e.key:s=>s)(r),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:s=>JSON.stringify(s),deserialize:s=>JSON.parse(s)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate??e.beforeHydrate,afterHydrate:n.afterHydrate??e.afterHydrate,pick:n.pick,omit:n.omit}},e.auto??!1)}}var nb=tb();const fa=aE(Qy);fa.use(br);const da=uE();da.use(nb);da.use(({store:e})=>{e.$router=ii(br)});fa.use(da);fa.mount("#app");export{$b as $,Ac as A,Xo as B,eE as C,Vn as D,Ib as E,Xe as F,tt as G,kb as H,In as I,Jr as J,Fb as K,Ty as L,Cb as M,De as N,mb as O,Eb as P,Tu as Q,oa as R,iv as S,Pb as T,Sv as U,li as V,ky as W,ve as X,qo as Y,oi as Z,Ky as _,er as a,Tb as a0,Vb as a1,Sb as a2,Mb as a3,ed as a4,Lf as a5,iu as a6,Vm as a7,vb as a8,Rb as a9,xb as aa,Ob as ab,Ns as ac,so as ad,yb as ae,Nb as af,_b as ag,hv as ah,Ab as ai,rt as aj,mv as ak,Ku as al,Db as am,Ne as b,As as c,gv as d,pv as e,It as f,Dn as g,w_ as h,wb as i,Yr as j,Il as k,O_ as l,bb as m,ti as n,Jo as o,Lb as p,dt as q,xn as r,ei as s,Mm as t,nt as u,Jv as v,Jn as w,Gu as x,Yl as y,Hb as z}; +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function d(I,K){if(I){if(typeof I=="string")return f(I,K);var G=Object.prototype.toString.call(I).slice(8,-1);if(G==="Object"&&I.constructor&&(G=I.constructor.name),G==="Map"||G==="Set")return Array.from(I);if(G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G))return f(I,K)}}function f(I,K){(K==null||K>I.length)&&(K=I.length);for(var G=0,X=new Array(K);G"u"||!(Symbol.iterator in Object(I)))){var G=[],X=!0,re=!1,ne=void 0;try{for(var se=I[Symbol.iterator](),de;!(X=(de=se.next()).done)&&(G.push(de.value),!(K&&G.length===K));X=!0);}catch(me){re=!0,ne=me}finally{try{!X&&se.return!=null&&se.return()}finally{if(re)throw ne}}return G}}function p(I){if(Array.isArray(I))return I}var m=/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?$/,O=/^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])?$/,T=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,x=/^rgba?\(\s*(\d+)\s+(\d+)\s+(\d+)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,P=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,V=/^rgba?\(\s*(\d+%)\s+(\d+%)\s+(\d+%)(?:\s*\/\s*(0|1|0?\.\d+|\d+%))?\s*\)$/,H=/^hsla?\(\s*(\d+)(deg|rad|grad|turn)?\s*,\s*(\d+)%\s*,\s*(\d+)%(?:\s*,\s*(0|1|0?\.\d+|\d+%))?\s*\)$/;function M(I,K){return I.indexOf(K)>-1}function b(I,K,G){var X=I/255,re=K/255,ne=G/255,se=Math.max(X,re,ne),de=Math.min(X,re,ne),me=se-de,ye=(se+de)/2;if(me===0)return[0,0,ye*100];var L=me/(1-Math.abs(2*ye-1)),Q=(function(){switch(se){case X:return(re-ne)/me%6;case re:return(ne-X)/me+2;default:return(X-re)/me+4}})();return[Q*60,L*100,ye*100]}function y(I,K,G){var X=I/60,re=K/100,ne=G/100,se=(1-Math.abs(2*ne-1))*re,de=se*(1-Math.abs(X%2-1)),me=ne-se/2,ye=(function(){return X<1?[se,de,0]:X<2?[de,se,0]:X<3?[0,se,de]:X<4?[0,de,se]:X<5?[de,0,se]:[se,0,de]})(),L=l(ye,3),Q=L[0],Z=L[1],oe=L[2];return[(Q+me)*255,(Z+me)*255,(oe+me)*255]}var N=(function(){function I(K){var G=l(K,4),X=G[0],re=G[1],ne=G[2],se=G[3];s(this,I),this.values=[Math.max(Math.min(parseInt(X,10),255),0),Math.max(Math.min(parseInt(re,10),255),0),Math.max(Math.min(parseInt(ne,10),255),0),se==null?1:Math.max(Math.min(parseFloat(se),255),0)]}return a(I,[{key:"toRgbString",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3];return se===1?"rgb(".concat(X,", ").concat(re,", ").concat(ne,")"):"rgba(".concat(X,", ").concat(re,", ").concat(ne,", ").concat(se,")")}},{key:"toHslString",value:function(){var G=this.toHslaArray(),X=l(G,4),re=X[0],ne=X[1],se=X[2],de=X[3];return de===1?"hsl(".concat(re,", ").concat(ne,"%, ").concat(se,"%)"):"hsla(".concat(re,", ").concat(ne,"%, ").concat(se,"%, ").concat(de,")")}},{key:"toHexString",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3];return X=Number(X).toString(16).padStart(2,"0"),re=Number(re).toString(16).padStart(2,"0"),ne=Number(ne).toString(16).padStart(2,"0"),se=se<1?parseInt(se*255,10).toString(16).padStart(2,"0"):"","#".concat(X).concat(re).concat(ne).concat(se)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var G=l(this.values,4),X=G[0],re=G[1],ne=G[2],se=G[3],de=b(X,re,ne),me=l(de,3),ye=me[0],L=me[1],Q=me[2];return[ye,L,Q,se]}}]),I})();function A(I){var K=l(I,4),G=K[0],X=K[1],re=K[2],ne=K[3];return new N([G,X,re,ne])}function C(I){var K=l(I,3),G=K[0],X=K[1],re=K[2];return A([G,X,re,1])}function S(I){var K=l(I,4),G=K[0],X=K[1],re=K[2],ne=K[3],se=y(G,X,re),de=l(se,3),me=de[0],ye=de[1],L=de[2];return A([me,ye,L,ne])}function U(I){var K=l(I,3),G=K[0],X=K[1],re=K[2];return S([G,X,re,1])}function j(I){var K=m.exec(I)||O.exec(I),G=l(K,5),X=G[1],re=G[2],ne=G[3],se=G[4];return X=parseInt(X.length<2?X.repeat(2):X,16),re=parseInt(re.length<2?re.repeat(2):re,16),ne=parseInt(ne.length<2?ne.repeat(2):ne,16),se=se&&(parseInt(se.length<2?se.repeat(2):se,16)/255).toPrecision(1)||1,A([X,re,ne,se])}function te(I){var K=T.exec(I)||P.exec(I)||x.exec(I)||V.exec(I),G=l(K,5),X=G[1],re=G[2],ne=G[3],se=G[4];return X=M(X,"%")?parseInt(X,10)*255/100:parseInt(X,10),re=M(re,"%")?parseInt(re,10)*255/100:parseInt(re,10),ne=M(ne,"%")>0?parseInt(ne,10)*255/100:parseInt(ne,10),se=se===void 0?1:parseFloat(se)/(M(se,"%")?100:1),A([X,re,ne,se])}function he(I){var K=H.exec(I),G=l(K,6),X=G[1],re=G[2],ne=G[3],se=G[4],de=G[5];return re=re||"deg",X=(0,n.default)(parseFloat(X),re,"deg"),ne=parseFloat(ne),se=parseFloat(se),de=de===void 0?1:parseFloat(de)/(M(de,"%")?100:1),S([X,ne,se,de])}function Ee(I){return t.default[I]?C(t.default[I]):m.test(I)||O.test(I)?j(I):T.test(I)||P.test(I)||x.test(I)||V.test(I)?te(I):H.test(I)?he(I):null}var ie={fromString:Ee,fromRgb:C,fromRgba:A,fromHsl:U,fromHsla:S};e.default=ie})(Yi)),Yi}var My=$y();const ky=Lf("WireguardConfigurationsStore",{state:()=>({Configurations:[],ConfigurationLoaded:!1,searchString:"",ConfigurationListInterval:void 0,Filter:{HiddenTags:[],ShowAllPeersWhenHiddenTags:!0},SortOptions:{Name:tt("Name"),Status:tt("Status"),"DataUsage.Total":tt("Total Usage")},CurrentSort:{key:"Name",order:"asc"},CurrentDisplay:"List",PeerScheduleJobs:{dropdowns:{Field:[{display:tt("Total Received"),value:"total_receive",unit:"GB",type:"number"},{display:tt("Total Sent"),value:"total_sent",unit:"GB",type:"number"},{display:tt("Total Usage"),value:"total_data",unit:"GB",type:"number"},{display:tt("Date"),value:"date",type:"date"}],Operator:[{display:tt("larger than"),value:"lgt"}],Action:[{display:tt("Restrict Peer"),value:"restrict"},{display:tt("Delete Peer"),value:"delete"},{display:tt("Reset Total Data Usage"),value:"reset_total_data_usage"}]}}}),getters:{sortConfigurations(){return[...this.Configurations].sort((e,t)=>this.CurrentSort.order==="desc"?this.dotNotation(e,this.CurrentSort.key)this.dotNotation(t,this.CurrentSort.key)?-1:0:this.dotNotation(e,this.CurrentSort.key)>this.dotNotation(t,this.CurrentSort.key)?1:this.dotNotation(e,this.CurrentSort.key){e.status&&(this.Configurations=e.data),this.ConfigurationLoaded=!0})},colorText(e){if(e){const t=My.fromString(e);if(t){const n=t.toRgbaArray();return+((n[0]*299+n[1]*587+n[2]*114)/255e3).toFixed(2)>.5?"#000":"#fff"}}return"#ffffff"},dotNotation(e,t){let n=t.split(".").reduce((r,s)=>r&&r[s],e);return typeof n=="string"?n.toLowerCase():n},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return ca(e)!==0},checkWGKeyLength(e){return/^[A-Za-z0-9+/]{43}=?=?$/.test(e)}},persist:{pick:["CurrentSort","CurrentDisplay","Filter.ShowAllPeersWhenHiddenTags"]}}),Vy=async()=>{let e=!1;return await Dn("/api/validateAuthentication",{},t=>{e=t.status}),e},br=Ay({history:ty(),scrollBehavior(){document.querySelector("main")!==null&&document.querySelector("main").scrollTo({top:0})},routes:[{name:"Index",path:"/",component:()=>De(()=>import("./index-CdiRYBaa.js"),__vite__mapDeps([0,1,2,3,4,5])),meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:()=>De(()=>import("./configurationList-BxcibL2l.js"),__vite__mapDeps([6,1,7,8,9,10])),meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"settings",component:()=>De(()=>import("./settings-BhzFABZg.js"),__vite__mapDeps([11,12,1,13,3,14,15,16,17,18])),children:[{name:"WGDashboard Settings",path:"",component:()=>De(()=>import("./wgdashboardSettings-CYMvrKfB.js"),__vite__mapDeps([19,1,13,3,14,15,16])),meta:{title:"WGDashboard Settings"}},{name:"Peers Settings",path:"peers_settings",component:()=>De(()=>import("./peerDefaultSettings-Cb9LnNCU.js"),__vite__mapDeps([20,1,12])),meta:{title:"Peers Default Settings"}},{name:"WireGuard Configuration Settings",path:"wireguard_settings",component:()=>De(()=>import("./wireguardConfigurationSettings-BgLqrfMb.js"),__vite__mapDeps([21,17,1,18])),meta:{title:"WireGuard Configuration Settings"}}],meta:{title:"Settings"}},{path:"ping",name:"Ping",component:()=>De(()=>import("./ping-CiEdmEgK.js"),__vite__mapDeps([22,1,23,24,25,26,27]))},{path:"traceroute",name:"Traceroute",component:()=>De(()=>import("./traceroute-DHxEwaFh.js"),__vite__mapDeps([28,23,24,25,26,1,29]))},{name:"New Configuration",path:"new_configuration",component:()=>De(()=>import("./newConfiguration-BibURC0a.js"),__vite__mapDeps([30,31,1,32,33])),meta:{title:"New Configuration"}},{name:"Restore Configuration",path:"restore_configuration",component:()=>De(()=>import("./restoreConfiguration-Dfib88BC.js"),__vite__mapDeps([34,1,3,7,31,35])),meta:{title:"Restore Configuration"}},{name:"System Status",path:"system_status",component:()=>De(()=>import("./systemStatus-DIK7qaj7.js"),__vite__mapDeps([36,1,8,9,37,3,38])),meta:{title:"System Status"}},{name:"Clients",path:"clients",component:()=>De(()=>import("./clients-MF_KSLm9.js"),__vite__mapDeps([39,40,1,41])),meta:{title:"Clients"},children:[{name:"Client Viewer",path:":id",component:()=>De(()=>import("./clientViewer-CUqCt68l.js"),__vite__mapDeps([42,40,1,43])),meta:{title:"Clients"}}]},{name:"Webhooks",path:"webhooks",component:()=>De(()=>import("./dashboardWebHooks-Cg2U0AKd.js"),__vite__mapDeps([44,1,45])),meta:{title:"Webhooks"}},{name:"Configuration",path:"configuration/:id",component:()=>De(()=>import("./configuration-C8aJUpEn.js"),[]),meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:()=>De(()=>import("./peerList-CiAY_eHF.js"),__vite__mapDeps([46,7,1,37,3,15,24,25,31,47]))}]}]},{path:"/signin",component:()=>De(()=>import("./signin-BGI8vl81.js"),__vite__mapDeps([48,2,1,3,4,49])),meta:{title:"Sign In",hideTopNav:!0}},{path:"/welcome",component:()=>De(()=>import("./setup-B85K0yG_.js"),__vite__mapDeps([50,1])),meta:{requiresAuth:!0,title:"Welcome to WGDashboard",hideTopNav:!0}},{path:"/2FASetup",component:()=>De(()=>import("./totp-BKkim5ML.js"),__vite__mapDeps([51,52,32,1])),meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup",hideTopNav:!0}},{path:"/share",component:()=>De(()=>import("./share-giPKTsEU.js"),__vite__mapDeps([53,52,32,1,54])),meta:{title:"Share",hideTopNav:!0}}]});br.beforeEach(async(e,t,n)=>{const r=ky(),s=Vn();e.meta.title?document.title=e.meta.title+" | WGDashboard":e.params.id?document.title=e.params.id+" | WGDashboard":document.title="WGDashboard",s.ShowNavBar=!1,document.querySelector(".loadingBar").classList.remove("loadingDone"),document.querySelector(".loadingBar").classList.add("loading"),e.meta.requiresAuth?s.getActiveCrossServer()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),n()):await Vy()?(await s.getConfiguration(),!r.Configurations&&e.name!=="Configuration List"&&await r.getConfigurations(),s.Redirect=void 0,n()):(s.Redirect=e,n("/signin"),s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning")):n()});br.afterEach(()=>{document.querySelector(".loadingBar").classList.remove("loading"),document.querySelector(".loadingBar").classList.add("loadingDone")});const Zf=()=>{let e={"Content-Type":"application/json"};const n=Vn().getActiveCrossServer();if(n&&(e["wg-dashboard-apikey"]=n.apiKey,n.headers))for(let r of Object.values(n.headers))r.key&&r.value&&!Object.keys(e).includes(r.key)&&(e[r.key]=r.value);return e},ed=e=>{const n=Vn().getActiveCrossServer();return n?`${n.host}${e}`:`${window.location.protocol}//${(window.location.host+window.location.pathname+e).replace(/\/\//g,"/")}`},Dn=async(e,t=void 0,n=void 0)=>{const r=new URLSearchParams(t);await fetch(`${ed(e)}?${r.toString()}`,{headers:Zf()}).then(s=>{const o=Vn();if(s.ok)return s.json();if(s.status!==200)throw s.status===401&&o.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(s.statusText)}).then(s=>n?n(s):void 0).catch(s=>{console.log("Error:",s),br.push({path:"/signin"})})},Hb=async(e,t,n)=>{await fetch(`${ed(e)}`,{headers:Zf(),method:"POST",body:JSON.stringify(t)}).then(r=>{const s=Vn();if(r.ok)return r.json();if(r.status!==200)throw r.status===401&&s.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(r.statusText)}).then(r=>n?n(r):void 0).catch(r=>{console.log("Error:",r),br.push({path:"/signin"})})},Ve=[];for(let e=0;e<256;++e)Ve.push((e+256).toString(16).slice(1));function Fy(e,t=0){return(Ve[e[t+0]]+Ve[e[t+1]]+Ve[e[t+2]]+Ve[e[t+3]]+"-"+Ve[e[t+4]]+Ve[e[t+5]]+"-"+Ve[e[t+6]]+Ve[e[t+7]]+"-"+Ve[e[t+8]]+Ve[e[t+9]]+"-"+Ve[e[t+10]]+Ve[e[t+11]]+Ve[e[t+12]]+Ve[e[t+13]]+Ve[e[t+14]]+Ve[e[t+15]]).toLowerCase()}let Qi;const Hy=new Uint8Array(16);function By(){if(!Qi){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Qi=crypto.getRandomValues.bind(crypto)}return Qi(Hy)}const jy=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),bc={randomUUID:jy};function Wy(e,t,n){e=e||{};const r=e.random??e.rng?.()??By();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n=n||0,n<0||n+16>t.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let s=0;s<16;++s)t[n+s]=r[s];return t}return Fy(r)}function Ac(e,t,n){return bc.randomUUID&&!t&&!e?bc.randomUUID():Wy(e,t,n)}const Vn=Lf("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1,RefreshInterval:void 0},CrossServerConfiguration:{Enable:!1,ServerList:{}},SystemStatus:void 0,ActiveServerConfiguration:void 0,IsElectronApp:!1,ShowNavBar:!1,Locale:null,HelpAgent:{Enable:!1}}),actions:{initCrossServerConfiguration(){const e=localStorage.getItem("CrossServerConfiguration");localStorage.getItem("ActiveCrossServerConfiguration")!==null&&(this.ActiveServerConfiguration=localStorage.getItem("ActiveCrossServerConfiguration")),e===null?window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration)):this.CrossServerConfiguration=JSON.parse(e)},syncCrossServerConfiguration(){window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration))},addCrossServerConfiguration(){this.CrossServerConfiguration.ServerList[Ac().toString()]={host:"",apiKey:"",active:!1}},deleteCrossServerConfiguration(e){delete this.CrossServerConfiguration.ServerList[e]},getActiveCrossServer(){const e=localStorage.getItem("ActiveCrossServerConfiguration");if(e!==null)return this.CrossServerConfiguration.ServerList[e]},async setActiveCrossServer(e){this.ActiveServerConfiguration=e,localStorage.setItem("ActiveCrossServerConfiguration",e),await Dn("/api/locale",{},t=>{this.Locale=t.data})},removeActiveCrossServer(){this.ActiveServerConfiguration=void 0,localStorage.removeItem("ActiveCrossServerConfiguration")},async getConfiguration(){await Dn("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async signOut(){await Dn("/api/signout",{},()=>{this.removeActiveCrossServer(),document.cookie="",this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:Ac(),from:tt(e),content:tt(t),type:n,show:!0})},applyLocale(e){if(this.Locale===null)return e;const n=Object.keys(this.Locale).filter(r=>e.match(new RegExp("^"+r+"$","g"))!==null);return console.log(n),n.length===0||n.length>1?e:this.Locale[n[0]]}},persist:{pick:["HelpAgent.Enable"]}});(function(){function e(b){var y=new Float64Array(16);if(b)for(var N=0;N>16&1),A[S-1]&=65535;A[15]=C[15]-32767-(A[14]>>16&1),N=A[15]>>16&1,A[14]&=65535,r(C,A,1-N)}for(var S=0;S<16;++S)b[2*S]=C[S]&255,b[2*S+1]=C[S]>>8}function n(b){for(var y=0;y<16;++y)b[(y+1)%16]+=(y<15?1:38)*Math.floor(b[y]/65536),b[y]&=65535}function r(b,y,N){for(var A,C=~(N-1),S=0;S<16;++S)A=C&(b[S]^y[S]),b[S]^=A,y[S]^=A}function s(b,y,N){for(var A=0;A<16;++A)b[A]=y[A]+N[A]|0}function o(b,y,N){for(var A=0;A<16;++A)b[A]=y[A]-N[A]|0}function a(b,y,N){for(var A=new Float64Array(31),C=0;C<16;++C)for(var S=0;S<16;++S)A[C+S]+=y[C]*N[S];for(var C=0;C<15;++C)A[C]+=38*A[C+16];for(var C=0;C<16;++C)b[C]=A[C];n(b),n(b)}function l(b,y){for(var N=e(),A=0;A<16;++A)N[A]=y[A];for(var A=253;A>=0;--A)a(N,N,N),A!==2&&A!==4&&a(N,N,y);for(var A=0;A<16;++A)b[A]=N[A]}function c(b){b[31]=b[31]&127|64,b[0]&=248}function d(b){for(var y,N=new Uint8Array(32),A=e([1]),C=e([9]),S=e(),U=e([1]),j=e(),te=e(),he=e([56129,1]),Ee=e([9]),ie=0;ie<32;++ie)N[ie]=b[ie];c(N);for(var ie=254;ie>=0;--ie)y=N[ie>>>3]>>>(ie&7)&1,r(A,C,y),r(S,U,y),s(j,A,S),o(A,A,S),s(S,C,U),o(C,C,U),a(U,j,j),a(te,A,A),a(A,S,A),a(S,C,j),s(j,A,S),o(A,A,S),a(C,A,A),o(S,U,te),a(A,S,he),s(A,A,U),a(S,S,A),a(A,U,te),a(U,C,Ee),a(C,j,j),r(A,C,y),r(S,U,y);return l(S,S),a(A,A,S),t(N,A),N}function f(){var b=new Uint8Array(32);return window.crypto.getRandomValues(b),b}function h(){var b=f();return c(b),b}function p(b,y){for(var N=Uint8Array.from([y[0]>>2&63,(y[0]<<4|y[1]>>4)&63,(y[1]<<2|y[2]>>6)&63,y[2]&63]),A=0;A<4;++A)b[A]=N[A]+65+(25-N[A]>>8&6)-(51-N[A]>>8&75)-(61-N[A]>>8&15)+(62-N[A]>>8&3)}function m(b){var y,N=new Uint8Array(44);for(y=0;y<32/3;++y)p(N.subarray(y*4),b.subarray(y*3));return p(N.subarray(y*4),Uint8Array.from([b[y*3+0],b[y*3+1],0])),N[43]=61,String.fromCharCode.apply(null,N)}function O(b){let y=window.atob(b),N=y.length,A=new Uint8Array(N);for(let S=0;S>>8&255,y>>>16&255,y>>>24&255)}function x(b,y){b.push(y&255,y>>>8&255)}function P(b,y){for(var N=0;N>>1:y>>>1;H.table[N]=y}}for(var C=-1,S=0;S>>8^H.table[(C^b[S])&255];return(C^-1)>>>0}function M(b){for(var y=[],N=[],A=0,C=0;C{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Uy=["data-bs-theme"],Gy={key:0,class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},qy={class:"container-fluid d-flex text-body align-items-center"},Yy={key:0,class:"bi bi-list"},zy={key:1,class:"bi bi-x-lg"},Xy={__name:"App",setup(e){const t=Vn();t.initCrossServerConfiguration(),window.IS_WGDASHBOARD_DESKTOP?(t.IsElectronApp=!0,t.CrossServerConfiguration.Enable=!0,t.ActiveServerConfiguration&&Dn("/api/locale",{},r=>{t.Locale=r.data})):Dn("/api/locale",{},r=>{t.Locale=r.data}),In(t.CrossServerConfiguration,()=>{t.syncCrossServerConfiguration()},{deep:!0});const n=Ty();return(r,s)=>{const o=w_("RouterLink");return It(),As("div",{class:"h-100 bg-body","data-bs-theme":nt(t).Configuration?.Server.dashboard_theme},[s[2]||(s[2]=er("div",{style:{"z-index":"9999",height:"5px"},class:"position-absolute loadingBar top-0 start-0"},null,-1)),nt(n).meta.hideTopNav?gv("",!0):(It(),As("nav",Gy,[er("div",qy,[Ne(o,{to:"/",class:"navbar-brand mb-0 h1"},{default:Jn(()=>[...s[1]||(s[1]=[er("img",{src:mE,alt:"WGDashboard Logo",style:{width:"32px"}},null,-1)])]),_:1}),er("a",{role:"button",class:"navbarBtn text-body",onClick:s[0]||(s[0]=a=>nt(t).ShowNavBar=!nt(t).ShowNavBar),style:{"line-height":"0","font-size":"2rem"}},[Ne(Il,{name:"fade2",mode:"out-in"},{default:Jn(()=>[nt(t).ShowNavBar?(It(),As("i",zy)):(It(),As("i",Yy))]),_:1})])])])),(It(),Yr(iv,null,{default:Jn(()=>[Ne(nt(qf),null,{default:Jn(({Component:a})=>[Ne(Il,{name:"app",mode:"out-in",type:"transition",appear:""},{default:Jn(()=>[(It(),Yr(O_(a)))]),_:2},1024)]),_:1})]),_:1}))],8,Uy)}}},Qy=Ky(Xy,[["__scopeId","data-v-ddb6150e"]]);function Jy(e,t){if(e==null)return;let n=e;for(let r=0;r1&&(t=ua(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,r)?Number.isInteger(Number(n[1]))?[]:{}:e[r],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(r))&&Array.isArray(e)?e.slice()[r]:Object.assign({},e,{[r]:t})}function td(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const n={};for(const r in e)n[r]=e[r];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const n={};for(const r in e)n[r]=e[r];return n}return ua(e,td(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function nd(e,t){return t.map(n=>n.split(".")).map(n=>[n,Jy(e,n)]).filter(n=>n[1]!==void 0).reduce((n,r)=>ua(n,r[1],r[0]),{})}function rd(e,t){return t.map(n=>n.split(".")).reduce((n,r)=>td(n,r),e)}function Tc(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a,beforeHydrate:l,afterHydrate:c},d,f=!0){try{f&&l?.(d);const h=t.getItem(r);if(h){const p=n.deserialize(h),m=o?nd(p,o):p,O=a?rd(m,a):m;e.$patch(O)}f&&c?.(d)}catch(h){s&&console.error("[pinia-plugin-persistedstate]",h)}}function Cc(e,{storage:t,serializer:n,key:r,debug:s,pick:o,omit:a}){try{const l=o?nd(e,o):e,c=a?rd(l,a):l,d=n.serialize(c);t.setItem(r,d)}catch(l){s&&console.error("[pinia-plugin-persistedstate]",l)}}function Zy(e,t){return typeof e=="function"?e(t):typeof e=="string"?e:t}function eb(e,t,n){const{pinia:r,store:s,options:{persist:o=n}}=e;if(!o)return;if(!(s.$id in r.state.value)){const l=r._s.get(s.$id.replace("__hot:",""));l&&Promise.resolve().then(()=>l.$persist());return}const a=(Array.isArray(o)?o:o===!0?[{}]:[o]).map(t);s.$hydrate=({runHooks:l=!0}={})=>{a.forEach(c=>{Tc(s,c,e,l)})},s.$persist=()=>{a.forEach(l=>{Cc(s.$state,l)})},a.forEach(l=>{Tc(s,l,e),s.$subscribe((c,d)=>Cc(d,l),{detached:!0})})}function tb(e={}){return function(t){eb(t,n=>{const r=Zy(n.key,t.store.$id);return{key:(e.key?e.key:s=>s)(r),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:s=>JSON.stringify(s),deserialize:s=>JSON.parse(s)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate??e.beforeHydrate,afterHydrate:n.afterHydrate??e.afterHydrate,pick:n.pick,omit:n.omit}},e.auto??!1)}}var nb=tb();const fa=aE(Qy);fa.use(br);const da=uE();da.use(nb);da.use(({store:e})=>{e.$router=ii(br)});fa.use(da);fa.mount("#app");export{$b as $,Ac as A,Xo as B,eE as C,Vn as D,Ib as E,Xe as F,tt as G,kb as H,In as I,Jr as J,Fb as K,Ty as L,Cb as M,De as N,mb as O,Eb as P,Tu as Q,oa as R,iv as S,Pb as T,Sv as U,li as V,ky as W,ve as X,qo as Y,oi as Z,Ky as _,er as a,Tb as a0,Vb as a1,Sb as a2,Mb as a3,ed as a4,Lf as a5,iu as a6,Vm as a7,vb as a8,Rb as a9,xb as aa,Ob as ab,Ns as ac,so as ad,yb as ae,Nb as af,_b as ag,hv as ah,Ab as ai,rt as aj,mv as ak,Ku as al,Db as am,Ne as b,As as c,gv as d,pv as e,It as f,Dn as g,w_ as h,wb as i,Yr as j,Il as k,O_ as l,bb as m,ti as n,Jo as o,Lb as p,dt as q,xn as r,ei as s,Mm as t,nt as u,Jv as v,Jn as w,Gu as x,Yl as y,Hb as z}; diff --git a/src/static/dist/WGDashboardAdmin/assets/localeText-Cd7vLnRM.js b/src/static/dist/WGDashboardAdmin/assets/localeText-DcQapG1o.js similarity index 76% rename from src/static/dist/WGDashboardAdmin/assets/localeText-Cd7vLnRM.js rename to src/static/dist/WGDashboardAdmin/assets/localeText-DcQapG1o.js index e5feee9b..c29e4586 100644 --- a/src/static/dist/WGDashboardAdmin/assets/localeText-Cd7vLnRM.js +++ b/src/static/dist/WGDashboardAdmin/assets/localeText-DcQapG1o.js @@ -1 +1 @@ -import{_ as e,G as t,c as o,t as a,f as c}from"./index-DYYtDSji.js";const s={name:"localeText",props:{t:""},computed:{getLocaleText(){return t(this.t)}}};function n(r,p,l,_,i,x){return c(),o("span",null,a(this.getLocaleText),1)}const m=e(s,[["render",n]]);export{m as L}; +import{_ as e,G as t,c as o,t as a,f as c}from"./index-Y3pG9DoR.js";const s={name:"localeText",props:{t:""},computed:{getLocaleText(){return t(this.t)}}};function n(r,p,l,_,i,x){return c(),o("span",null,a(this.getLocaleText),1)}const m=e(s,[["render",n]]);export{m as L}; diff --git a/src/static/dist/WGDashboardAdmin/assets/message-BaA47ykS.js b/src/static/dist/WGDashboardAdmin/assets/message-Dp2AlOJm.js similarity index 84% rename from src/static/dist/WGDashboardAdmin/assets/message-BaA47ykS.js rename to src/static/dist/WGDashboardAdmin/assets/message-Dp2AlOJm.js index c219f802..61125948 100644 --- a/src/static/dist/WGDashboardAdmin/assets/message-BaA47ykS.js +++ b/src/static/dist/WGDashboardAdmin/assets/message-Dp2AlOJm.js @@ -1 +1 @@ -import{L as l}from"./localeText-Cd7vLnRM.js";import{d as c}from"./dayjs.min-WRW_FTL4.js";import{_ as h,c as o,a as e,b as a,w as u,e as p,h as g,t as i,k as f,n as _,f as n}from"./index-DYYtDSji.js";const x={name:"message",methods:{dayjs:c,hide(){this.ct(),this.message.show=!1},show(){this.timeout=setTimeout(()=>{this.message.show=!1},5e3)},ct(){clearTimeout(this.timeout)}},components:{LocaleText:l},props:{message:Object},mounted(){this.show()},data(){return{dismiss:!1,timeout:null}}},v=["id"],b={key:0,class:"d-flex"},w={class:"fw-bold d-block",style:{"text-transform":"uppercase"}},y={class:"ms-auto"},k={key:1},T={class:"card-body d-flex align-items-center gap-3"};function M(C,s,L,j,t,m){const d=g("LocaleText");return n(),o("div",{onMouseenter:s[1]||(s[1]=r=>{t.dismiss=!0,this.ct()}),onMouseleave:s[2]||(s[2]=r=>{t.dismiss=!1,this.show()}),class:"card shadow rounded-3 position-relative message ms-auto",id:this.message.id},[e("div",{class:_([{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"},"card-header pos"])},[a(f,{name:"zoom",mode:"out-in"},{default:u(()=>[t.dismiss?(n(),o("div",k,[e("small",{onClick:s[0]||(s[0]=r=>m.hide()),class:"d-block mx-auto w-100 text-center",style:{cursor:"pointer"}},[s[3]||(s[3]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),a(d,{t:"Dismiss"})])])):(n(),o("div",b,[e("small",w,[a(d,{t:"FROM "}),p(" "+i(this.message.from),1)]),e("small",y,i(m.dayjs().format("hh:mm A")),1)]))]),_:1})],2),e("div",T,[e("div",null,i(this.message.content),1)])],40,v)}const z=h(x,[["render",M],["__scopeId","data-v-94c76b54"]]);export{z as M}; +import{L as l}from"./localeText-DcQapG1o.js";import{d as c}from"./dayjs.min-BxkQs1mo.js";import{_ as h,c as o,a as e,b as a,w as u,e as p,h as g,t as i,k as f,n as _,f as n}from"./index-Y3pG9DoR.js";const x={name:"message",methods:{dayjs:c,hide(){this.ct(),this.message.show=!1},show(){this.timeout=setTimeout(()=>{this.message.show=!1},5e3)},ct(){clearTimeout(this.timeout)}},components:{LocaleText:l},props:{message:Object},mounted(){this.show()},data(){return{dismiss:!1,timeout:null}}},v=["id"],b={key:0,class:"d-flex"},w={class:"fw-bold d-block",style:{"text-transform":"uppercase"}},y={class:"ms-auto"},k={key:1},T={class:"card-body d-flex align-items-center gap-3"};function M(C,s,L,j,t,m){const d=g("LocaleText");return n(),o("div",{onMouseenter:s[1]||(s[1]=r=>{t.dismiss=!0,this.ct()}),onMouseleave:s[2]||(s[2]=r=>{t.dismiss=!1,this.show()}),class:"card shadow rounded-3 position-relative message ms-auto",id:this.message.id},[e("div",{class:_([{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"},"card-header pos"])},[a(f,{name:"zoom",mode:"out-in"},{default:u(()=>[t.dismiss?(n(),o("div",k,[e("small",{onClick:s[0]||(s[0]=r=>m.hide()),class:"d-block mx-auto w-100 text-center",style:{cursor:"pointer"}},[s[3]||(s[3]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),a(d,{t:"Dismiss"})])])):(n(),o("div",b,[e("small",w,[a(d,{t:"FROM "}),p(" "+i(this.message.from),1)]),e("small",y,i(m.dayjs().format("hh:mm A")),1)]))]),_:1})],2),e("div",T,[e("div",null,i(this.message.content),1)])],40,v)}const z=h(x,[["render",M],["__scopeId","data-v-94c76b54"]]);export{z as M}; diff --git a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-DKGZAANU.js b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-BibURC0a.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/newConfiguration-DKGZAANU.js rename to src/static/dist/WGDashboardAdmin/assets/newConfiguration-BibURC0a.js index 259e941a..7a82c429 100644 --- a/src/static/dist/WGDashboardAdmin/assets/newConfiguration-DKGZAANU.js +++ b/src/static/dist/WGDashboardAdmin/assets/newConfiguration-BibURC0a.js @@ -1,3 +1,3 @@ -import{p as F,e as V,c as W,m as z}from"./index-Bno8fcdN.js";import{B as G,W as B,r as h,o as J,I as N,q as j,c as a,f as n,a as e,d as T,m as w,b as r,t as _,y as P,C as M,F as A,i as I,e as U,n as D,z as q,E as Z,g as E,j as Q,_ as X,w as Y,h as O,D as ee}from"./index-DYYtDSji.js";import{L as g}from"./localeText-Cd7vLnRM.js";import{r as te}from"./galois-field-I2lBzzs-.js";const se=s=>{const t=s.split(` +import{p as F,e as V,c as W,m as z}from"./index-Bno8fcdN.js";import{B as G,W as B,r as h,o as J,I as N,q as j,c as a,f as n,a as e,d as T,m as w,b as r,t as _,y as P,C as M,F as A,i as I,e as U,n as D,z as q,E as Z,g as E,j as Q,_ as X,w as Y,h as O,D as ee}from"./index-Y3pG9DoR.js";import{L as g}from"./localeText-DcQapG1o.js";import{r as te}from"./galois-field-I2lBzzs-.js";const se=s=>{const t=s.split(` `),o={};for(let f of t){if(f==="[Peer]")break;if(f.length>0){let l=f.replace(" = ","=");l.indexOf("=")>-1&&(l=[l.slice(0,l.indexOf("=")),l.slice(l.indexOf("=")+1)],l[0]==="ListenPort"?o[l[0]]=parseInt(l[1]):o[l[0]]=l[1])}}return o},oe=s=>{const t=s.split(` `),o=[];let f=-1;const l=t.indexOf("[Peer]");if(l===-1)return!1;for(let d=l;d-1&&(b=[b.slice(0,b.indexOf("=")),b.slice(b.indexOf("=")+1)],o[f][b[0]]=b[1])}return o};te();const ne={class:"card rounded-3"},ie={class:"card-body"},ae={class:"row"},le={class:"col-sm"},re={class:"d-flex flex-column gap-2"},de={class:"d-flex align-items-center"},ue={class:"text-muted"},ce={key:0,class:"mb-0 ms-auto"},pe={key:0,class:"d-flex gap-2 flex-column"},me={class:"text-muted d-flex align-items-center gap-1",style:{"white-space":"nowrap"}},fe={class:"badge rounded-pill text-bg-success ms-auto"},be={value:void 0,disabled:""},ve=["value"],ge={class:"col-sm"},he={class:"d-flex flex-column gap-2 h-100"},we={class:"d-flex align-items-center"},ye={class:"text-muted"},_e={key:0,class:"mb-0 ms-auto"},Ce={key:1,class:"d-flex ms-auto align-items-center"},Pe={key:0,class:"d-flex gap-2 flex-column mt-auto"},xe={class:"text-muted d-flex align-items-center gap-1",style:{"white-space":"nowrap"}},Se={class:"badge rounded-pill text-bg-success ms-auto"},$e={value:void 0,disabled:""},Le=["value"],ke={key:0,class:"d-flex gap-2"},Te={key:1,class:"d-flex gap-2"},H=G({__name:"newConfigurationTemplate",props:["template","edit","isNew","peersCount"],emits:["subnet","port","update","remove"],setup(s,{emit:t}){const o=s,f=B(),l=h(!1);o.edit&&(l.value=!0);const d=h({...o.template});h(256);const b=h([]);h(20);const u=t,S=h(void 0),i=h(void 0),x=h([]),$=()=>{if(b.value=[],o.template.Subnet){let v=new Set([...V(o.template.Subnet)]);if(o.peersCount&&o.peersCount>0){for(let k of f.Configurations){let K=k.Address.replace(" ","").split(",");for(let R of K)W(o.template.Subnet,R)&&(v=v.difference(new Set([...V(R)])))}let c=Math.floor(v.size/o.peersCount),p=0;v=Array.from(v);for(let k=0;k<(c>10?10:c);k++)b.value.push(z(v.slice(p,p+o.peersCount))),p+=o.peersCount}}},m=()=>{if(o.template.ListenPortStart&&o.template.ListenPortEnd){let v=o.template.ListenPortStart,c=o.template.ListenPortEnd;v>c&&(v=o.template.ListenPortEnd,c=o.template.ListenPortStart);let p=new Set(Array.from({length:c-v+1},(k,K)=>v+K));x.value=[...p.difference(new Set(f.Configurations.map(k=>Number(k.ListenPort))))]}};J(()=>{o.isNew||($(),m())}),N(()=>o.peersCount,()=>{$()}),N(S,()=>{u("subnet",S.value)}),N(i,()=>{u("port",i.value)}),N(()=>o.template,()=>{$(),m()},{deep:!0});const y=j(()=>{try{const{start:v,end:c}=F(d.value.Subnet);if(c-v>=1000000n)throw new Error("Too many IPs");return d.value.Subnet&&d.value.ListenPortStart&&d.value.ListenPortEnd&&d.value.ListenPortEnd>=d.value.ListenPortStart}catch{return!1}}),L=async()=>{await q("/api/newConfigurationTemplates/updateTemplate",{Template:d.value},v=>{v.status&&(u("update",d.value),l.value=!1)})},C=async()=>{await q("/api/newConfigurationTemplates/deleteTemplate",{Template:d.value},v=>{v.status&&u("remove",d)})};return(v,c)=>(n(),a("div",ne,[e("div",ie,[e("div",ae,[e("div",le,[e("div",re,[e("div",de,[e("label",ue,[e("small",null,[r(g,{t:"Subnet"})])]),l.value?w((n(),a("input",{key:1,class:"form-control-sm form-control rounded-3 w-auto ms-auto","onUpdate:modelValue":c[0]||(c[0]=p=>d.value.Subnet=p)},null,512)),[[P,d.value.Subnet]]):(n(),a("p",ce,[e("small",null,_(s.template.Subnet),1)]))]),l.value?T("",!0):(n(),a("div",pe,[e("label",me,[e("small",null,[r(g,{t:"Available Subnets"})]),e("span",fe,_(b.value.length),1)]),w(e("select",{"onUpdate:modelValue":c[1]||(c[1]=p=>S.value=p),class:"form-select form-select-sm rounded-3 w-100 ms-auto"},[e("option",be,[r(g,{t:"Select..."})]),(n(!0),a(A,null,I(b.value,p=>(n(),a("option",{value:p.join(", ")},_(p.join(", ")),9,ve))),256))],512),[[M,S.value]])]))])]),e("div",ge,[e("div",he,[e("div",we,[e("label",ye,[e("small",null,[r(g,{t:"Listen Port Range"})])]),l.value?(n(),a("div",Ce,[w(e("input",{class:"form-control-sm form-control rounded-3 ms-auto",style:{width:"80px"},"onUpdate:modelValue":c[2]||(c[2]=p=>d.value.ListenPortStart=p),type:"number"},null,512),[[P,d.value.ListenPortStart]]),c[10]||(c[10]=e("i",{class:"bi bi-arrow-right mx-2"},null,-1)),w(e("input",{class:"form-control-sm form-control rounded-3 ms-auto",style:{width:"80px"},"onUpdate:modelValue":c[3]||(c[3]=p=>d.value.ListenPortEnd=p),type:"number"},null,512),[[P,d.value.ListenPortEnd]])])):(n(),a("p",_e,[e("small",null,[U(_(s.template.ListenPortStart),1),c[9]||(c[9]=e("i",{class:"bi bi-arrow-right mx-2"},null,-1)),U(" "+_(s.template.ListenPortEnd),1)])]))]),l.value?T("",!0):(n(),a("div",Pe,[e("label",xe,[e("small",null,[r(g,{t:"Available Ports"})]),e("span",Se,_(x.value.length),1)]),w(e("select",{"onUpdate:modelValue":c[4]||(c[4]=p=>i.value=p),class:"form-select form-select-sm rounded-3 w-100 ms-auto"},[e("option",$e,[r(g,{t:"Select..."})]),(n(!0),a(A,null,I([...x.value],p=>(n(),a("option",{value:p},_(p),9,Le))),256))],512),[[M,i.value]])]))])])]),c[11]||(c[11]=e("hr",null,null,-1)),l.value?(n(),a("div",Te,[e("button",{type:"button",onClick:c[7]||(c[7]=p=>s.isNew?u("remove"):l.value=!1),class:"ms-auto btn btn-sm border-secondary-subtle bg-secondary-subtle text-secondary-emphasis rounded-3"},[r(g,{t:"Cancel"})]),e("button",{type:"button",onClick:c[8]||(c[8]=p=>L()),class:D([{disabled:!y.value},"btn btn-sm border-primary-subtle bg-primary-subtle text-primary-emphasis rounded-3"])},[r(g,{t:"Save"})],2)])):(n(),a("div",ke,[e("button",{type:"button",onClick:c[5]||(c[5]=p=>{l.value=!0,d.value={...o.template}}),class:"ms-auto btn btn-sm border-primary-subtle bg-primary-subtle text-primary-emphasis rounded-3"},[r(g,{t:"Edit"})]),e("button",{type:"button",onClick:c[6]||(c[6]=p=>C()),class:"btn btn-sm border-danger-subtle bg-danger-subtle text-danger-emphasis rounded-3"},[r(g,{t:"Delete"})])]))])]))}}),Ae={class:"card rounded-3"},Ie={class:"card-header"},Ne={class:"d-flex align-items-center"},Ue={class:"text-muted"},Ke={class:"card-body"},Oe={key:0,class:"d-flex gap-2 align-items-center mb-2"},De={class:"text-muted",style:{"white-space":"nowrap"}},qe={class:"row g-2"},Ee={key:0,class:"col-12"},Re={class:"text-center text-muted m-0"},Ve={class:"col-12"},Me={class:"col-12"},He=G({__name:"newConfigurationTemplates",emits:["subnet","port"],async setup(s,{emit:t}){let o,f;const l=t,d=h([]),b=async()=>{await E("/api/newConfigurationTemplates",{},$=>{d.value=$.data})};[o,f]=Z(()=>b()),await o,f();const u=h([]),S=async()=>{await E("/api/newConfigurationTemplates/createTemplate",{},$=>{u.value.push($.data)})},i=h(256),x=h(256);return($,m)=>(n(),a("div",Ae,[e("div",Ie,[e("div",Ne,[r(g,{t:"Subnets & Listen Ports Templates"}),e("button",{type:"button",onClick:m[0]||(m[0]=y=>S()),class:"btn btn-sm bg-success-subtle text-success-emphasis border-success-subtle rounded-3 ms-auto"},[m[9]||(m[9]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),r(g,{t:"Add Template"})])]),e("small",Ue,[r(g,{t:"Create templates to keep track a list of available Subnets & Listen Ports"})])]),e("div",Ke,[d.value.length>0?(n(),a("div",Oe,[e("label",De,[e("small",null,[r(g,{t:"No. of IP Address / Subnet"})])]),w(e("input",{type:"number","onUpdate:modelValue":m[1]||(m[1]=y=>i.value=y),onChange:m[2]||(m[2]=y=>x.value=i.value),class:"form-control form-control-sm rounded-3 w-100 ms-auto"},null,544),[[P,i.value]])])):T("",!0),e("div",qe,[u.value.length===0&&d.value.length===0?(n(),a("div",Ee,[e("p",Re,[r(g,{t:"No Templates"})])])):T("",!0),(n(!0),a(A,null,I(u.value,y=>(n(),a("div",Ve,[r(H,{edit:!0,isNew:!0,onRemove:L=>u.value=u.value.filter(C=>C.TemplateID!==y.TemplateID),onUpdate:L=>{u.value=u.value.filter(C=>C.TemplateID!==y.TemplateID),b()},onSubnet:m[3]||(m[3]=L=>l("subnet",L)),onPort:m[4]||(m[4]=L=>l("port",L)),template:y},null,8,["onRemove","onUpdate","template"])]))),256)),(n(!0),a(A,null,I(d.value,(y,L)=>(n(),a("div",Me,[(n(),Q(H,{key:y.TemplateID,peersCount:x.value,onRemove:m[5]||(m[5]=C=>b()),onUpdate:m[6]||(m[6]=C=>b()),onSubnet:m[7]||(m[7]=C=>l("subnet",C)),onPort:m[8]||(m[8]=C=>l("port",C)),template:y},null,8,["peersCount","template"]))]))),256))])])]))}}),Fe={name:"newConfiguration",components:{NewConfigurationTemplates:He,LocaleText:g},async setup(){const s=B(),t=h([]);await E("/api/protocolsEnabled",{},f=>{t.value=f.data});const o=ee();return{store:s,protocols:t,dashboardStore:o}},data(){return{newConfiguration:{ConfigurationName:"",Address:"",ListenPort:"",PrivateKey:"",PublicKey:"",PresharedKey:"",PreUp:"",PreDown:"",PostUp:"",PostDown:"",Table:"",Protocol:"wg",Jc:5,Jmin:49,Jmax:998,S1:17,S2:110,H1:0,H2:0,H3:0,H4:0},numberOfAvailableIPs:"0",error:!1,errorMessage:"",success:!1,loading:!1,parseInterfaceResult:void 0,parsePeersResult:void 0}},created(){this.wireguardGenerateKeypair();let s=[];for(;[...new Set(s)].length!==4;)s=[this.rand(1,2**31-1),this.rand(1,2**31-1),this.rand(1,2**31-1),this.rand(1,2**31-1)];this.newConfiguration.H1=s[0],this.newConfiguration.H2=s[1],this.newConfiguration.H3=s[2],this.newConfiguration.H4=s[3]},methods:{rand(s,t){return Math.floor(Math.random()*(t-s)+s)},wireguardGenerateKeypair(){const s=window.wireguard.generateKeypair();this.newConfiguration.PrivateKey=s.privateKey,this.newConfiguration.PublicKey=s.publicKey,this.newConfiguration.PresharedKey=s.presharedKey},async saveNewConfiguration(){this.goodToSubmit&&(this.loading=!0,await q("/api/addWireguardConfiguration",this.newConfiguration,async s=>{s.status?(this.success=!0,await this.store.getConfigurations(),this.$router.push(`/configuration/${this.newConfiguration.ConfigurationName}/peers`)):(this.error=!0,this.errorMessage=s.message,document.querySelector(`#${s.data}`).classList.remove("is-valid"),document.querySelector(`#${s.data}`).classList.add("is-invalid"),this.loading=!1)}))},openFileUpload(){document.querySelector("#fileUpload").click()},readFile(s){const t=s.target.files[0];if(!t)return!1;const o=new FileReader;o.onload=f=>{this.parseInterfaceResult=se(f.target.result),this.parsePeersResult=oe(f.target.result);let l=0;if(this.parseInterfaceResult){this.newConfiguration.ConfigurationName=t.name.replace(".conf","");for(let d of Object.keys(this.parseInterfaceResult))Object.keys(this.newConfiguration).includes(d)&&(this.newConfiguration[d]=this.parseInterfaceResult[d],l+=1)}l>0?this.dashboardStore.newMessage("WGDashboard",`Parse successful! Updated ${l} field(s)`,"success"):this.dashboardStore.newMessage("WGDashboard","Parse failed","danger")},o.readAsText(t)}},computed:{goodToSubmit(){let s=["ConfigurationName","Address","ListenPort","PrivateKey"],t=[...document.querySelectorAll("input[required]")];return s.find(o=>this.newConfiguration[o].length===0)===void 0&&t.find(o=>o.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(s){let t=document.querySelector("#Address");if(t){t.classList.remove("is-invalid","is-valid");try{this.numberOfAvailableIPs=0,s.replace(" ","").split(",").forEach(o=>{let f=F(o),l=Number(f.end-f.start);this.numberOfAvailableIPs+=l+1}),t.classList.add("is-valid")}catch(o){console.log(o),this.numberOfAvailableIPs="0",t.classList.add("is-invalid")}}},"newConfiguration.ListenPort"(s){let t=document.querySelector("#ListenPort");t&&(t.classList.remove("is-invalid","is-valid"),s<0||s>65353||!Number.isInteger(s)?t.classList.add("is-invalid"):t.classList.add("is-valid"))},"newConfiguration.ConfigurationName"(s){let t=document.querySelector("#ConfigurationName");t&&(t.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(s)||s.length===0||this.store.Configurations.find(o=>o.Name===s)?t.classList.add("is-invalid"):t.classList.add("is-valid"))},"newConfiguration.PrivateKey"(s){let t=document.querySelector("#PrivateKey");if(t){t.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(s),t.classList.add("is-valid")}catch{t.classList.add("is-invalid")}}}},mounted(){document.querySelector("#fileUpload").addEventListener("change",this.readFile,!1)}},Ge={class:"mt-md-5 mt-3 text-body"},Be={class:"container mb-4"},We={class:"mb-4 d-flex align-items-center gap-4 align-items-center"},ze={class:"mb-0"},Je={class:"d-flex gap-2 ms-auto"},je={class:"card rounded-3 shadow"},Ze={class:"card-header"},Qe={class:"card-body d-flex gap-2 protocolBtnGroup"},Xe={key:0,class:"bi bi-check-circle-fill me-2"},Ye={key:1,class:"bi bi-circle me-2"},et={key:0,class:"bi bi-check-circle-fill me-2"},tt={key:1,class:"bi bi-circle me-2"},st={class:"card rounded-3 shadow"},ot={class:"card-header"},nt={class:"card-body"},it=["disabled"],at={class:"invalid-feedback"},lt={key:0},rt={key:1},dt={class:"mb-0"},ut={class:"card rounded-3 shadow"},ct={class:"card-header"},pt={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},mt={class:"mb-2"},ft={class:"text-muted fw-bold mb-1"},bt={class:"input-group"},vt=["disabled"],gt={class:"text-muted fw-bold mb-1"},ht={class:"card rounded-3 shadow"},wt={class:"card-header"},yt={class:"card-body"},_t=["disabled"],Ct={class:"invalid-feedback"},Pt={key:0},xt={key:1},St={class:"card rounded-3 shadow"},$t={class:"card-header d-flex align-items-center"},Lt={class:"badge rounded-pill text-bg-success ms-auto"},kt={class:"card-body"},Tt=["disabled"],At={class:"invalid-feedback"},It={key:0},Nt={key:1},Ut={class:"accordion",id:"newConfigurationOptionalAccordion"},Kt={class:"accordion-item"},Ot={class:"accordion-header"},Dt={class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},qt={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Et={class:"accordion-body d-flex flex-column gap-3"},Rt={class:"card rounded-3"},Vt={class:"card-header"},Mt={class:"card-body"},Ht=["id","onUpdate:modelValue"],Ft={class:"card rounded-3"},Gt={class:"card-header"},Bt={class:"card-body"},Wt=["id","onUpdate:modelValue"],zt=["disabled"],Jt={key:0,class:"d-flex w-100"},jt={key:1,class:"d-flex w-100"},Zt={key:2,class:"d-flex w-100 align-items-center"};function Qt(s,t,o,f,l,d){const b=O("RouterLink"),u=O("LocaleText"),S=O("NewConfigurationTemplates");return n(),a("div",Ge,[e("div",Be,[e("div",We,[r(b,{to:"/",class:"btn btn-dark btn-brand p-2 shadow",style:{"border-radius":"100%"}},{default:Y(()=>[...t[12]||(t[12]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-arrow-left-circle"})],-1)])]),_:1}),e("h2",ze,[r(u,{t:"New Configuration"})]),e("div",Je,[e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[0]||(t[0]=i=>d.openFileUpload()),type:"button","aria-expanded":"false"},[t[13]||(t[13]=e("i",{class:"bi bi-upload me-2"},null,-1)),r(u,{t:"Open File"})]),t[14]||(t[14]=e("input",{type:"file",id:"fileUpload",multiple:"",class:"d-none",accept:"text/plain"},null,-1))])]),e("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[11]||(t[11]=i=>{i.preventDefault(),this.saveNewConfiguration()})},[e("div",je,[e("div",Ze,[r(u,{t:"Protocol"})]),e("div",Qe,[this.protocols.includes("wg")?(n(),a("a",{key:0,onClick:t[1]||(t[1]=i=>this.newConfiguration.Protocol="wg"),class:D([{"opacity-50":this.newConfiguration.Protocol!=="wg"},"btn btn-primary wireguardBg border-0"]),style:{"flex-basis":"100%"}},[this.newConfiguration.Protocol==="wg"?(n(),a("i",Xe)):(n(),a("i",Ye)),t[15]||(t[15]=e("strong",null," WireGuard ",-1))],2)):T("",!0),this.protocols.includes("awg")?(n(),a("a",{key:1,onClick:t[2]||(t[2]=i=>this.newConfiguration.Protocol="awg"),class:D([{"opacity-50":this.newConfiguration.Protocol!=="awg"},"btn btn-primary amneziawgBg border-0"]),style:{"flex-basis":"100%"}},[this.newConfiguration.Protocol==="awg"?(n(),a("i",et)):(n(),a("i",tt)),t[16]||(t[16]=e("strong",null," AmneziaWG ",-1))],2)):T("",!0)])]),e("div",st,[e("div",ot,[r(u,{t:"Configuration Name"})]),e("div",nt,[w(e("input",{type:"text",class:"form-control",placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":t[3]||(t[3]=i=>this.newConfiguration.ConfigurationName=i),disabled:this.loading,required:""},null,8,it),[[P,this.newConfiguration.ConfigurationName]]),e("div",at,[this.error?(n(),a("div",lt,_(this.errorMessage),1)):(n(),a("div",rt,[r(u,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",dt,[e("li",null,[r(u,{t:"Configuration name already exist."})]),e("li",null,[r(u,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])]))])])]),e("div",ut,[e("div",ct,[r(u,{t:"Private Key"}),t[17]||(t[17]=U(" & ",-1)),r(u,{t:"Public Key"})]),e("div",pt,[e("div",mt,[e("label",ft,[e("small",null,[r(u,{t:"Private Key"})])]),e("div",bt,[w(e("input",{type:"text",class:"form-control",id:"PrivateKey",required:"",disabled:this.loading,"onUpdate:modelValue":t[4]||(t[4]=i=>this.newConfiguration.PrivateKey=i)},null,8,vt),[[P,this.newConfiguration.PrivateKey]]),e("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[5]||(t[5]=i=>d.wireguardGenerateKeypair())},[...t[18]||(t[18]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)])])])]),e("div",null,[e("label",gt,[e("small",null,[r(u,{t:"Public Key"})])]),w(e("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[6]||(t[6]=i=>this.newConfiguration.PublicKey=i),disabled:""},null,512),[[P,this.newConfiguration.PublicKey]])])])]),r(S,{onSubnet:t[7]||(t[7]=i=>this.newConfiguration.Address=i),onPort:t[8]||(t[8]=i=>this.newConfiguration.ListenPort=i)}),e("div",ht,[e("div",wt,[r(u,{t:"Listen Port"})]),e("div",yt,[w(e("input",{type:"number",class:"form-control",placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":t[9]||(t[9]=i=>this.newConfiguration.ListenPort=i),disabled:this.loading,required:""},null,8,_t),[[P,this.newConfiguration.ListenPort]]),e("div",Ct,[this.error?(n(),a("div",Pt,_(this.errorMessage),1)):(n(),a("div",xt,[r(u,{t:"Invalid port"})]))])])]),e("div",St,[e("div",$t,[r(u,{t:"IP Address/CIDR"}),e("span",Lt,[r(u,{t:l.numberOfAvailableIPs+" Available IP Address"},null,8,["t"])])]),e("div",kt,[w(e("input",{type:"text",class:"form-control",placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":t[10]||(t[10]=i=>this.newConfiguration.Address=i),disabled:this.loading,required:""},null,8,Tt),[[P,this.newConfiguration.Address]]),e("div",At,[this.error?(n(),a("div",It,_(this.errorMessage),1)):(n(),a("div",Nt," IP Address/CIDR is invalid "))])])]),t[23]||(t[23]=e("hr",null,null,-1)),e("div",Ut,[e("div",Kt,[e("h2",Ot,[e("button",Dt,[r(u,{t:"Optional Settings"})])]),e("div",qt,[e("div",Et,[(n(),a(A,null,I(["Table","PreUp","PreDown","PostUp","PostDown"],i=>e("div",Rt,[e("div",Vt,_(i),1),e("div",Mt,[w(e("input",{type:"text",class:"form-control font-monospace",id:i,"onUpdate:modelValue":x=>this.newConfiguration[i]=x},null,8,Ht),[[P,this.newConfiguration[i]]])])])),64)),this.newConfiguration.Protocol==="awg"?(n(),a(A,{key:0},I(["Jc","Jmin","Jmax","S1","S2","H1","H2","H3","H4"],i=>e("div",Ft,[e("div",Gt,_(i),1),e("div",Bt,[w(e("input",{type:"text",class:"form-control font-monospace",id:i,"onUpdate:modelValue":x=>this.newConfiguration[i]=x},null,8,Wt),[[P,this.newConfiguration[i]]])])])),64)):T("",!0)])])])]),e("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit||this.loading||this.success},[this.success?(n(),a("span",Jt,[r(u,{t:"Success"}),t[19]||(t[19]=U("! ",-1)),t[20]||(t[20]=e("i",{class:"bi bi-check-circle-fill ms-2"},null,-1))])):this.loading?(n(),a("span",Zt,[r(u,{t:"Saving..."}),t[22]||(t[22]=e("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1))])):(n(),a("span",jt,[t[21]||(t[21]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),r(u,{t:"Save"})]))],8,zt)],32)])])}const ss=X(Fe,[["render",Qt],["__scopeId","data-v-c25dcde1"]]);export{ss as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/osmap-BtV_4HvJ.js b/src/static/dist/WGDashboardAdmin/assets/osmap-B4A8sjpG.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/osmap-BtV_4HvJ.js rename to src/static/dist/WGDashboardAdmin/assets/osmap-B4A8sjpG.js index 1ef231ae..f7df00ea 100644 --- a/src/static/dist/WGDashboardAdmin/assets/osmap-BtV_4HvJ.js +++ b/src/static/dist/WGDashboardAdmin/assets/osmap-B4A8sjpG.js @@ -1 +1 @@ -import{S as C,e as y,c as w,m as _,a as L,f as S,l as v,i as M,b as k,d as x,g as A,h as F,j as R,M as D,V as P,T as b,k as l,O as E,n as O,F as h,P as f,o as T,p as c,C as V,q as u,r as X}from"./Vector-CuSZivra.js";import{_ as Y,D as G,c as $,d as j,f as q}from"./index-DYYtDSji.js";class r extends C{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,e!==void 0&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendCoordinate(t){y(this.flatCoordinates,t),this.changed()}clone(){const t=new r(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,o,n){return nt.geo&&t.geo.lat&&t.geo.lon);return i?[i.geo.lon,i.geo.lat]:[0,0]}return[this.d.geo.lon,this.d.geo.lat]}},async mounted(){await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}).then(i=>{const t=new D({target:"map",layers:[new b({source:new E})],view:new P({center:l(this.getLastLonLat()),zoom:this.type==="traceroute"?3:10})}),e=[],o=new O;if(this.type==="traceroute")this.d.forEach(s=>{if(s.geo&&s.geo.lat&&s.geo.lon){const a=l([s.geo.lon,s.geo.lat]);e.push(a);const g=this.getLastLonLat(),m=new h({geometry:new f(a),last:s.geo.lon===g[0]&&s.geo.lat===g[1]});o.addFeature(m)}});else{const s=l([this.d.geo.lon,this.d.geo.lat]);e.push(s);const a=new h({geometry:new f(s)});o.addFeature(a)}const n=new r(e),d=new h({geometry:n});o.addFeature(d);const p=new T({source:o,style:function(s){if(s.getGeometry().getType()==="Point")return new c({image:new V({radius:10,fill:new X({color:s.get("last")?"#dc3545":"#0d6efd"}),stroke:new u({color:"white",width:5})})});if(s.getGeometry().getType()==="LineString")return new c({stroke:new u({color:"#0d6efd",width:2})})}});t.addLayer(p)}).catch(i=>{this.osmAvailable=!1})}},z={key:0,id:"map",class:"w-100 rounded-3"};function I(i,t,e,o,n,d){return this.osmAvailable?(q(),$("div",z)):j("",!0)}const H=Y(B,[["render",I]]);export{H as O}; +import{S as C,e as y,c as w,m as _,a as L,f as S,l as v,i as M,b as k,d as x,g as A,h as F,j as R,M as D,V as P,T as b,k as l,O as E,n as O,F as h,P as f,o as T,p as c,C as V,q as u,r as X}from"./Vector-CuSZivra.js";import{_ as Y,D as G,c as $,d as j,f as q}from"./index-Y3pG9DoR.js";class r extends C{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,e!==void 0&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendCoordinate(t){y(this.flatCoordinates,t),this.changed()}clone(){const t=new r(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,o,n){return nt.geo&&t.geo.lat&&t.geo.lon);return i?[i.geo.lon,i.geo.lat]:[0,0]}return[this.d.geo.lon,this.d.geo.lat]}},async mounted(){await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}).then(i=>{const t=new D({target:"map",layers:[new b({source:new E})],view:new P({center:l(this.getLastLonLat()),zoom:this.type==="traceroute"?3:10})}),e=[],o=new O;if(this.type==="traceroute")this.d.forEach(s=>{if(s.geo&&s.geo.lat&&s.geo.lon){const a=l([s.geo.lon,s.geo.lat]);e.push(a);const g=this.getLastLonLat(),m=new h({geometry:new f(a),last:s.geo.lon===g[0]&&s.geo.lat===g[1]});o.addFeature(m)}});else{const s=l([this.d.geo.lon,this.d.geo.lat]);e.push(s);const a=new h({geometry:new f(s)});o.addFeature(a)}const n=new r(e),d=new h({geometry:n});o.addFeature(d);const p=new T({source:o,style:function(s){if(s.getGeometry().getType()==="Point")return new c({image:new V({radius:10,fill:new X({color:s.get("last")?"#dc3545":"#0d6efd"}),stroke:new u({color:"white",width:5})})});if(s.getGeometry().getType()==="LineString")return new c({stroke:new u({color:"#0d6efd",width:2})})}});t.addLayer(p)}).catch(i=>{this.osmAvailable=!1})}},z={key:0,id:"map",class:"w-100 rounded-3"};function I(i,t,e,o,n,d){return this.osmAvailable?(q(),$("div",z)):j("",!0)}const H=Y(B,[["render",I]]);export{H as O}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-CFkDvr1R.js b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-DHfWN2bR.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/peerAddModal-CFkDvr1R.js rename to src/static/dist/WGDashboardAdmin/assets/peerAddModal-DHfWN2bR.js index cd87befa..6744ced7 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerAddModal-CFkDvr1R.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerAddModal-DHfWN2bR.js @@ -1 +1 @@ -import{_ as k,h as y,c as d,f as i,a as e,m as h,b as o,e as w,y as f,n as m,W as $,D as I,v as A,w as j,F as C,i as O,t as S,T as E,H as F,d as g,G as V,r as L,$ as N,g as B,L as G,E as R,q as T,I as q,j as K,z as W}from"./index-DYYtDSji.js";import{L as p}from"./localeText-Cd7vLnRM.js";const J={name:"endpointAllowedIps",components:{LocaleText:p},props:{data:Object,saving:Boolean},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let l=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.checkCIDR(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IPs format is incorrect","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},z={for:"peer_endpoint_allowed_ips",class:"form-label"},H={class:"text-muted"},Q=["disabled"];function Y(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",z,[e("small",H,[o(s,{t:"Endpoint Allowed IPs"}),t[2]||(t[2]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":u.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.endpointAllowedIps=a),onBlur:t[1]||(t[1]=a=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,Q),[[f,this.endpointAllowedIps]])])}const Z=k(J,[["render",Y]]),X={name:"allowedIPsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(l){const t=$(),n=I(),r=L("");return Object.keys(l.availableIp).length>0&&(r.value=Object.keys(l.availableIp)[0]),{store:t,dashboardStore:n,selectedSubnet:r}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp[this.selectedSubnet].filter(l=>l.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(l)):this.availableIp[this.selectedSubnet].filter(l=>!this.data.allowed_ips.includes(l))},inputGetLocale(){return V("Enter IP Address/CIDR")}},methods:{addAllowedIp(l){let t=l.split(",");for(let n=0;n0&&this.data.allowed_ips.length===0)for(let l in this.availableIp)this.availableIp[l].length>0&&this.addAllowedIp(this.availableIp[l][0])}},ee={class:"d-flex flex-column flex-md-row mb-2"},te={for:"peer_allowed_ip_textbox",class:"form-label mb-0"},se={class:"text-muted"},ae={class:"form-check form-switch ms-md-auto"},le={class:"form-check-label",for:"disableIPValidation"},oe={class:"d-flex"},ie=["onClick"],de={class:"d-flex gap-2 align-items-center"},ne={class:"input-group"},re=["placeholder","disabled"],ue=["disabled"],ce={class:"text-muted"},pe={class:"dropdown flex-grow-1"},he=["disabled"],be={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3 pb-0",style:{width:"300px !important"}},me={class:"px-3 d-flex gap-3 align-items-center"},_e={class:"px-3 overflow-x-scroll d-flex overflow-x-scroll overflow-y-hidden align-items-center gap-2"},ve=["onClick"],fe={class:"overflow-y-scroll",style:{height:"270px"}},ke=["onClick"],ye={class:"me-auto"},ge={key:0,class:"px-3 py-2"},we={key:0,class:"text-muted"},xe={key:1,class:"text-muted"};function $e(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("div",ee,[e("label",te,[e("small",se,[o(s,{t:"Allowed IPs"}),t[5]||(t[5]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",ae,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.allowed_ips_validation=a),role:"switch",id:"disableIPValidation"},null,512),[[A,this.data.allowed_ips_validation]]),e("label",le,[e("small",null,[o(s,{t:"Allowed IPs Validation"})])])])]),e("div",oe,[e("div",{class:m(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[o(E,{name:"list"},{default:j(()=>[(i(!0),d(C,null,O(this.data.allowed_ips,(a,c)=>(i(),d("span",{class:"badge rounded-pill text-bg-success",key:a},[w(S(a)+" ",1),e("a",{role:"button",onClick:P=>this.data.allowed_ips.splice(c,1)},[...t[6]||(t[6]=[e("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)])],8,ie)]))),128))]),_:1})],2)]),e("div",de,[e("div",ne,[h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:this.inputGetLocale,onKeyup:t[1]||(t[1]=F(a=>this.customAvailableIp?this.addAllowedIp(this.customAvailableIp):void 0,["enter"])),"onUpdate:modelValue":t[2]||(t[2]=a=>u.customAvailableIp=a),id:"peer_allowed_ip_textbox",disabled:n.bulk},null,42,re),[[f,u.customAvailableIp]]),e("button",{class:m(["btn btn-sm rounded-end-3",[this.customAvailableIp?"btn-success":"btn-outline-success"]]),disabled:n.bulk||!this.customAvailableIp,onClick:t[3]||(t[3]=a=>this.addAllowedIp(this.customAvailableIp)),type:"button",id:"button-addon2"},[...t[7]||(t[7]=[e("i",{class:"bi bi-plus-lg"},null,-1)])],10,ue)]),e("small",ce,[o(s,{t:"or"})]),e("div",pe,[e("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[t[8]||(t[8]=e("i",{class:"bi bi-filter-circle me-2"},null,-1)),o(s,{t:"Pick Available IP"})],8,he),this.availableIp?(i(),d("ul",be,[e("li",null,[e("div",me,[t[9]||(t[9]=e("label",{for:"availableIpSearchString",class:"text-muted"},[e("i",{class:"bi bi-search"})],-1)),h(e("input",{id:"availableIpSearchString",class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[4]||(t[4]=a=>this.availableIpSearchString=a)},null,512),[[f,this.availableIpSearchString]])]),t[11]||(t[11]=e("hr",{class:"my-2"},null,-1)),e("div",_e,[t[10]||(t[10]=e("small",{class:"text-muted"},"Subnet",-1)),(i(!0),d(C,null,O(Object.keys(this.availableIp),a=>(i(),d("button",{key:a,onClick:c=>this.selectedSubnet=a,class:m([{"bg-primary-subtle":this.selectedSubnet===a},"btn btn-sm text-primary-emphasis rounded-3"])},S(a),11,ve))),128))]),t[12]||(t[12]=e("hr",{class:"mt-2 mb-0"},null,-1))]),e("li",null,[e("div",fe,[(i(!0),d(C,null,O(this.searchAvailableIps,a=>(i(),d("div",{style:{},key:a},[e("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>this.addAllowedIp(a)},[e("span",ye,[e("small",null,S(a),1)])],8,ke)]))),128)),this.searchAvailableIps.length===0?(i(),d("div",ge,[this.availableIpSearchString?(i(),d("small",we,[o(s,{t:"No available IP containing"}),w('"'+S(this.availableIpSearchString)+'"',1)])):(i(),d("small",xe,[o(s,{t:"No more IP address available in this subnet"})]))])):g("",!0)])])])):g("",!0)])])],2)}const Ie=k(X,[["render",$e],["__scopeId","data-v-ed72944d"]]),Ae={name:"dnsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let l=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.regexCheckIP(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS format is incorrect","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},Pe={for:"peer_DNS_textbox",class:"form-label"},Se={class:"text-muted"},Ke=["disabled"];function Ce(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",Pe,[e("small",Se,[o(s,{t:"DNS"})])]),h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.dns=a),id:"peer_DNS_textbox"},null,10,Ke),[[f,this.dns]])])}const Le=k(Ae,[["render",Ce]]),Oe={name:"nameInput",components:{LocaleText:p},props:{bulk:Boolean,data:Object,saving:Boolean}},De={for:"peer_name_textbox",class:"form-label"},Ne={class:"text-muted"},Te=["disabled"];function Ve(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("label",De,[e("small",Ne,[o(s,{t:"Name"})])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.name=a),id:"peer_name_textbox",placeholder:""},null,8,Te),[[f,this.data.name]])],2)}const Be=k(Oe,[["render",Ve]]),Me={name:"privatePublicKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean},setup(){const l=I(),t=$();return{dashboardStore:l,wgStore:t}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},view:!1,editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},testKey(l){return/^[A-Za-z0-9+/]{43}=?=?$/.test(l)},checkMatching(){try{this.keypair.privateKey&&this.wgStore.checkWGKeyLength(this.keypair.privateKey)&&(this.keypair.publicKey=window.wireguard.generatePublicKey(this.keypair.privateKey),window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey?(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private key does not match with the public key","danger")):(this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},Ue={for:"peer_private_key_textbox",class:"form-label d-flex align-items-center"},je={class:"text-muted"},Ee={class:"input-group"},Fe=["type","disabled"],Ge=["disabled"],Re={class:"d-flex flex-column flex-md-row mb-2"},qe={for:"public_key",class:"form-label mb-0"},We={class:"text-muted"},Je={class:"form-check form-switch ms-md-auto"},ze=["disabled"],He={class:"form-check-label",for:"enablePublicKeyEdit"},Qe=["disabled","type"];function Ye(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[e("div",null,[e("label",Ue,[e("small",je,[o(s,{t:"Private Key"}),t[7]||(t[7]=w()),e("code",null,[o(s,{t:"(Required for QR Code and Download)"})])]),e("a",{role:"button",class:"ms-auto text-decoration-none text-body",onClick:t[0]||(t[0]=a=>this.view=!this.view)},[e("small",null,[e("i",{class:m(["bi me-2",[this.view?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2),o(s,{t:this.view?"Hide Keys":"Show Keys"},null,8,["t"])])])]),e("div",Ee,[h(e("input",{type:this.view?"text":"password",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error,"rounded-3":!this.view}]),"onUpdate:modelValue":t[1]||(t[1]=a=>this.keypair.privateKey=a),disabled:!this.editKey||this.bulk,onBlur:t[2]||(t[2]=a=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,Fe),[[N,this.keypair.privateKey]]),this.view?(i(),d("button",{key:0,class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[3]||(t[3]=a=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},[...t[8]||(t[8]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)])],8,Ge)):g("",!0)])]),e("div",null,[e("div",Re,[e("label",qe,[e("small",We,[o(s,{t:"Public Key"}),t[9]||(t[9]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",Je,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[4]||(t[4]=a=>this.editKey=a)},null,8,ze),[[A,this.editKey]]),e("label",He,[e("small",null,[o(s,{t:"Use your own Private and Public Key"})])])])]),h(e("input",{class:m(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[5]||(t[5]=a=>this.keypair.publicKey=a),onBlur:t[6]||(t[6]=a=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:this.view?"text":"password",id:"public_key"},null,42,Qe),[[N,this.keypair.publicKey]])])],2)}const Ze=k(Me,[["render",Ye]]),Xe={name:"bulkAdd",components:{LocaleText:p},props:{saving:Boolean,data:Object,availableIp:void 0},data(){return{numberOfAvailableIPs:null}},computed:{bulkAddGetLocale(){return V("How many peers you want to add?")},getNumberOfAvailableIPs(){return this.numberOfAvailableIPs?Object.values(this.numberOfAvailableIPs).reduce((l,t)=>l+t):"..."}},watch:{"data.bulkAdd":{immediate:!0,handler(l){l&&B("/api/getNumberOfAvailableIPs/"+this.$route.params.id,{},t=>{t.status&&(this.numberOfAvailableIPs=t.data)})}}}},et={class:"form-check form-switch"},tt=["disabled"],st={class:"form-check-label me-2",for:"bulk_add"},at={class:"text-muted d-block"},lt={key:0,class:"form-group"},ot=["max","placeholder"],it={class:"text-muted"};function dt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("div",et,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.bulkAdd=a)},null,8,tt),[[A,this.data.bulkAdd]]),e("label",st,[e("small",null,[e("strong",null,[o(s,{t:"Bulk Add"})])])])]),e("p",{class:m({"mb-0":!this.data.bulkAdd})},[e("small",at,[o(s,{t:"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP."})])],2),this.data.bulkAdd?(i(),d("div",lt,[h(e("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",id:"bulk_add_count",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.bulkAddAmount=a),placeholder:this.bulkAddGetLocale},null,8,ot),[[f,this.data.bulkAddAmount]]),e("small",it,[o(s,{t:"You can add up to "+v.getNumberOfAvailableIPs+" peers"},null,8,["t"])])])):g("",!0)])}const nt=k(Xe,[["render",dt]]),rt={name:"presharedKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{enable:!1}},watch:{enable(){this.enable?this.data.preshared_key=window.wireguard.generateKeypair().presharedKey:this.data.preshared_key=""}}},ut={class:"d-flex align-items-start"},ct={for:"peer_preshared_key_textbox",class:"form-label"},pt={class:"text-muted"},ht={class:"form-check form-switch ms-auto"},bt=["disabled"];function mt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("div",ut,[e("label",ct,[e("small",pt,[o(s,{t:"Pre-Shared Key"})])]),e("div",ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":t[0]||(t[0]=a=>this.enable=a),id:"peer_preshared_key_switch"},null,512),[[A,this.enable]])])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||!this.enable,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.preshared_key=a),id:"peer_preshared_key_textbox"},null,8,bt),[[f,this.data.preshared_key]])])}const _t=k(rt,[["render",mt]]),vt={name:"mtuInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},ft={for:"peer_mtu",class:"form-label"},kt={class:"text-muted"},yt=["disabled"];function gt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",ft,[e("small",kt,[o(s,{t:"MTU"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.mtu=a),min:"0",id:"peer_mtu"},null,8,yt),[[f,this.data.mtu]])])}const wt=k(vt,[["render",gt]]),xt={name:"persistentKeepAliveInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},$t={for:"peer_keep_alive",class:"form-label"},It={class:"text-muted"},At=["disabled"];function Pt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",$t,[e("small",It,[o(s,{t:"Persistent Keepalive"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.keepalive=a),id:"peer_keep_alive"},null,8,At),[[f,this.data.keepalive]])])}const St=k(xt,[["render",Pt]]),Kt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Ct={class:"container d-flex h-100 w-100"},Lt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Ot={class:"card rounded-3 shadow flex-grow-1"},Dt={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Nt={class:"mb-0"},Tt={class:"card-body px-4 pb-4"},Vt={class:"d-flex flex-column gap-2"},Bt={class:"accordion mb-3",id:"peerAddModalAccordion"},Mt={class:"accordion-item"},Ut={class:"accordion-header"},jt={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerAddModalAccordionAdvancedOptions"},Et={id:"peerAddModalAccordionAdvancedOptions",class:"accordion-collapse collapse collapsed","data-bs-parent":"#peerAddModalAccordion"},Ft={class:"accordion-body rounded-bottom-3"},Gt={class:"d-flex flex-column gap-2"},Rt={class:"row gy-3"},qt={key:0,class:"col-sm"},Wt={class:"col-sm"},Jt={class:"col-sm"},zt={key:1,class:"col-12"},Ht={class:"form-check form-switch"},Qt={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},Yt={class:"fw-bold"},Zt={class:"d-flex mt-2"},Xt=["disabled"],es={key:0,class:"bi bi-plus-circle-fill me-2"},as={__name:"peerAddModal",emits:["close","addedPeers"],async setup(l,{emit:t}){let n,r;const u=I(),v=$(),s=L({bulkAdd:!1,bulkAddAmount:0,name:"",allowed_ips:[],private_key:"",public_key:"",DNS:u.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:u.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(u.Configuration.Peers.peer_keep_alive),mtu:parseInt(u.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!1,advanced_security:"off",allowed_ips_validation:!0}),a=L([]),c=L(!1),P=G();[n,r]=R(()=>B("/api/getAvailableIPs/"+P.params.id,{},_=>{_.status&&(a.value=_.data)})),await n,r();const D=t;T(()=>v.Configurations.find(_=>_.Name===P.params.id).Protocol);const M=T(()=>{let _=!0;return s.value.bulkAdd?(s.value.bulkAddAmount.length===0||s.value.bulkAddAmount>a.value.length)&&(_=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(x=>{s.value[x].length===0&&(_=!1)}),_}),U=()=>{c.value=!0,W("/api/addPeers/"+P.params.id,s.value,_=>{_.status?(u.newMessage("Server","Peer created successfully","success"),D("addedPeers")):u.newMessage("Server",_.message,"danger"),c.value=!1})};return q(()=>s.value.bulkAddAmount,()=>{s.value.bulkAddAmount>a.value.length&&(s.value.bulkAddAmount=a.value.length)}),(_,b)=>(i(),d("div",Kt,[e("div",Ct,[e("div",Lt,[e("div",Ot,[e("div",Dt,[e("h4",Nt,[o(p,{t:"Add Peers"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:b[0]||(b[0]=x=>D("close"))})]),e("div",Tt,[e("div",Vt,[o(nt,{saving:c.value,data:s.value,availableIp:a.value},null,8,["saving","data","availableIp"]),s.value.bulkAdd?g("",!0):(i(),d(C,{key:0},[b[3]||(b[3]=e("hr",{class:"mb-0 mt-2"},null,-1)),o(Be,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ze,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ie,{availableIp:a.value,saving:c.value,data:s.value},null,8,["availableIp","saving","data"])],64))]),b[5]||(b[5]=e("hr",null,null,-1)),e("div",Bt,[e("div",Mt,[e("h2",Ut,[e("button",jt,[o(p,{t:"Advanced Options"})])]),e("div",Et,[e("div",Ft,[e("div",Gt,[o(Le,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Z,{saving:c.value,data:s.value},null,8,["saving","data"]),e("div",Rt,[s.value.bulkAdd?g("",!0):(i(),d("div",qt,[o(_t,{saving:c.value,data:s.value,bulk:s.value.bulkAdd},null,8,["saving","data","bulk"])])),e("div",Wt,[o(wt,{saving:c.value,data:s.value},null,8,["saving","data"])]),e("div",Jt,[o(St,{saving:c.value,data:s.value},null,8,["saving","data"])]),s.value.bulkAdd?(i(),d("div",zt,[e("div",Ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":b[1]||(b[1]=x=>s.value.preshared_key_bulkAdd=x),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[A,s.value.preshared_key_bulkAdd]]),e("label",Qt,[e("small",Yt,[o(p,{t:"Pre-Shared Key"}),b[4]||(b[4]=w()),s.value.preshared_key_bulkAdd?(i(),K(p,{key:0,t:"Enabled"})):(i(),K(p,{key:1,t:"Disabled"}))])])])])):g("",!0)])])])])])]),e("div",Zt,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!M.value||c.value,onClick:b[2]||(b[2]=x=>U())},[c.value?g("",!0):(i(),d("i",es)),c.value?(i(),K(p,{key:1,t:"Adding..."})):(i(),K(p,{key:2,t:"Add"}))],8,Xt)])])])])])],512))}};export{as as default}; +import{_ as k,h as y,c as d,f as i,a as e,m as h,b as o,e as w,y as f,n as m,W as $,D as I,v as A,w as j,F as C,i as O,t as S,T as E,H as F,d as g,G as V,r as L,$ as N,g as B,L as G,E as R,q as T,I as q,j as K,z as W}from"./index-Y3pG9DoR.js";import{L as p}from"./localeText-DcQapG1o.js";const J={name:"endpointAllowedIps",components:{LocaleText:p},props:{data:Object,saving:Boolean},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let l=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.checkCIDR(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IPs format is incorrect","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},z={for:"peer_endpoint_allowed_ips",class:"form-label"},H={class:"text-muted"},Q=["disabled"];function Y(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",z,[e("small",H,[o(s,{t:"Endpoint Allowed IPs"}),t[2]||(t[2]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":u.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.endpointAllowedIps=a),onBlur:t[1]||(t[1]=a=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,Q),[[f,this.endpointAllowedIps]])])}const Z=k(J,[["render",Y]]),X={name:"allowedIPsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(l){const t=$(),n=I(),r=L("");return Object.keys(l.availableIp).length>0&&(r.value=Object.keys(l.availableIp)[0]),{store:t,dashboardStore:n,selectedSubnet:r}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp[this.selectedSubnet].filter(l=>l.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(l)):this.availableIp[this.selectedSubnet].filter(l=>!this.data.allowed_ips.includes(l))},inputGetLocale(){return V("Enter IP Address/CIDR")}},methods:{addAllowedIp(l){let t=l.split(",");for(let n=0;n0&&this.data.allowed_ips.length===0)for(let l in this.availableIp)this.availableIp[l].length>0&&this.addAllowedIp(this.availableIp[l][0])}},ee={class:"d-flex flex-column flex-md-row mb-2"},te={for:"peer_allowed_ip_textbox",class:"form-label mb-0"},se={class:"text-muted"},ae={class:"form-check form-switch ms-md-auto"},le={class:"form-check-label",for:"disableIPValidation"},oe={class:"d-flex"},ie=["onClick"],de={class:"d-flex gap-2 align-items-center"},ne={class:"input-group"},re=["placeholder","disabled"],ue=["disabled"],ce={class:"text-muted"},pe={class:"dropdown flex-grow-1"},he=["disabled"],be={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3 pb-0",style:{width:"300px !important"}},me={class:"px-3 d-flex gap-3 align-items-center"},_e={class:"px-3 overflow-x-scroll d-flex overflow-x-scroll overflow-y-hidden align-items-center gap-2"},ve=["onClick"],fe={class:"overflow-y-scroll",style:{height:"270px"}},ke=["onClick"],ye={class:"me-auto"},ge={key:0,class:"px-3 py-2"},we={key:0,class:"text-muted"},xe={key:1,class:"text-muted"};function $e(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("div",ee,[e("label",te,[e("small",se,[o(s,{t:"Allowed IPs"}),t[5]||(t[5]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",ae,[h(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.allowed_ips_validation=a),role:"switch",id:"disableIPValidation"},null,512),[[A,this.data.allowed_ips_validation]]),e("label",le,[e("small",null,[o(s,{t:"Allowed IPs Validation"})])])])]),e("div",oe,[e("div",{class:m(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[o(E,{name:"list"},{default:j(()=>[(i(!0),d(C,null,O(this.data.allowed_ips,(a,c)=>(i(),d("span",{class:"badge rounded-pill text-bg-success",key:a},[w(S(a)+" ",1),e("a",{role:"button",onClick:P=>this.data.allowed_ips.splice(c,1)},[...t[6]||(t[6]=[e("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)])],8,ie)]))),128))]),_:1})],2)]),e("div",de,[e("div",ne,[h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:this.inputGetLocale,onKeyup:t[1]||(t[1]=F(a=>this.customAvailableIp?this.addAllowedIp(this.customAvailableIp):void 0,["enter"])),"onUpdate:modelValue":t[2]||(t[2]=a=>u.customAvailableIp=a),id:"peer_allowed_ip_textbox",disabled:n.bulk},null,42,re),[[f,u.customAvailableIp]]),e("button",{class:m(["btn btn-sm rounded-end-3",[this.customAvailableIp?"btn-success":"btn-outline-success"]]),disabled:n.bulk||!this.customAvailableIp,onClick:t[3]||(t[3]=a=>this.addAllowedIp(this.customAvailableIp)),type:"button",id:"button-addon2"},[...t[7]||(t[7]=[e("i",{class:"bi bi-plus-lg"},null,-1)])],10,ue)]),e("small",ce,[o(s,{t:"or"})]),e("div",pe,[e("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[t[8]||(t[8]=e("i",{class:"bi bi-filter-circle me-2"},null,-1)),o(s,{t:"Pick Available IP"})],8,he),this.availableIp?(i(),d("ul",be,[e("li",null,[e("div",me,[t[9]||(t[9]=e("label",{for:"availableIpSearchString",class:"text-muted"},[e("i",{class:"bi bi-search"})],-1)),h(e("input",{id:"availableIpSearchString",class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[4]||(t[4]=a=>this.availableIpSearchString=a)},null,512),[[f,this.availableIpSearchString]])]),t[11]||(t[11]=e("hr",{class:"my-2"},null,-1)),e("div",_e,[t[10]||(t[10]=e("small",{class:"text-muted"},"Subnet",-1)),(i(!0),d(C,null,O(Object.keys(this.availableIp),a=>(i(),d("button",{key:a,onClick:c=>this.selectedSubnet=a,class:m([{"bg-primary-subtle":this.selectedSubnet===a},"btn btn-sm text-primary-emphasis rounded-3"])},S(a),11,ve))),128))]),t[12]||(t[12]=e("hr",{class:"mt-2 mb-0"},null,-1))]),e("li",null,[e("div",fe,[(i(!0),d(C,null,O(this.searchAvailableIps,a=>(i(),d("div",{style:{},key:a},[e("a",{class:"dropdown-item d-flex",role:"button",onClick:c=>this.addAllowedIp(a)},[e("span",ye,[e("small",null,S(a),1)])],8,ke)]))),128)),this.searchAvailableIps.length===0?(i(),d("div",ge,[this.availableIpSearchString?(i(),d("small",we,[o(s,{t:"No available IP containing"}),w('"'+S(this.availableIpSearchString)+'"',1)])):(i(),d("small",xe,[o(s,{t:"No more IP address available in this subnet"})]))])):g("",!0)])])])):g("",!0)])])],2)}const Ie=k(X,[["render",$e],["__scopeId","data-v-ed72944d"]]),Ae={name:"dnsInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const l=$(),t=I();return{store:l,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let l=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.regexCheckIP(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS format is incorrect","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},Pe={for:"peer_DNS_textbox",class:"form-label"},Se={class:"text-muted"},Ke=["disabled"];function Ce(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",Pe,[e("small",Se,[o(s,{t:"DNS"})])]),h(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.dns=a),id:"peer_DNS_textbox"},null,10,Ke),[[f,this.dns]])])}const Le=k(Ae,[["render",Ce]]),Oe={name:"nameInput",components:{LocaleText:p},props:{bulk:Boolean,data:Object,saving:Boolean}},De={for:"peer_name_textbox",class:"form-label"},Ne={class:"text-muted"},Te=["disabled"];function Ve(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("label",De,[e("small",Ne,[o(s,{t:"Name"})])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.name=a),id:"peer_name_textbox",placeholder:""},null,8,Te),[[f,this.data.name]])],2)}const Be=k(Oe,[["render",Ve]]),Me={name:"privatePublicKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean,bulk:Boolean},setup(){const l=I(),t=$();return{dashboardStore:l,wgStore:t}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},view:!1,editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},testKey(l){return/^[A-Za-z0-9+/]{43}=?=?$/.test(l)},checkMatching(){try{this.keypair.privateKey&&this.wgStore.checkWGKeyLength(this.keypair.privateKey)&&(this.keypair.publicKey=window.wireguard.generatePublicKey(this.keypair.privateKey),window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey?(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private key does not match with the public key","danger")):(this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},Ue={for:"peer_private_key_textbox",class:"form-label d-flex align-items-center"},je={class:"text-muted"},Ee={class:"input-group"},Fe=["type","disabled"],Ge=["disabled"],Re={class:"d-flex flex-column flex-md-row mb-2"},qe={for:"public_key",class:"form-label mb-0"},We={class:"text-muted"},Je={class:"form-check form-switch ms-md-auto"},ze=["disabled"],He={class:"form-check-label",for:"enablePublicKeyEdit"},Qe=["disabled","type"];function Ye(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",{class:m(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[e("div",null,[e("label",Ue,[e("small",je,[o(s,{t:"Private Key"}),t[7]||(t[7]=w()),e("code",null,[o(s,{t:"(Required for QR Code and Download)"})])]),e("a",{role:"button",class:"ms-auto text-decoration-none text-body",onClick:t[0]||(t[0]=a=>this.view=!this.view)},[e("small",null,[e("i",{class:m(["bi me-2",[this.view?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2),o(s,{t:this.view?"Hide Keys":"Show Keys"},null,8,["t"])])])]),e("div",Ee,[h(e("input",{type:this.view?"text":"password",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error,"rounded-3":!this.view}]),"onUpdate:modelValue":t[1]||(t[1]=a=>this.keypair.privateKey=a),disabled:!this.editKey||this.bulk,onBlur:t[2]||(t[2]=a=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,Fe),[[N,this.keypair.privateKey]]),this.view?(i(),d("button",{key:0,class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[3]||(t[3]=a=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},[...t[8]||(t[8]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)])],8,Ge)):g("",!0)])]),e("div",null,[e("div",Re,[e("label",qe,[e("small",We,[o(s,{t:"Public Key"}),t[9]||(t[9]=w()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",Je,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[4]||(t[4]=a=>this.editKey=a)},null,8,ze),[[A,this.editKey]]),e("label",He,[e("small",null,[o(s,{t:"Use your own Private and Public Key"})])])])]),h(e("input",{class:m(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[5]||(t[5]=a=>this.keypair.publicKey=a),onBlur:t[6]||(t[6]=a=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:this.view?"text":"password",id:"public_key"},null,42,Qe),[[N,this.keypair.publicKey]])])],2)}const Ze=k(Me,[["render",Ye]]),Xe={name:"bulkAdd",components:{LocaleText:p},props:{saving:Boolean,data:Object,availableIp:void 0},data(){return{numberOfAvailableIPs:null}},computed:{bulkAddGetLocale(){return V("How many peers you want to add?")},getNumberOfAvailableIPs(){return this.numberOfAvailableIPs?Object.values(this.numberOfAvailableIPs).reduce((l,t)=>l+t):"..."}},watch:{"data.bulkAdd":{immediate:!0,handler(l){l&&B("/api/getNumberOfAvailableIPs/"+this.$route.params.id,{},t=>{t.status&&(this.numberOfAvailableIPs=t.data)})}}}},et={class:"form-check form-switch"},tt=["disabled"],st={class:"form-check-label me-2",for:"bulk_add"},at={class:"text-muted d-block"},lt={key:0,class:"form-group"},ot=["max","placeholder"],it={class:"text-muted"};function dt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("div",et,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.bulkAdd=a)},null,8,tt),[[A,this.data.bulkAdd]]),e("label",st,[e("small",null,[e("strong",null,[o(s,{t:"Bulk Add"})])])])]),e("p",{class:m({"mb-0":!this.data.bulkAdd})},[e("small",at,[o(s,{t:"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP."})])],2),this.data.bulkAdd?(i(),d("div",lt,[h(e("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",id:"bulk_add_count",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.bulkAddAmount=a),placeholder:this.bulkAddGetLocale},null,8,ot),[[f,this.data.bulkAddAmount]]),e("small",it,[o(s,{t:"You can add up to "+v.getNumberOfAvailableIPs+" peers"},null,8,["t"])])])):g("",!0)])}const nt=k(Xe,[["render",dt]]),rt={name:"presharedKeyInput",components:{LocaleText:p},props:{data:Object,saving:Boolean},data(){return{enable:!1}},watch:{enable(){this.enable?this.data.preshared_key=window.wireguard.generateKeypair().presharedKey:this.data.preshared_key=""}}},ut={class:"d-flex align-items-start"},ct={for:"peer_preshared_key_textbox",class:"form-label"},pt={class:"text-muted"},ht={class:"form-check form-switch ms-auto"},bt=["disabled"];function mt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("div",ut,[e("label",ct,[e("small",pt,[o(s,{t:"Pre-Shared Key"})])]),e("div",ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":t[0]||(t[0]=a=>this.enable=a),id:"peer_preshared_key_switch"},null,512),[[A,this.enable]])])]),h(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||!this.enable,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.preshared_key=a),id:"peer_preshared_key_textbox"},null,8,bt),[[f,this.data.preshared_key]])])}const _t=k(rt,[["render",mt]]),vt={name:"mtuInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},ft={for:"peer_mtu",class:"form-label"},kt={class:"text-muted"},yt=["disabled"];function gt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",ft,[e("small",kt,[o(s,{t:"MTU"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.mtu=a),min:"0",id:"peer_mtu"},null,8,yt),[[f,this.data.mtu]])])}const wt=k(vt,[["render",gt]]),xt={name:"persistentKeepAliveInput",components:{LocaleText:p},props:{data:Object,saving:Boolean}},$t={for:"peer_keep_alive",class:"form-label"},It={class:"text-muted"},At=["disabled"];function Pt(l,t,n,r,u,v){const s=y("LocaleText");return i(),d("div",null,[e("label",$t,[e("small",It,[o(s,{t:"Persistent Keepalive"})])]),h(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.keepalive=a),id:"peer_keep_alive"},null,8,At),[[f,this.data.keepalive]])])}const St=k(xt,[["render",Pt]]),Kt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Ct={class:"container d-flex h-100 w-100"},Lt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Ot={class:"card rounded-3 shadow flex-grow-1"},Dt={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Nt={class:"mb-0"},Tt={class:"card-body px-4 pb-4"},Vt={class:"d-flex flex-column gap-2"},Bt={class:"accordion mb-3",id:"peerAddModalAccordion"},Mt={class:"accordion-item"},Ut={class:"accordion-header"},jt={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerAddModalAccordionAdvancedOptions"},Et={id:"peerAddModalAccordionAdvancedOptions",class:"accordion-collapse collapse collapsed","data-bs-parent":"#peerAddModalAccordion"},Ft={class:"accordion-body rounded-bottom-3"},Gt={class:"d-flex flex-column gap-2"},Rt={class:"row gy-3"},qt={key:0,class:"col-sm"},Wt={class:"col-sm"},Jt={class:"col-sm"},zt={key:1,class:"col-12"},Ht={class:"form-check form-switch"},Qt={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},Yt={class:"fw-bold"},Zt={class:"d-flex mt-2"},Xt=["disabled"],es={key:0,class:"bi bi-plus-circle-fill me-2"},as={__name:"peerAddModal",emits:["close","addedPeers"],async setup(l,{emit:t}){let n,r;const u=I(),v=$(),s=L({bulkAdd:!1,bulkAddAmount:0,name:"",allowed_ips:[],private_key:"",public_key:"",DNS:u.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:u.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(u.Configuration.Peers.peer_keep_alive),mtu:parseInt(u.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!1,advanced_security:"off",allowed_ips_validation:!0}),a=L([]),c=L(!1),P=G();[n,r]=R(()=>B("/api/getAvailableIPs/"+P.params.id,{},_=>{_.status&&(a.value=_.data)})),await n,r();const D=t;T(()=>v.Configurations.find(_=>_.Name===P.params.id).Protocol);const M=T(()=>{let _=!0;return s.value.bulkAdd?(s.value.bulkAddAmount.length===0||s.value.bulkAddAmount>a.value.length)&&(_=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(x=>{s.value[x].length===0&&(_=!1)}),_}),U=()=>{c.value=!0,W("/api/addPeers/"+P.params.id,s.value,_=>{_.status?(u.newMessage("Server","Peer created successfully","success"),D("addedPeers")):u.newMessage("Server",_.message,"danger"),c.value=!1})};return q(()=>s.value.bulkAddAmount,()=>{s.value.bulkAddAmount>a.value.length&&(s.value.bulkAddAmount=a.value.length)}),(_,b)=>(i(),d("div",Kt,[e("div",Ct,[e("div",Lt,[e("div",Ot,[e("div",Dt,[e("h4",Nt,[o(p,{t:"Add Peers"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:b[0]||(b[0]=x=>D("close"))})]),e("div",Tt,[e("div",Vt,[o(nt,{saving:c.value,data:s.value,availableIp:a.value},null,8,["saving","data","availableIp"]),s.value.bulkAdd?g("",!0):(i(),d(C,{key:0},[b[3]||(b[3]=e("hr",{class:"mb-0 mt-2"},null,-1)),o(Be,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ze,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Ie,{availableIp:a.value,saving:c.value,data:s.value},null,8,["availableIp","saving","data"])],64))]),b[5]||(b[5]=e("hr",null,null,-1)),e("div",Bt,[e("div",Mt,[e("h2",Ut,[e("button",jt,[o(p,{t:"Advanced Options"})])]),e("div",Et,[e("div",Ft,[e("div",Gt,[o(Le,{saving:c.value,data:s.value},null,8,["saving","data"]),o(Z,{saving:c.value,data:s.value},null,8,["saving","data"]),e("div",Rt,[s.value.bulkAdd?g("",!0):(i(),d("div",qt,[o(_t,{saving:c.value,data:s.value,bulk:s.value.bulkAdd},null,8,["saving","data","bulk"])])),e("div",Wt,[o(wt,{saving:c.value,data:s.value},null,8,["saving","data"])]),e("div",Jt,[o(St,{saving:c.value,data:s.value},null,8,["saving","data"])]),s.value.bulkAdd?(i(),d("div",zt,[e("div",Ht,[h(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":b[1]||(b[1]=x=>s.value.preshared_key_bulkAdd=x),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[A,s.value.preshared_key_bulkAdd]]),e("label",Qt,[e("small",Yt,[o(p,{t:"Pre-Shared Key"}),b[4]||(b[4]=w()),s.value.preshared_key_bulkAdd?(i(),K(p,{key:0,t:"Enabled"})):(i(),K(p,{key:1,t:"Disabled"}))])])])])):g("",!0)])])])])])]),e("div",Zt,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!M.value||c.value,onClick:b[2]||(b[2]=x=>U())},[c.value?g("",!0):(i(),d("i",es)),c.value?(i(),K(p,{key:1,t:"Adding..."})):(i(),K(p,{key:2,t:"Add"}))],8,Xt)])])])])])],512))}};export{as as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-BPO6DvAQ.js b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-iLrnQUJy.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/peerAssignModal-BPO6DvAQ.js rename to src/static/dist/WGDashboardAdmin/assets/peerAssignModal-iLrnQUJy.js index 433482ea..762e5cbd 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-BPO6DvAQ.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerAssignModal-iLrnQUJy.js @@ -1 +1 @@ -import{L as g}from"./localeText-Cd7vLnRM.js";import{q as S,c as l,f as n,a as e,t as v,F as y,i as $,u as _,n as f,b as d,r as k,J as E,m as G,y as I,j as N,d as w,_ as D,w as P,T as L,E as A}from"./index-DYYtDSji.js";import{D as C}from"./DashboardClientAssignmentStore-DDEBJ8Q3.js";const B={class:"d-flex flex-column gap-2"},M={class:"mb-0"},T={key:0,class:"d-flex flex-column gap-2"},V={class:"bg-body-secondary rounded-3 text-start p-2 d-flex"},j={class:"d-flex flex-column"},U={class:"mb-0"},F={class:"text-muted"},O=["onClick"],q={key:0,class:"spinner-border spinner-border-sm"},z={key:1,class:"bi bi-plus-circle-fill"},J={key:1},H={class:"text-muted"},K={__name:"searchClientsGroup",props:["group","groupName","searchString"],emits:["count","assign"],setup(r,{emit:p}){const i=r,t=p,a=C(),m=S(()=>{let s=i.group.filter(u=>!a.assignments.map(o=>o.Client.ClientID).includes(u.ClientID));if(i.searchString){let u=s.filter(o=>o.Name&&o.Name.includes(i.searchString)||o.Email&&o.Email.includes(i.searchString));return t("count",u.length),u}return t("count",s.length),s});return(s,u)=>(n(),l("div",B,[e("h6",M,[e("small",null,v(r.groupName),1)]),m.value.length>0?(n(),l("div",T,[(n(!0),l(y,null,$(m.value,o=>(n(),l("div",V,[e("div",j,[e("small",U,v(o.Email),1),e("small",F,v(o.Name?o.Name:"No Name"),1)]),e("button",{onClick:c=>t("assign",o.ClientID),class:f([{disabled:_(a).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},[_(a).assigning===o.ClientID?(n(),l("span",q)):(n(),l("i",z))],10,O)]))),256))])):(n(),l("div",J,[e("small",H,[d(g,{t:"No result"})])]))]))}},Q={class:"p-3 bg-body-tertiary rounded-3 position-relative"},R={for:"SearchClient",class:"form-label"},W={class:"text-muted"},X={class:"w-100 rounded-3 d-flex flex-column gap-2"},Y={class:"mt-1"},Z=["onClick"],ee={class:"p-3 border rounded-3 d-flex flex-column gap-2 overflow-y-scroll",style:{height:"400px"}},se={__name:"searchClients",props:["clients","newAssignClients","assignments"],emits:["assign"],setup(r,{emit:p}){const i=C(),t=k(""),a=k(""),m=S(()=>t.value?{[t.value]:i.clients[t.value]}:i.clients),s=E({});Object.keys(i.clients).forEach(o=>s[o]=i.clients[o].length);const u=p;return(o,c)=>(n(),l("div",Q,[e("h6",null,[d(g,{t:"Assign to Clients"})]),e("label",R,[e("small",W,[d(g,{t:"Enter Email or Name to Search"})])]),G(e("input",{class:"form-control rounded-3 mb-2",id:"SearchClient","onUpdate:modelValue":c[0]||(c[0]=b=>a.value=b),type:"email"},null,512),[[I,a.value]]),e("div",X,[e("div",null,[c[3]||(c[3]=e("small",{class:"text-muted"},"Groups",-1)),e("div",Y,[e("button",{class:f([{active:!t.value},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"]),onClick:c[1]||(c[1]=b=>t.value="")},[d(g,{t:"All"})],2),(n(!0),l(y,null,$(_(i).clients,(b,h)=>(n(),l("button",{onClick:x=>t.value=h,class:f([{active:t.value===h},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"])},[d(g,{t:h},null,8,["t"]),e("span",{class:f(["ms-1 badge",[s[h]>0?"bg-primary":"bg-secondary"]])},v(s[h]),3)],10,Z))),256))])]),e("div",ee,[(n(!0),l(y,null,$(m.value,(b,h)=>(n(),N(K,{onAssign:c[2]||(c[2]=x=>u("assign",x)),onCount:x=>s[h]=x,searchString:a.value,group:b,groupName:h},null,8,["onCount","searchString","group","groupName"]))),256))])])]))}},te={class:"bg-body-secondary rounded-3 text-start p-2 mb-2 assignment"},ne={key:0,class:"d-flex"},ie={class:"d-flex flex-column"},le={class:"text-muted"},ae={key:1,class:"d-flex gap-2"},oe={class:"d-flex flex-column"},re={class:"text-muted"},ce={key:0,class:"spinner-border spinner-border-sm"},de={key:1,class:"bi bi-check-lg"},ue={__name:"assignment",props:["assignment"],emits:["unassign"],setup(r,{emit:p}){const i=p,t=k(!1),a=C();return(m,s)=>(n(),l("div",te,[t.value?(n(),l("div",ae,[e("div",oe,[e("small",null,[d(g,{t:"Are you sure to delete assignment for"})]),e("small",re,[d(g,{t:r.assignment.Client.Email+" in group "+(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local")+"?"},null,8,["t"])])]),e("button",{onClick:s[1]||(s[1]=u=>i("unassign")),"aria-label":"Delete Assignment",class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"])},[_(a).unassigning?(n(),l("span",ce)):(n(),l("i",de))],2),e("button",{class:f([{disabled:_(a).unassigning},"btn bg-secondary-subtle text-secondary-emphasis"]),onClick:s[2]||(s[2]=u=>t.value=!t.value),"aria-label":"Cancel Delete Assignment"},[...s[4]||(s[4]=[e("i",{class:"bi bi-x-lg"},null,-1)])],2)])):(n(),l("div",ne,[e("div",ie,[e("small",null,v(r.assignment.Client.Email),1),e("small",le,v(r.assignment.Client.Name?r.assignment.Client.Name+" | ":"")+v(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local"),1)]),t.value?w("",!0):(n(),l("button",{key:0,onClick:s[0]||(s[0]=u=>t.value=!t.value),class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},[...s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],2))]))]))}},me={class:"p-3 bg-body-tertiary rounded-3 d-flex flex-column gap-2"},ge={class:"mb-0"},_e={key:0,class:"text-center"},pe={class:"text-muted"},be={__name:"assignedClients",props:["configurationName","peer"],emits:["unassign"],setup(r,{emit:p}){const i=C();return(t,a)=>(n(),l("div",me,[e("h6",ge,[d(g,{t:"Assigned Clients"})]),d(L,{name:"list",tag:"div",class:"position-relative"},{default:P(()=>[(n(!0),l(y,null,$(_(i).assignments,m=>(n(),N(ue,{assignment:m,key:m.AssignmentID,onUnassign:s=>_(i).unassignClient(r.configurationName,r.peer,m.AssignmentID)},null,8,["assignment","onUnassign"]))),128))]),_:1}),_(i).assignments.length===0?(n(),l("div",_e,[e("small",pe,[d(g,{t:"No client assigned to this peer yet"})])])):w("",!0)]))}},he=D(be,[["__scopeId","data-v-99c0844e"]]),ve={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},fe={class:"container d-flex h-100 w-100"},Ce={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},xe={class:"card rounded-3 shadow flex-grow-1"},ye={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},$e={class:"mb-0"},ke={class:"card-body px-4 pb-4 d-flex gap-2 flex-column"},Ae={__name:"peerAssignModal",props:{selectedPeer:Object},emits:["close"],async setup(r,{emit:p}){let i,t;const a=r,m=p,s=C();s.clients.length>0?s.getClients():([i,t]=A(()=>s.getClients()),await i,t()),[i,t]=A(()=>s.getAssignedClients(a.selectedPeer.configuration.Name,a.selectedPeer.id)),await i,t();const u=async o=>{await s.assignClient(a.selectedPeer.configuration.Name,a.selectedPeer.id,o)};return(o,c)=>(n(),l("div",ve,[e("div",fe,[e("div",Ce,[e("div",xe,[e("div",ye,[e("h4",$e,[d(g,{t:"Assign Peer to Client"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=b=>m("close"))})]),e("div",ke,[d(he,{"configuration-name":a.selectedPeer.configuration.Name,peer:a.selectedPeer.id},null,8,["configuration-name","peer"]),d(se,{onAssign:c[1]||(c[1]=b=>u(b))})])])])])]))}},De=D(Ae,[["__scopeId","data-v-b52659b4"]]);export{De as default}; +import{L as g}from"./localeText-DcQapG1o.js";import{q as S,c as l,f as n,a as e,t as v,F as y,i as $,u as _,n as f,b as d,r as k,J as E,m as G,y as I,j as N,d as w,_ as D,w as P,T as L,E as A}from"./index-Y3pG9DoR.js";import{D as C}from"./DashboardClientAssignmentStore-CrCjGd3j.js";const B={class:"d-flex flex-column gap-2"},M={class:"mb-0"},T={key:0,class:"d-flex flex-column gap-2"},V={class:"bg-body-secondary rounded-3 text-start p-2 d-flex"},j={class:"d-flex flex-column"},U={class:"mb-0"},F={class:"text-muted"},O=["onClick"],q={key:0,class:"spinner-border spinner-border-sm"},z={key:1,class:"bi bi-plus-circle-fill"},J={key:1},H={class:"text-muted"},K={__name:"searchClientsGroup",props:["group","groupName","searchString"],emits:["count","assign"],setup(r,{emit:p}){const i=r,t=p,a=C(),m=S(()=>{let s=i.group.filter(u=>!a.assignments.map(o=>o.Client.ClientID).includes(u.ClientID));if(i.searchString){let u=s.filter(o=>o.Name&&o.Name.includes(i.searchString)||o.Email&&o.Email.includes(i.searchString));return t("count",u.length),u}return t("count",s.length),s});return(s,u)=>(n(),l("div",B,[e("h6",M,[e("small",null,v(r.groupName),1)]),m.value.length>0?(n(),l("div",T,[(n(!0),l(y,null,$(m.value,o=>(n(),l("div",V,[e("div",j,[e("small",U,v(o.Email),1),e("small",F,v(o.Name?o.Name:"No Name"),1)]),e("button",{onClick:c=>t("assign",o.ClientID),class:f([{disabled:_(a).assigning},"btn bg-success-subtle text-success-emphasis ms-auto"])},[_(a).assigning===o.ClientID?(n(),l("span",q)):(n(),l("i",z))],10,O)]))),256))])):(n(),l("div",J,[e("small",H,[d(g,{t:"No result"})])]))]))}},Q={class:"p-3 bg-body-tertiary rounded-3 position-relative"},R={for:"SearchClient",class:"form-label"},W={class:"text-muted"},X={class:"w-100 rounded-3 d-flex flex-column gap-2"},Y={class:"mt-1"},Z=["onClick"],ee={class:"p-3 border rounded-3 d-flex flex-column gap-2 overflow-y-scroll",style:{height:"400px"}},se={__name:"searchClients",props:["clients","newAssignClients","assignments"],emits:["assign"],setup(r,{emit:p}){const i=C(),t=k(""),a=k(""),m=S(()=>t.value?{[t.value]:i.clients[t.value]}:i.clients),s=E({});Object.keys(i.clients).forEach(o=>s[o]=i.clients[o].length);const u=p;return(o,c)=>(n(),l("div",Q,[e("h6",null,[d(g,{t:"Assign to Clients"})]),e("label",R,[e("small",W,[d(g,{t:"Enter Email or Name to Search"})])]),G(e("input",{class:"form-control rounded-3 mb-2",id:"SearchClient","onUpdate:modelValue":c[0]||(c[0]=b=>a.value=b),type:"email"},null,512),[[I,a.value]]),e("div",X,[e("div",null,[c[3]||(c[3]=e("small",{class:"text-muted"},"Groups",-1)),e("div",Y,[e("button",{class:f([{active:!t.value},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"]),onClick:c[1]||(c[1]=b=>t.value="")},[d(g,{t:"All"})],2),(n(!0),l(y,null,$(_(i).clients,(b,h)=>(n(),l("button",{onClick:x=>t.value=h,class:f([{active:t.value===h},"btn bg-primary-subtle text-primary-emphasis btn-sm me-2 rounded-3"])},[d(g,{t:h},null,8,["t"]),e("span",{class:f(["ms-1 badge",[s[h]>0?"bg-primary":"bg-secondary"]])},v(s[h]),3)],10,Z))),256))])]),e("div",ee,[(n(!0),l(y,null,$(m.value,(b,h)=>(n(),N(K,{onAssign:c[2]||(c[2]=x=>u("assign",x)),onCount:x=>s[h]=x,searchString:a.value,group:b,groupName:h},null,8,["onCount","searchString","group","groupName"]))),256))])])]))}},te={class:"bg-body-secondary rounded-3 text-start p-2 mb-2 assignment"},ne={key:0,class:"d-flex"},ie={class:"d-flex flex-column"},le={class:"text-muted"},ae={key:1,class:"d-flex gap-2"},oe={class:"d-flex flex-column"},re={class:"text-muted"},ce={key:0,class:"spinner-border spinner-border-sm"},de={key:1,class:"bi bi-check-lg"},ue={__name:"assignment",props:["assignment"],emits:["unassign"],setup(r,{emit:p}){const i=p,t=k(!1),a=C();return(m,s)=>(n(),l("div",te,[t.value?(n(),l("div",ae,[e("div",oe,[e("small",null,[d(g,{t:"Are you sure to delete assignment for"})]),e("small",re,[d(g,{t:r.assignment.Client.Email+" in group "+(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local")+"?"},null,8,["t"])])]),e("button",{onClick:s[1]||(s[1]=u=>i("unassign")),"aria-label":"Delete Assignment",class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"])},[_(a).unassigning?(n(),l("span",ce)):(n(),l("i",de))],2),e("button",{class:f([{disabled:_(a).unassigning},"btn bg-secondary-subtle text-secondary-emphasis"]),onClick:s[2]||(s[2]=u=>t.value=!t.value),"aria-label":"Cancel Delete Assignment"},[...s[4]||(s[4]=[e("i",{class:"bi bi-x-lg"},null,-1)])],2)])):(n(),l("div",ne,[e("div",ie,[e("small",null,v(r.assignment.Client.Email),1),e("small",le,v(r.assignment.Client.Name?r.assignment.Client.Name+" | ":"")+v(r.assignment.Client.ClientGroup?r.assignment.Client.ClientGroup:"Local"),1)]),t.value?w("",!0):(n(),l("button",{key:0,onClick:s[0]||(s[0]=u=>t.value=!t.value),class:f([{disabled:_(a).unassigning},"btn bg-danger-subtle text-danger-emphasis ms-auto"]),"aria-label":"Delete Assignment"},[...s[3]||(s[3]=[e("i",{class:"bi bi-trash-fill"},null,-1)])],2))]))]))}},me={class:"p-3 bg-body-tertiary rounded-3 d-flex flex-column gap-2"},ge={class:"mb-0"},_e={key:0,class:"text-center"},pe={class:"text-muted"},be={__name:"assignedClients",props:["configurationName","peer"],emits:["unassign"],setup(r,{emit:p}){const i=C();return(t,a)=>(n(),l("div",me,[e("h6",ge,[d(g,{t:"Assigned Clients"})]),d(L,{name:"list",tag:"div",class:"position-relative"},{default:P(()=>[(n(!0),l(y,null,$(_(i).assignments,m=>(n(),N(ue,{assignment:m,key:m.AssignmentID,onUnassign:s=>_(i).unassignClient(r.configurationName,r.peer,m.AssignmentID)},null,8,["assignment","onUnassign"]))),128))]),_:1}),_(i).assignments.length===0?(n(),l("div",_e,[e("small",pe,[d(g,{t:"No client assigned to this peer yet"})])])):w("",!0)]))}},he=D(be,[["__scopeId","data-v-99c0844e"]]),ve={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},fe={class:"container d-flex h-100 w-100"},Ce={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},xe={class:"card rounded-3 shadow flex-grow-1"},ye={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},$e={class:"mb-0"},ke={class:"card-body px-4 pb-4 d-flex gap-2 flex-column"},Ae={__name:"peerAssignModal",props:{selectedPeer:Object},emits:["close"],async setup(r,{emit:p}){let i,t;const a=r,m=p,s=C();s.clients.length>0?s.getClients():([i,t]=A(()=>s.getClients()),await i,t()),[i,t]=A(()=>s.getAssignedClients(a.selectedPeer.configuration.Name,a.selectedPeer.id)),await i,t();const u=async o=>{await s.assignClient(a.selectedPeer.configuration.Name,a.selectedPeer.id,o)};return(o,c)=>(n(),l("div",ve,[e("div",fe,[e("div",Ce,[e("div",xe,[e("div",ye,[e("h4",$e,[d(g,{t:"Assign Peer to Client"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:c[0]||(c[0]=b=>m("close"))})]),e("div",ke,[d(he,{"configuration-name":a.selectedPeer.configuration.Name,peer:a.selectedPeer.id},null,8,["configuration-name","peer"]),d(se,{onAssign:c[1]||(c[1]=b=>u(b))})])])])])]))}},De=D(Ae,[["__scopeId","data-v-b52659b4"]]);export{De as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BNxBGei9.js b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BVFVwJdN.js similarity index 92% rename from src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BNxBGei9.js rename to src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BVFVwJdN.js index 5e26b670..2f58338b 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BNxBGei9.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerConfigurationFile-BVFVwJdN.js @@ -1 +1 @@ -import{_ as v,D as g,r as o,o as h,L as x,g as y,c as i,f as n,a as s,b as c,d as w,n as C,w as k,k as F}from"./index-DYYtDSji.js";import{L as T}from"./localeText-Cd7vLnRM.js";import"./browser-LdOMKRZX.js";import"./galois-field-I2lBzzs-.js";const M={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S={class:"container d-flex h-100 w-100"},D={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},L={class:"card rounded-3 shadow w-100"},P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},B={class:"mb-0"},G={class:"card-body p-4 d-flex flex-column gap-3"},N={style:{height:"300px"},class:"d-flex"},V=["value"],j={key:0,class:"spinner-border m-auto",role:"status"},I={class:"d-flex"},W=["disabled"],$={key:0,class:"d-block"},q={key:1,class:"d-block",id:"check"},z={__name:"peerConfigurationFile",props:{selectedPeer:Object},emits:["close"],setup(u,{emit:p}){const m=p,f=u,r=g(),t=o(!1),l=o(""),a=o(!0);o({error:!1,message:void 0}),h(()=>{const d=x();y("/api/downloadPeer/"+d.params.id,{id:f.selectedPeer.id},e=>{e.status?(l.value=e.data.file,a.value=!1):this.dashboardStore.newMessage("Server",e.message,"danger")})});const b=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(l.value).then(()=>{t.value=!0,setTimeout(()=>{t.value=!1},3e3)}).catch(()=>{r.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(t.value=!0,setTimeout(()=>{t.value=!1},3e3)):r.newMessage("WGDashboard","Failed to copy","danger"))};return(d,e)=>(n(),i("div",M,[s("div",S,[s("div",D,[s("div",L,[s("div",P,[s("h4",B,[c(T,{t:"Peer Configuration File"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=_=>m("close"))})]),s("div",G,[s("div",N,[s("textarea",{style:{height:"300px"},class:C(["form-control w-100 rounded-3 animate__fadeIn animate__faster animate__animated",{"d-none":a.value}]),id:"peerConfigurationFile",value:l.value},null,10,V),a.value?(n(),i("div",j,[...e[2]||(e[2]=[s("span",{class:"visually-hidden"},"Loading...",-1)])])):w("",!0)]),s("div",I,[s("button",{onClick:e[1]||(e[1]=_=>b()),disabled:t.value||a.value,class:"ms-auto btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 position-relative"},[c(F,{name:"slide-up",mode:"out-in"},{default:k(()=>[t.value?(n(),i("span",q,[...e[4]||(e[4]=[s("i",{class:"bi bi-check-circle-fill"},null,-1)])])):(n(),i("span",$,[...e[3]||(e[3]=[s("i",{class:"bi bi-clipboard-fill"},null,-1)])]))]),_:1})],8,W)])])])])])]))}},H=v(z,[["__scopeId","data-v-b0ea2d46"]]);export{H as default}; +import{_ as v,D as g,r as o,o as h,L as x,g as y,c as i,f as n,a as s,b as c,d as w,n as C,w as k,k as F}from"./index-Y3pG9DoR.js";import{L as T}from"./localeText-DcQapG1o.js";import"./browser-QmM-r3j5.js";import"./galois-field-I2lBzzs-.js";const M={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S={class:"container d-flex h-100 w-100"},D={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},L={class:"card rounded-3 shadow w-100"},P={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},B={class:"mb-0"},G={class:"card-body p-4 d-flex flex-column gap-3"},N={style:{height:"300px"},class:"d-flex"},V=["value"],j={key:0,class:"spinner-border m-auto",role:"status"},I={class:"d-flex"},W=["disabled"],$={key:0,class:"d-block"},q={key:1,class:"d-block",id:"check"},z={__name:"peerConfigurationFile",props:{selectedPeer:Object},emits:["close"],setup(u,{emit:p}){const m=p,f=u,r=g(),t=o(!1),l=o(""),a=o(!0);o({error:!1,message:void 0}),h(()=>{const d=x();y("/api/downloadPeer/"+d.params.id,{id:f.selectedPeer.id},e=>{e.status?(l.value=e.data.file,a.value=!1):this.dashboardStore.newMessage("Server",e.message,"danger")})});const b=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(l.value).then(()=>{t.value=!0,setTimeout(()=>{t.value=!1},3e3)}).catch(()=>{r.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(t.value=!0,setTimeout(()=>{t.value=!1},3e3)):r.newMessage("WGDashboard","Failed to copy","danger"))};return(d,e)=>(n(),i("div",M,[s("div",S,[s("div",D,[s("div",L,[s("div",P,[s("h4",B,[c(T,{t:"Peer Configuration File"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=_=>m("close"))})]),s("div",G,[s("div",N,[s("textarea",{style:{height:"300px"},class:C(["form-control w-100 rounded-3 animate__fadeIn animate__faster animate__animated",{"d-none":a.value}]),id:"peerConfigurationFile",value:l.value},null,10,V),a.value?(n(),i("div",j,[...e[2]||(e[2]=[s("span",{class:"visually-hidden"},"Loading...",-1)])])):w("",!0)]),s("div",I,[s("button",{onClick:e[1]||(e[1]=_=>b()),disabled:t.value||a.value,class:"ms-auto btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 position-relative"},[c(F,{name:"slide-up",mode:"out-in"},{default:k(()=>[t.value?(n(),i("span",q,[...e[4]||(e[4]=[s("i",{class:"bi bi-check-circle-fill"},null,-1)])])):(n(),i("span",$,[...e[3]||(e[3]=[s("i",{class:"bi bi-clipboard-fill"},null,-1)])]))]),_:1})],8,W)])])])])])]))}},H=v(z,[["__scopeId","data-v-b0ea2d46"]]);export{H as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DrA2ujGo.js b/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-Cb9LnNCU.js similarity index 78% rename from src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DrA2ujGo.js rename to src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-Cb9LnNCU.js index 163f1293..d499fab3 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-DrA2ujGo.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerDefaultSettings-Cb9LnNCU.js @@ -1 +1 @@ -import{L as o}from"./localeText-Cd7vLnRM.js";import{P as t}from"./peersDefaultSettingsInput-BuZeDfeq.js";import{B as s,c as l,a,b as e,f as n}from"./index-DYYtDSji.js";const r={class:"d-flex gap-3 flex-column"},i={class:"card rounded-3"},d={class:"card-header"},c={class:"my-2"},_={class:"card-body"},D=s({__name:"peerDefaultSettings",setup(p){return(g,m)=>(n(),l("div",r,[a("div",i,[a("div",d,[a("h6",c,[e(o,{t:"Peer Default Settings"})])]),a("div",_,[a("div",null,[e(t,{targetData:"peer_global_dns",title:"DNS"}),e(t,{targetData:"peer_endpoint_allowed_ip",title:"Endpoint Allowed IPs"}),e(t,{targetData:"peer_mtu",title:"MTU"}),e(t,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),e(t,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be changed globally, and will be apply to all peer's QR code and configuration file."})])])])]))}});export{D as default}; +import{L as o}from"./localeText-DcQapG1o.js";import{P as t}from"./peersDefaultSettingsInput-YlpjmrgU.js";import{B as s,c as l,a,b as e,f as n}from"./index-Y3pG9DoR.js";const r={class:"d-flex gap-3 flex-column"},i={class:"card rounded-3"},d={class:"card-header"},c={class:"my-2"},_={class:"card-body"},D=s({__name:"peerDefaultSettings",setup(p){return(g,m)=>(n(),l("div",r,[a("div",i,[a("div",d,[a("h6",c,[e(o,{t:"Peer Default Settings"})])]),a("div",_,[a("div",null,[e(t,{targetData:"peer_global_dns",title:"DNS"}),e(t,{targetData:"peer_endpoint_allowed_ip",title:"Endpoint Allowed IPs"}),e(t,{targetData:"peer_mtu",title:"MTU"}),e(t,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),e(t,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be changed globally, and will be apply to all peer's QR code and configuration file."})])])])]))}});export{D as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobs-iqYQ4Q-2.js b/src/static/dist/WGDashboardAdmin/assets/peerJobs-BmncqYw7.js similarity index 88% rename from src/static/dist/WGDashboardAdmin/assets/peerJobs-iqYQ4Q-2.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobs-BmncqYw7.js index ead19044..59e90096 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobs-iqYQ4Q-2.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobs-BmncqYw7.js @@ -1 +1 @@ -import{a as p,S as b}from"./schedulePeerJob-u2PLfoyV.js";import{_ as h,h as i,c as a,f as s,a as e,b as r,w as u,d as m,F as _,i as f,j as v,T as J,A as x,W as g}from"./index-DYYtDSji.js";import{L as w}from"./localeText-Cd7vLnRM.js";import"./vue-datepicker-Cw5Y4tvU.js";import"./index-DPa-4xgI.js";import"./dayjs.min-WRW_FTL4.js";const P={name:"peerJobs",setup(){return{store:g()}},props:{selectedPeer:Object},components:{LocaleText:w,SchedulePeerJob:b,ScheduleDropdown:p},data(){return{}},methods:{deleteJob(d){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==d.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:x().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},S={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},C={class:"card rounded-3 shadow",style:{width:"700px"}},D={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},j={class:"mb-0 fw-normal"},k={class:"card-body px-4 pb-4 pt-2 position-relative"},T={class:"d-flex align-items-center mb-3"},N={class:"card shadow-sm",key:"none",style:{height:"153px"}},I={class:"card-body text-muted text-center d-flex"},L={class:"m-auto"};function O(d,t,B,F,V,A){const n=i("LocaleText"),l=i("SchedulePeerJob");return s(),a("div",S,[e("div",y,[e("div",$,[e("div",C,[e("div",D,[e("h4",j,[r(n,{t:"Schedule Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),e("div",k,[e("div",T,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=o=>this.addJob())},[t[3]||(t[3]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(n,{t:"Job"})])]),r(J,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:u(()=>[(s(!0),a(_,null,f(this.selectedPeer.jobs,(o,E)=>(s(),v(l,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(o),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:o.JobID,pjob:o},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(s(),a("div",N,[e("div",I,[e("h6",L,[r(n,{t:"This peer does not have any job yet."})])])])):m("",!0)]),_:1})])])])])])}const H=h(P,[["render",O],["__scopeId","data-v-5bbdd42b"]]);export{H as default}; +import{a as p,S as b}from"./schedulePeerJob-Dv9JUCZq.js";import{_ as h,h as i,c as a,f as s,a as e,b as r,w as u,d as m,F as _,i as f,j as v,T as J,A as x,W as g}from"./index-Y3pG9DoR.js";import{L as w}from"./localeText-DcQapG1o.js";import"./vue-datepicker-BOhP7hRx.js";import"./index-DLUQT8ia.js";import"./dayjs.min-BxkQs1mo.js";const P={name:"peerJobs",setup(){return{store:g()}},props:{selectedPeer:Object},components:{LocaleText:w,SchedulePeerJob:b,ScheduleDropdown:p},data(){return{}},methods:{deleteJob(d){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==d.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:x().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},S={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},C={class:"card rounded-3 shadow",style:{width:"700px"}},D={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},j={class:"mb-0 fw-normal"},k={class:"card-body px-4 pb-4 pt-2 position-relative"},T={class:"d-flex align-items-center mb-3"},N={class:"card shadow-sm",key:"none",style:{height:"153px"}},I={class:"card-body text-muted text-center d-flex"},L={class:"m-auto"};function O(d,t,B,F,V,A){const n=i("LocaleText"),l=i("SchedulePeerJob");return s(),a("div",S,[e("div",y,[e("div",$,[e("div",C,[e("div",D,[e("h4",j,[r(n,{t:"Schedule Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),e("div",k,[e("div",T,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=o=>this.addJob())},[t[3]||(t[3]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(n,{t:"Job"})])]),r(J,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:u(()=>[(s(!0),a(_,null,f(this.selectedPeer.jobs,(o,E)=>(s(),v(l,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(o),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:o.JobID,pjob:o},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(s(),a("div",N,[e("div",I,[e("h6",L,[r(n,{t:"This peer does not have any job yet."})])])])):m("",!0)]),_:1})])])])])])}const H=h(P,[["render",O],["__scopeId","data-v-5bbdd42b"]]);export{H as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-C_YCIBgZ.js b/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-DIT3P4rK.js similarity index 90% rename from src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-C_YCIBgZ.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-DIT3P4rK.js index 3d9cac3d..6abcc00f 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-C_YCIBgZ.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobsAllModal-DIT3P4rK.js @@ -1 +1 @@ -import{S as _}from"./schedulePeerJob-u2PLfoyV.js";import{_ as g,h as c,c as r,f as t,a as e,b as l,F as p,i as b,d as f,t as m,j as v,W as y}from"./index-DYYtDSji.js";import{L as x}from"./localeText-Cd7vLnRM.js";import"./vue-datepicker-Cw5Y4tvU.js";import"./index-DPa-4xgI.js";import"./dayjs.min-WRW_FTL4.js";const J={name:"peerJobsAllModal",setup(){return{store:y()}},components:{LocaleText:x,SchedulePeerJob:_},props:{configurationPeers:Array[Object]},computed:{getAllJobs(){return this.configurationPeers.filter(a=>a.jobs.length>0)}}},w={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},$={class:"container d-flex h-100 w-100"},k={class:"m-auto modal-dialog-centered dashboardModal"},A={class:"card rounded-3 shadow",style:{width:"900px"}},L={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},S={class:"mb-0 fw-normal"},j={class:"card-body px-4 pb-4 pt-2"},C={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},P={class:"accordion-header"},M=["data-bs-target"],B={key:0},N={class:"text-muted"},D=["id"],T={class:"accordion-body"},V={key:1,class:"card shadow-sm",style:{height:"153px"}},F={class:"card-body text-muted text-center d-flex"},O={class:"m-auto"};function W(a,o,E,I,R,q){const n=c("LocaleText"),u=c("SchedulePeerJob");return t(),r("div",w,[e("div",$,[e("div",k,[e("div",A,[e("div",L,[e("h4",S,[l(n,{t:"All Active Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:o[0]||(o[0]=s=>this.$emit("close"))})]),e("div",j,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow mb-2",onClick:o[1]||(o[1]=s=>this.$emit("allLogs"))},[o[4]||(o[4]=e("i",{class:"bi bi-clock me-2"},null,-1)),l(n,{t:"Logs"})]),this.getAllJobs.length>0?(t(),r("div",C,[(t(!0),r(p,null,b(this.getAllJobs,(s,d)=>(t(),r("div",{class:"accordion-item",key:s.id},[e("h2",P,[e("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+d},[e("small",null,[e("strong",null,[s.name?(t(),r("span",B,m(s.name)+" • ",1)):f("",!0),e("samp",N,m(s.id),1)])])],8,M)]),e("div",{id:"collapse_"+d,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[e("div",T,[(t(!0),r(p,null,b(s.jobs,i=>(t(),v(u,{onDelete:o[2]||(o[2]=h=>this.$emit("refresh")),onRefresh:o[3]||(o[3]=h=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:i.JobID,pjob:i},null,8,["dropdowns","pjob"]))),128))])],8,D)]))),128))])):(t(),r("div",V,[e("div",F,[e("span",O,[l(n,{t:"No active job at the moment."})])])]))])])])])])}const X=g(J,[["render",W]]);export{X as default}; +import{S as _}from"./schedulePeerJob-Dv9JUCZq.js";import{_ as g,h as c,c as r,f as t,a as e,b as l,F as p,i as b,d as f,t as m,j as v,W as y}from"./index-Y3pG9DoR.js";import{L as x}from"./localeText-DcQapG1o.js";import"./vue-datepicker-BOhP7hRx.js";import"./index-DLUQT8ia.js";import"./dayjs.min-BxkQs1mo.js";const J={name:"peerJobsAllModal",setup(){return{store:y()}},components:{LocaleText:x,SchedulePeerJob:_},props:{configurationPeers:Array[Object]},computed:{getAllJobs(){return this.configurationPeers.filter(a=>a.jobs.length>0)}}},w={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},$={class:"container d-flex h-100 w-100"},k={class:"m-auto modal-dialog-centered dashboardModal"},A={class:"card rounded-3 shadow",style:{width:"900px"}},L={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},S={class:"mb-0 fw-normal"},j={class:"card-body px-4 pb-4 pt-2"},C={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},P={class:"accordion-header"},M=["data-bs-target"],B={key:0},N={class:"text-muted"},D=["id"],T={class:"accordion-body"},V={key:1,class:"card shadow-sm",style:{height:"153px"}},F={class:"card-body text-muted text-center d-flex"},O={class:"m-auto"};function W(a,o,E,I,R,q){const n=c("LocaleText"),u=c("SchedulePeerJob");return t(),r("div",w,[e("div",$,[e("div",k,[e("div",A,[e("div",L,[e("h4",S,[l(n,{t:"All Active Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:o[0]||(o[0]=s=>this.$emit("close"))})]),e("div",j,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow mb-2",onClick:o[1]||(o[1]=s=>this.$emit("allLogs"))},[o[4]||(o[4]=e("i",{class:"bi bi-clock me-2"},null,-1)),l(n,{t:"Logs"})]),this.getAllJobs.length>0?(t(),r("div",C,[(t(!0),r(p,null,b(this.getAllJobs,(s,d)=>(t(),r("div",{class:"accordion-item",key:s.id},[e("h2",P,[e("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+d},[e("small",null,[e("strong",null,[s.name?(t(),r("span",B,m(s.name)+" • ",1)):f("",!0),e("samp",N,m(s.id),1)])])],8,M)]),e("div",{id:"collapse_"+d,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[e("div",T,[(t(!0),r(p,null,b(s.jobs,i=>(t(),v(u,{onDelete:o[2]||(o[2]=h=>this.$emit("refresh")),onRefresh:o[3]||(o[3]=h=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:i.JobID,pjob:i},null,8,["dropdowns","pjob"]))),128))])],8,D)]))),128))])):(t(),r("div",V,[e("div",F,[e("span",O,[l(n,{t:"No active job at the moment."})])])]))])])])])])}const X=g(J,[["render",W]]);export{X as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DGmN7IvQ.js b/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-B9bMnZ51.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DGmN7IvQ.js rename to src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-B9bMnZ51.js index e03c10de..ab53a3e4 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-DGmN7IvQ.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerJobsLogsModal-B9bMnZ51.js @@ -1 +1 @@ -import{d as m}from"./dayjs.min-WRW_FTL4.js";import{_ as p,h as g,c as a,f as n,a as s,b as i,e as b,t as c,m as h,v as u,d,F as _,i as f,n as w,g as L}from"./index-DYYtDSji.js";import{L as k}from"./localeText-Cd7vLnRM.js";const x={name:"peerJobsLogsModal",components:{LocaleText:k},props:{configurationInfo:Object},data(){return{dataLoading:!0,data:[],logFetchTime:void 0,showLogID:!1,showJobID:!0,showSuccessJob:!0,showFailedJob:!0,showLogAmount:10}},async mounted(){await this.fetchLog()},methods:{async fetchLog(){this.dataLoading=!0,await L(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},r=>{this.data=r.data,this.logFetchTime=m().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(r=>this.showSuccessJob&&["1","true"].includes(r.Status)||this.showFailedJob&&["0","false"].includes(r.Status))},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},v={class:"container-fluid d-flex h-100 w-100"},D={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},S={class:"card rounded-3 shadow w-100"},I={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},J={class:"mb-0"},C={class:"card-body px-4 pb-4 pt-2"},F={key:0},j={class:"mb-2 d-flex gap-3"},M={class:"d-flex gap-3 align-items-center"},V={class:"text-muted"},T={class:"form-check"},A={class:"form-check-label",for:"jobLogsShowSuccessCheck"},N={class:"badge text-success-emphasis bg-success-subtle"},U={class:"form-check"},Y={class:"form-check-label",for:"jobLogsShowFailedCheck"},B={class:"badge text-danger-emphasis bg-danger-subtle"},z={class:"d-flex gap-3 align-items-center ms-auto"},H={class:"text-muted"},$={class:"form-check"},E={class:"form-check-label",for:"jobLogsShowJobIDCheck"},G={class:"form-check"},O={class:"form-check-label",for:"jobLogsShowLogIDCheck"},P={class:"table"},R={scope:"col"},q={key:0,scope:"col"},K={key:1,scope:"col"},Q={scope:"col"},W={scope:"col"},X={style:{"font-size":"0.875rem"}},Z={scope:"row"},ss={key:0},ts={class:"text-muted"},os={key:1},es={class:"text-muted"},is={class:"d-flex gap-2"},as={key:1,class:"d-flex align-items-center flex-column"};function ns(r,t,ls,cs,l,ds){const e=g("LocaleText");return n(),a("div",y,[s("div",v,[s("div",D,[s("div",S,[s("div",I,[s("h4",J,[i(e,{t:"Jobs Logs"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),s("div",C,[this.dataLoading?(n(),a("div",as,[...t[11]||(t[11]=[s("div",{class:"spinner-border text-body",role:"status"},[s("span",{class:"visually-hidden"},"Loading...")],-1)])])):(n(),a("div",F,[s("p",null,[i(e,{t:"Updated at"}),b(" : "+c(this.logFetchTime),1)]),s("div",j,[s("button",{onClick:t[1]||(t[1]=o=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[t[8]||(t[8]=s("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(e,{t:"Refresh"})]),s("div",M,[s("span",V,[i(e,{t:"Filter"})]),s("div",T,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=o=>this.showSuccessJob=o),id:"jobLogsShowSuccessCheck"},null,512),[[u,this.showSuccessJob]]),s("label",A,[s("span",N,[i(e,{t:"Success"})])])]),s("div",U,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>this.showFailedJob=o),id:"jobLogsShowFailedCheck"},null,512),[[u,this.showFailedJob]]),s("label",Y,[s("span",B,[i(e,{t:"Failed"})])])])]),s("div",z,[s("span",H,[i(e,{t:"Display"})]),s("div",$,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=o=>l.showJobID=o),id:"jobLogsShowJobIDCheck"},null,512),[[u,l.showJobID]]),s("label",E,[i(e,{t:"Job ID"})])]),s("div",G,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=o=>l.showLogID=o),id:"jobLogsShowLogIDCheck"},null,512),[[u,l.showLogID]]),s("label",O,[i(e,{t:"Log ID"})])])])]),s("table",P,[s("thead",null,[s("tr",null,[s("th",R,[i(e,{t:"Date"})]),l.showLogID?(n(),a("th",q,[i(e,{t:"Log ID"})])):d("",!0),l.showJobID?(n(),a("th",K,[i(e,{t:"Job ID"})])):d("",!0),s("th",Q,[i(e,{t:"Status"})]),s("th",W,[i(e,{t:"Message"})])])]),s("tbody",null,[(n(!0),a(_,null,f(this.showLogs,o=>(n(),a("tr",X,[s("th",Z,c(o.LogDate),1),l.showLogID?(n(),a("td",ss,[s("samp",ts,c(o.LogID),1)])):d("",!0),l.showJobID?(n(),a("td",os,[s("samp",es,c(o.JobID),1)])):d("",!0),s("td",null,[s("span",{class:w(["badge",[o.Status==="1"||o.Status==="true"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},c(o.Status==="1"||o.Status==="true"?"Success":"Failed"),3)]),s("td",null,c(o.Message),1)]))),256))])]),s("div",is,[this.getLogs.length>this.showLogAmount?(n(),a("button",{key:0,onClick:t[6]||(t[6]=o=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[...t[9]||(t[9]=[s("i",{class:"bi bi-chevron-down me-2"},null,-1),b(" Show More ",-1)])])):d("",!0),this.showLogAmount>20?(n(),a("button",{key:1,onClick:t[7]||(t[7]=o=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[...t[10]||(t[10]=[s("i",{class:"bi bi-chevron-up me-2"},null,-1),b(" Collapse ",-1)])])):d("",!0)])]))])])])])])}const bs=p(x,[["render",ns]]);export{bs as default}; +import{d as m}from"./dayjs.min-BxkQs1mo.js";import{_ as p,h as g,c as a,f as n,a as s,b as i,e as b,t as c,m as h,v as u,d,F as _,i as f,n as w,g as L}from"./index-Y3pG9DoR.js";import{L as k}from"./localeText-DcQapG1o.js";const x={name:"peerJobsLogsModal",components:{LocaleText:k},props:{configurationInfo:Object},data(){return{dataLoading:!0,data:[],logFetchTime:void 0,showLogID:!1,showJobID:!0,showSuccessJob:!0,showFailedJob:!0,showLogAmount:10}},async mounted(){await this.fetchLog()},methods:{async fetchLog(){this.dataLoading=!0,await L(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},r=>{this.data=r.data,this.logFetchTime=m().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(r=>this.showSuccessJob&&["1","true"].includes(r.Status)||this.showFailedJob&&["0","false"].includes(r.Status))},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},v={class:"container-fluid d-flex h-100 w-100"},D={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},S={class:"card rounded-3 shadow w-100"},I={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},J={class:"mb-0"},C={class:"card-body px-4 pb-4 pt-2"},F={key:0},j={class:"mb-2 d-flex gap-3"},M={class:"d-flex gap-3 align-items-center"},V={class:"text-muted"},T={class:"form-check"},A={class:"form-check-label",for:"jobLogsShowSuccessCheck"},N={class:"badge text-success-emphasis bg-success-subtle"},U={class:"form-check"},Y={class:"form-check-label",for:"jobLogsShowFailedCheck"},B={class:"badge text-danger-emphasis bg-danger-subtle"},z={class:"d-flex gap-3 align-items-center ms-auto"},H={class:"text-muted"},$={class:"form-check"},E={class:"form-check-label",for:"jobLogsShowJobIDCheck"},G={class:"form-check"},O={class:"form-check-label",for:"jobLogsShowLogIDCheck"},P={class:"table"},R={scope:"col"},q={key:0,scope:"col"},K={key:1,scope:"col"},Q={scope:"col"},W={scope:"col"},X={style:{"font-size":"0.875rem"}},Z={scope:"row"},ss={key:0},ts={class:"text-muted"},os={key:1},es={class:"text-muted"},is={class:"d-flex gap-2"},as={key:1,class:"d-flex align-items-center flex-column"};function ns(r,t,ls,cs,l,ds){const e=g("LocaleText");return n(),a("div",y,[s("div",v,[s("div",D,[s("div",S,[s("div",I,[s("h4",J,[i(e,{t:"Jobs Logs"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),s("div",C,[this.dataLoading?(n(),a("div",as,[...t[11]||(t[11]=[s("div",{class:"spinner-border text-body",role:"status"},[s("span",{class:"visually-hidden"},"Loading...")],-1)])])):(n(),a("div",F,[s("p",null,[i(e,{t:"Updated at"}),b(" : "+c(this.logFetchTime),1)]),s("div",j,[s("button",{onClick:t[1]||(t[1]=o=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[t[8]||(t[8]=s("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(e,{t:"Refresh"})]),s("div",M,[s("span",V,[i(e,{t:"Filter"})]),s("div",T,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=o=>this.showSuccessJob=o),id:"jobLogsShowSuccessCheck"},null,512),[[u,this.showSuccessJob]]),s("label",A,[s("span",N,[i(e,{t:"Success"})])])]),s("div",U,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>this.showFailedJob=o),id:"jobLogsShowFailedCheck"},null,512),[[u,this.showFailedJob]]),s("label",Y,[s("span",B,[i(e,{t:"Failed"})])])])]),s("div",z,[s("span",H,[i(e,{t:"Display"})]),s("div",$,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=o=>l.showJobID=o),id:"jobLogsShowJobIDCheck"},null,512),[[u,l.showJobID]]),s("label",E,[i(e,{t:"Job ID"})])]),s("div",G,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=o=>l.showLogID=o),id:"jobLogsShowLogIDCheck"},null,512),[[u,l.showLogID]]),s("label",O,[i(e,{t:"Log ID"})])])])]),s("table",P,[s("thead",null,[s("tr",null,[s("th",R,[i(e,{t:"Date"})]),l.showLogID?(n(),a("th",q,[i(e,{t:"Log ID"})])):d("",!0),l.showJobID?(n(),a("th",K,[i(e,{t:"Job ID"})])):d("",!0),s("th",Q,[i(e,{t:"Status"})]),s("th",W,[i(e,{t:"Message"})])])]),s("tbody",null,[(n(!0),a(_,null,f(this.showLogs,o=>(n(),a("tr",X,[s("th",Z,c(o.LogDate),1),l.showLogID?(n(),a("td",ss,[s("samp",ts,c(o.LogID),1)])):d("",!0),l.showJobID?(n(),a("td",os,[s("samp",es,c(o.JobID),1)])):d("",!0),s("td",null,[s("span",{class:w(["badge",[o.Status==="1"||o.Status==="true"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},c(o.Status==="1"||o.Status==="true"?"Success":"Failed"),3)]),s("td",null,c(o.Message),1)]))),256))])]),s("div",is,[this.getLogs.length>this.showLogAmount?(n(),a("button",{key:0,onClick:t[6]||(t[6]=o=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[...t[9]||(t[9]=[s("i",{class:"bi bi-chevron-down me-2"},null,-1),b(" Show More ",-1)])])):d("",!0),this.showLogAmount>20?(n(),a("button",{key:1,onClick:t[7]||(t[7]=o=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[...t[10]||(t[10]=[s("i",{class:"bi bi-chevron-up me-2"},null,-1),b(" Collapse ",-1)])])):d("",!0)])]))])])])])])}const bs=p(x,[["render",ns]]);export{bs as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerList-C-bwOqvP.js b/src/static/dist/WGDashboardAdmin/assets/peerList-CiAY_eHF.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/peerList-C-bwOqvP.js rename to src/static/dist/WGDashboardAdmin/assets/peerList-CiAY_eHF.js index 04ad41ff..e72a353c 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerList-C-bwOqvP.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerList-CiAY_eHF.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/peerAssignModal-BPO6DvAQ.js","assets/localeText-Cd7vLnRM.js","assets/index-DYYtDSji.js","assets/index-Bcu-vmis.css","assets/DashboardClientAssignmentStore-DDEBJ8Q3.js","assets/peerAssignModal--_bmFbmn.css","assets/peerShareLinkModal-CCIM9t_8.js","assets/dayjs.min-WRW_FTL4.js","assets/vue-datepicker-Cw5Y4tvU.js","assets/index-DPa-4xgI.js","assets/peerShareLinkModal-GoWqB_pD.css","assets/peerJobs-iqYQ4Q-2.js","assets/schedulePeerJob-u2PLfoyV.js","assets/schedulePeerJob-DUtdD062.css","assets/peerJobs-D_dDl936.css","assets/peerQRCode-Bfo15_ll.js","assets/browser-LdOMKRZX.js","assets/galois-field-I2lBzzs-.js","assets/peerQRCode-BmkCjxyX.css","assets/peerConfigurationFile-BNxBGei9.js","assets/peerConfigurationFile-Z9ms5mIx.css","assets/peerSettings-1ZLfa-ii.js","assets/peerSettings-CSjO_Okh.css","assets/peerSearchBar-BGxtkCCT.js","assets/peerSearchBar-Dtpovmxo.css","assets/peerJobsAllModal-C_YCIBgZ.js","assets/peerJobsLogsModal-DGmN7IvQ.js","assets/editConfiguration-DUqDAChA.js","assets/editConfiguration-BV75UXb4.css","assets/selectPeers-S8BB8ekI.js","assets/selectPeers-ChWyERy7.css","assets/peerAddModal-CFkDvr1R.js","assets/peerAddModal-B4gIHs91.css"])))=>i.map(i=>d[i]); -import{r as q,L as $e,D as oe,o as ne,I as se,x as re,q as N,G as H,c,f as o,a as e,b as n,u as j,d as O,t as D,g as ee,B as U,W as ie,m as de,n as L,s as pe,y as ke,F,i as G,_ as K,J as _e,v as Pe,w as W,j as I,T as me,k as ae,A as ze,z as X,h as le,e as E,M as V,N as J,O as Ce,E as He,S as Ye}from"./index-DYYtDSji.js";import{_ as Ge}from"./protocolBadge-DbN6X1oX.js";import{L as x}from"./localeText-Cd7vLnRM.js";import{C as Se,L as De,B as Oe,a as qe,b as Me,c as Ie,p as Te,d as je,e as Be,f as Le,P as Re,i as Ae,h as Ve,g as ge}from"./index-CV5Q0a3C.js";import{d as Q}from"./dayjs.min-WRW_FTL4.js";import{o as Je}from"./index-DPa-4xgI.js";import{M as Ue,V as We,k as be,T as Qe,O as Ke,n as Ze,F as we,P as Xe,o as et,p as tt,C as lt,q as st,r as ot,s as it}from"./Vector-CuSZivra.js";import{p as at}from"./index-Bno8fcdN.js";const nt={class:"row gx-2 gy-2 mb-3"},rt={class:"col-12"},dt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},ct={class:"card-header bg-transparent border-0"},ut={class:"text-muted"},ft={class:"card-body pt-1"},pt={class:"col-sm col-lg-6"},mt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},gt={class:"card-header bg-transparent border-0 d-flex align-items-center"},ht={class:"text-muted"},bt={key:0,class:"text-primary fw-bold ms-auto"},vt={class:"card-body pt-1"},kt={class:"col-sm col-lg-6"},wt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},yt={class:"card-header bg-transparent border-0 d-flex align-items-center"},xt={class:"text-muted"},$t={key:0,class:"text-success fw-bold ms-auto"},_t={class:"card-body pt-1"},Pt={__name:"peerDataUsageCharts",props:{configurationPeers:Array,configurationInfo:Object},setup(l){Se.register(De,Oe,qe,Me,Ie,Te,je,Be,Le,Re,Ae);const t=l,a=q({timestamp:[],data:[]}),s=q({timestamp:[],data:[]}),m=$e(),r=oe(),u=q(void 0),_=async()=>{await ee("/api/getWireguardConfigurationRealtimeTraffic",{configurationName:m.params.id},S=>{let b=Q().format("hh:mm:ss A");(S.data.sent!==0&&S.data.recv!==0||a.value.data.length>0&&s.value.data.length>0)&&(a.value.timestamp.push(b),a.value.data.push(S.data.sent),s.value.timestamp.push(b),s.value.data.push(S.data.recv))})},g=()=>{clearInterval(u.value),u.value=void 0,t.configurationInfo.Status&&(u.value=setInterval(()=>{_()},parseInt(r.Configuration.Server.dashboard_refresh_interval)))};ne(()=>{g()}),se(()=>t.configurationInfo.Status,()=>{g()}),se(()=>r.Configuration.Server.dashboard_refresh_interval,()=>{g()}),re(()=>{clearInterval(u.value),u.value=void 0});const d=N(()=>{let S=t.configurationPeers.filter(b=>b.cumu_data+b.total_data>0);return{labels:S.map(b=>b.name?b.name:`Untitled Peer - ${b.id}`),datasets:[{label:"Total Data Usage",data:S.map(b=>b.cumu_data+b.total_data),backgroundColor:S.map(b=>"#ffc107"),tooltip:{callbacks:{label:b=>`${b.formattedValue} GB`}}}]}}),f=N(()=>({labels:[...a.value.timestamp],datasets:[{label:H("Data Sent"),data:[...a.value.data],fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),v=N(()=>({labels:[...s.value.timestamp],datasets:[{label:H("Data Received"),data:[...s.value.data],fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:0,pointRadius:2,borderWidth:1}]})),w=N(()=>({responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(S,b)=>`${Math.round((S+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),$=N(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:S=>`${S.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(S,b)=>`${Math.round((S+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(S,b)=>(o(),c("div",nt,[e("div",rt,[e("div",dt,[e("div",ct,[e("small",ut,[n(x,{t:"Peers Data Usage"})])]),e("div",ft,[n(j(Ve),{data:d.value,options:w.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),e("div",pt,[e("div",mt,[e("div",gt,[e("small",ht,[n(x,{t:"Real Time Received Data Usage"})]),s.value.data.length>0?(o(),c("small",bt,D(s.value.data[s.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",vt,[n(j(ge),{options:$.value,data:v.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),e("div",kt,[e("div",wt,[e("div",yt,[e("small",xt,[n(x,{t:"Real Time Sent Data Usage"})]),a.value.data.length>0?(o(),c("small",$t,D(a.value.data[a.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",_t,[n(j(ge),{options:$.value,data:f.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]))}},Ct=61698,St=61705,Dt=61707,Ot=61709,qt=61777,Mt=61778,It=61780,Tt=61781,jt=61785,Bt=61817,Lt=61824,Rt=61826,At=61828,Nt=61832,Et=61834,Ft=61835,zt=61836,Ht=61837,Yt=61839,Gt=61844,Vt=61858,Jt=61860,Ut=61861,Wt=61864,Qt=61876,Kt=61896,Zt=61897,Xt=61898,el=61900,tl=61910,ll=61912,sl=61914,ol=61916,il=61917,al=61918,nl=61920,rl=61942,dl=61964,cl=61972,ul=61976,fl=61984,pl=61985,ml=61987,gl=62018,hl=62019,bl=62020,vl=62021,kl=62023,wl=62024,yl=62056,xl=62062,$l=62066,_l=62090,Pl=62096,Cl=62099,Sl=62145,Dl=62147,Ol=62149,ql=62152,Ml=62156,Il=62158,Tl=62159,jl=62161,Bl=62163,Ll=62164,Rl=62166,Al=62173,Nl=62176,El=62179,Fl=62186,zl=62193,Hl=62207,Yl=62208,Gl=62210,Vl=62217,Jl=62218,Ul=62221,Wl=62222,Ql=62224,Kl=62227,Zl=62229,Xl=62255,es=62257,ts=62268,ls=62269,ss=62273,os=62274,is=62275,as=62276,ns=62400,rs=62402,ds=62403,cs=62410,us=62412,fs=62413,ps=62414,ms=62415,gs=62423,hs=62425,bs=62426,vs=62428,ks=62429,ws=62431,ys=62433,xs=62437,$s=62438,_s=62442,Ps=62444,Cs=62445,Ss=62446,Ds=62447,Os=62448,qs=62460,Ms=62463,Is=62473,Ts=62474,js=62482,Bs=62483,Ls=62484,Rs=62487,As=62490,Ns=62493,Es=62497,Fs=62501,zs=62502,Hs=62503,Ys=62506,Gs=62507,Vs=62509,Js=62511,Us=62516,Ws=62519,Qs=62520,Ks=62534,Zs=62535,Xs=62536,eo=62539,to=62541,lo=62543,so=62545,oo=62546,io=62548,ao=62550,no=62555,ro=62571,co=62575,uo=62577,fo=62578,po=62585,mo=62587,go=62588,ho=62589,bo=62591,vo=62593,ko=62594,wo=62596,yo=62608,xo=62610,$o=62611,_o=62615,Po=62617,Co=62619,So=62621,Do=62627,Oo=62633,qo=62636,Mo=62637,Io=62638,To=62641,jo=62642,Bo=62643,Lo=62644,Ro=62660,Ao=62662,No=62664,Eo=62667,Fo=62670,zo=62672,Ho=62673,Yo=62689,Go=62695,Vo=62701,Jo=62703,Uo=62709,Wo=62711,Qo=62718,Ko=62719,Zo=62721,Xo=62723,ei=62732,ti=62733,li=62735,si=62746,oi=62748,ii=62752,ai=62754,ni=62755,ri=62757,di=62759,ci=62760,ui=62761,fi=62762,pi=62764,mi=62766,gi=62783,hi=62785,bi=62787,vi=62788,ki=62794,wi=62796,yi=62821,xi=62826,$i=62827,_i=62828,Pi=62829,Ci=62830,Si=62831,Di=62844,Oi=62846,qi=62847,Mi=62848,Ii=62849,Ti=62852,ji=62853,Bi=62856,Li=62857,Ri=62859,Ai=62861,Ni=62867,Ei=62869,Fi=62871,zi=62872,Hi=62882,Yi=62883,Gi=62885,Vi=62887,Ji=62890,Ui=62894,Wi=62896,Qi=62898,Ki=62899,Zi=62913,Xi=62915,ea=62924,ta=62930,la=62937,sa=62938,oa=62939,ia=62940,aa=62942,na=62944,ra=62946,da=62949,ca=62951,ua=62954,fa=62955,pa=62957,ma=62958,ga=62959,ha=62967,ba=62973,va=62974,ka=62976,wa=62978,ya=62979,xa=62984,$a=62985,_a=62994,Pa=62996,Ca=62997,Sa=62998,Da=62999,Oa=63e3,qa=63004,Ma=63005,Ia=63008,Ta=63009,ja=63018,Ba=63019,La=63022,Ra=63023,Aa=63028,Na=63047,Ea=63048,Fa=63055,za=63056,Ha=63059,Ya=63062,Ga=63064,Va=63066,Ja=63067,Ua=63069,Wa=63070,Qa=63068,Ka=63071,Za=63072,Xa=63073,en=63074,tn=63075,ln=63076,sn=63077,on=63078,an=63080,nn=63081,rn=63082,dn=63083,cn=63085,un=63087,fn=63088,pn=63089,mn=63092,gn=63093,hn=63099,bn=63101,vn=63105,kn=63106,wn=63108,yn=63109,xn=63111,$n=63113,_n=63132,Pn=63133,Cn=63134,Sn=63137,Dn=63144,On=63145,qn=63148,Mn=63151,In=63152,Tn=63153,jn=63168,Bn=63169,Ln=63179,Rn=63180,An=63188,Nn=63189,En=63191,Fn=63198,zn=63201,Hn=63203,Yn=63205,Gn=63207,Vn=63212,Jn=63216,Un=63230,Wn=63241,Qn=63245,Kn=63283,Zn=63345,Xn=63346,er=63348,tr=63351,lr=63353,sr=63357,or=63361,ir=63365,ar=63369,nr=63371,rr=63372,dr=63373,cr=63437,ur=63438,fr=63439,pr=63440,mr=63441,gr=63455,hr=63459,br=63469,vr=63478,kr=63486,wr=63488,yr=63497,xr=63498,$r=63499,_r=63507,Pr=63513,Cr=63522,Sr=63523,Dr=63524,Or=63527,qr=63528,Mr=63529,Ir=63530,Tr=63558,jr=63559,Br=63560,Lr=63561,Rr=63562,Ar=63565,Nr=63613,Er=63659,Fr=63662,zr=63684,Hr=63686,Yr=63687,Gr=63692,Vr=63114,Jr=63117,Ur=63138,Wr=63158,Qr=63170,Kr=63200,Zr=63213,Xr=63214,ed=63321,td=63337,ld=63380,sd=63423,od=63428,id=63448,ad=63460,nd=63461,rd=63480,dd=63500,cd=63501,ud=63695,fd=63702,pd=63703,md=63705,gd=63706,hd=63712,bd=63714,vd=63716,kd=63718,wd=63719,yd=63723,xd=63724,$d=63726,_d=63728,Pd=63733,Cd=63740,Sd=63744,Dd=63746,Od=63747,qd=63481,Md=63748,Id=63750,Td=63754,jd=63756,Bd=63760,Ld=63762,Rd=63764,Ad=63765,Nd=63766,Ed=63767,Fd=63768,zd=63769,ve={123:63103,"alarm-fill":61697,alarm:Ct,"align-bottom":61699,"align-center":61700,"align-end":61701,"align-middle":61702,"align-start":61703,"align-top":61704,alt:St,"app-indicator":61706,app:Dt,"archive-fill":61708,archive:Ot,"arrow-90deg-down":61710,"arrow-90deg-left":61711,"arrow-90deg-right":61712,"arrow-90deg-up":61713,"arrow-bar-down":61714,"arrow-bar-left":61715,"arrow-bar-right":61716,"arrow-bar-up":61717,"arrow-clockwise":61718,"arrow-counterclockwise":61719,"arrow-down-circle-fill":61720,"arrow-down-circle":61721,"arrow-down-left-circle-fill":61722,"arrow-down-left-circle":61723,"arrow-down-left-square-fill":61724,"arrow-down-left-square":61725,"arrow-down-left":61726,"arrow-down-right-circle-fill":61727,"arrow-down-right-circle":61728,"arrow-down-right-square-fill":61729,"arrow-down-right-square":61730,"arrow-down-right":61731,"arrow-down-short":61732,"arrow-down-square-fill":61733,"arrow-down-square":61734,"arrow-down-up":61735,"arrow-down":61736,"arrow-left-circle-fill":61737,"arrow-left-circle":61738,"arrow-left-right":61739,"arrow-left-short":61740,"arrow-left-square-fill":61741,"arrow-left-square":61742,"arrow-left":61743,"arrow-repeat":61744,"arrow-return-left":61745,"arrow-return-right":61746,"arrow-right-circle-fill":61747,"arrow-right-circle":61748,"arrow-right-short":61749,"arrow-right-square-fill":61750,"arrow-right-square":61751,"arrow-right":61752,"arrow-up-circle-fill":61753,"arrow-up-circle":61754,"arrow-up-left-circle-fill":61755,"arrow-up-left-circle":61756,"arrow-up-left-square-fill":61757,"arrow-up-left-square":61758,"arrow-up-left":61759,"arrow-up-right-circle-fill":61760,"arrow-up-right-circle":61761,"arrow-up-right-square-fill":61762,"arrow-up-right-square":61763,"arrow-up-right":61764,"arrow-up-short":61765,"arrow-up-square-fill":61766,"arrow-up-square":61767,"arrow-up":61768,"arrows-angle-contract":61769,"arrows-angle-expand":61770,"arrows-collapse":61771,"arrows-expand":61772,"arrows-fullscreen":61773,"arrows-move":61774,"aspect-ratio-fill":61775,"aspect-ratio":61776,asterisk:qt,at:Mt,"award-fill":61779,award:It,back:Tt,"backspace-fill":61782,"backspace-reverse-fill":61783,"backspace-reverse":61784,backspace:jt,"badge-3d-fill":61786,"badge-3d":61787,"badge-4k-fill":61788,"badge-4k":61789,"badge-8k-fill":61790,"badge-8k":61791,"badge-ad-fill":61792,"badge-ad":61793,"badge-ar-fill":61794,"badge-ar":61795,"badge-cc-fill":61796,"badge-cc":61797,"badge-hd-fill":61798,"badge-hd":61799,"badge-tm-fill":61800,"badge-tm":61801,"badge-vo-fill":61802,"badge-vo":61803,"badge-vr-fill":61804,"badge-vr":61805,"badge-wc-fill":61806,"badge-wc":61807,"bag-check-fill":61808,"bag-check":61809,"bag-dash-fill":61810,"bag-dash":61811,"bag-fill":61812,"bag-plus-fill":61813,"bag-plus":61814,"bag-x-fill":61815,"bag-x":61816,bag:Bt,"bar-chart-fill":61818,"bar-chart-line-fill":61819,"bar-chart-line":61820,"bar-chart-steps":61821,"bar-chart":61822,"basket-fill":61823,basket:Lt,"basket2-fill":61825,basket2:Rt,"basket3-fill":61827,basket3:At,"battery-charging":61829,"battery-full":61830,"battery-half":61831,battery:Nt,"bell-fill":61833,bell:Et,bezier:Ft,bezier2:zt,bicycle:Ht,"binoculars-fill":61838,binoculars:Yt,"blockquote-left":61840,"blockquote-right":61841,"book-fill":61842,"book-half":61843,book:Gt,"bookmark-check-fill":61845,"bookmark-check":61846,"bookmark-dash-fill":61847,"bookmark-dash":61848,"bookmark-fill":61849,"bookmark-heart-fill":61850,"bookmark-heart":61851,"bookmark-plus-fill":61852,"bookmark-plus":61853,"bookmark-star-fill":61854,"bookmark-star":61855,"bookmark-x-fill":61856,"bookmark-x":61857,bookmark:Vt,"bookmarks-fill":61859,bookmarks:Jt,bookshelf:Ut,"bootstrap-fill":61862,"bootstrap-reboot":61863,bootstrap:Wt,"border-all":61865,"border-bottom":61866,"border-center":61867,"border-inner":61868,"border-left":61869,"border-middle":61870,"border-outer":61871,"border-right":61872,"border-style":61873,"border-top":61874,"border-width":61875,border:Qt,"bounding-box-circles":61877,"bounding-box":61878,"box-arrow-down-left":61879,"box-arrow-down-right":61880,"box-arrow-down":61881,"box-arrow-in-down-left":61882,"box-arrow-in-down-right":61883,"box-arrow-in-down":61884,"box-arrow-in-left":61885,"box-arrow-in-right":61886,"box-arrow-in-up-left":61887,"box-arrow-in-up-right":61888,"box-arrow-in-up":61889,"box-arrow-left":61890,"box-arrow-right":61891,"box-arrow-up-left":61892,"box-arrow-up-right":61893,"box-arrow-up":61894,"box-seam":61895,box:Kt,braces:Zt,bricks:Xt,"briefcase-fill":61899,briefcase:el,"brightness-alt-high-fill":61901,"brightness-alt-high":61902,"brightness-alt-low-fill":61903,"brightness-alt-low":61904,"brightness-high-fill":61905,"brightness-high":61906,"brightness-low-fill":61907,"brightness-low":61908,"broadcast-pin":61909,broadcast:tl,"brush-fill":61911,brush:ll,"bucket-fill":61913,bucket:sl,"bug-fill":61915,bug:ol,building:il,bullseye:al,"calculator-fill":61919,calculator:nl,"calendar-check-fill":61921,"calendar-check":61922,"calendar-date-fill":61923,"calendar-date":61924,"calendar-day-fill":61925,"calendar-day":61926,"calendar-event-fill":61927,"calendar-event":61928,"calendar-fill":61929,"calendar-minus-fill":61930,"calendar-minus":61931,"calendar-month-fill":61932,"calendar-month":61933,"calendar-plus-fill":61934,"calendar-plus":61935,"calendar-range-fill":61936,"calendar-range":61937,"calendar-week-fill":61938,"calendar-week":61939,"calendar-x-fill":61940,"calendar-x":61941,calendar:rl,"calendar2-check-fill":61943,"calendar2-check":61944,"calendar2-date-fill":61945,"calendar2-date":61946,"calendar2-day-fill":61947,"calendar2-day":61948,"calendar2-event-fill":61949,"calendar2-event":61950,"calendar2-fill":61951,"calendar2-minus-fill":61952,"calendar2-minus":61953,"calendar2-month-fill":61954,"calendar2-month":61955,"calendar2-plus-fill":61956,"calendar2-plus":61957,"calendar2-range-fill":61958,"calendar2-range":61959,"calendar2-week-fill":61960,"calendar2-week":61961,"calendar2-x-fill":61962,"calendar2-x":61963,calendar2:dl,"calendar3-event-fill":61965,"calendar3-event":61966,"calendar3-fill":61967,"calendar3-range-fill":61968,"calendar3-range":61969,"calendar3-week-fill":61970,"calendar3-week":61971,calendar3:cl,"calendar4-event":61973,"calendar4-range":61974,"calendar4-week":61975,calendar4:ul,"camera-fill":61977,"camera-reels-fill":61978,"camera-reels":61979,"camera-video-fill":61980,"camera-video-off-fill":61981,"camera-video-off":61982,"camera-video":61983,camera:fl,camera2:pl,"capslock-fill":61986,capslock:ml,"card-checklist":61988,"card-heading":61989,"card-image":61990,"card-list":61991,"card-text":61992,"caret-down-fill":61993,"caret-down-square-fill":61994,"caret-down-square":61995,"caret-down":61996,"caret-left-fill":61997,"caret-left-square-fill":61998,"caret-left-square":61999,"caret-left":62e3,"caret-right-fill":62001,"caret-right-square-fill":62002,"caret-right-square":62003,"caret-right":62004,"caret-up-fill":62005,"caret-up-square-fill":62006,"caret-up-square":62007,"caret-up":62008,"cart-check-fill":62009,"cart-check":62010,"cart-dash-fill":62011,"cart-dash":62012,"cart-fill":62013,"cart-plus-fill":62014,"cart-plus":62015,"cart-x-fill":62016,"cart-x":62017,cart:gl,cart2:hl,cart3:bl,cart4:vl,"cash-stack":62022,cash:kl,cast:wl,"chat-dots-fill":62025,"chat-dots":62026,"chat-fill":62027,"chat-left-dots-fill":62028,"chat-left-dots":62029,"chat-left-fill":62030,"chat-left-quote-fill":62031,"chat-left-quote":62032,"chat-left-text-fill":62033,"chat-left-text":62034,"chat-left":62035,"chat-quote-fill":62036,"chat-quote":62037,"chat-right-dots-fill":62038,"chat-right-dots":62039,"chat-right-fill":62040,"chat-right-quote-fill":62041,"chat-right-quote":62042,"chat-right-text-fill":62043,"chat-right-text":62044,"chat-right":62045,"chat-square-dots-fill":62046,"chat-square-dots":62047,"chat-square-fill":62048,"chat-square-quote-fill":62049,"chat-square-quote":62050,"chat-square-text-fill":62051,"chat-square-text":62052,"chat-square":62053,"chat-text-fill":62054,"chat-text":62055,chat:yl,"check-all":62057,"check-circle-fill":62058,"check-circle":62059,"check-square-fill":62060,"check-square":62061,check:xl,"check2-all":62063,"check2-circle":62064,"check2-square":62065,check2:$l,"chevron-bar-contract":62067,"chevron-bar-down":62068,"chevron-bar-expand":62069,"chevron-bar-left":62070,"chevron-bar-right":62071,"chevron-bar-up":62072,"chevron-compact-down":62073,"chevron-compact-left":62074,"chevron-compact-right":62075,"chevron-compact-up":62076,"chevron-contract":62077,"chevron-double-down":62078,"chevron-double-left":62079,"chevron-double-right":62080,"chevron-double-up":62081,"chevron-down":62082,"chevron-expand":62083,"chevron-left":62084,"chevron-right":62085,"chevron-up":62086,"circle-fill":62087,"circle-half":62088,"circle-square":62089,circle:_l,"clipboard-check":62091,"clipboard-data":62092,"clipboard-minus":62093,"clipboard-plus":62094,"clipboard-x":62095,clipboard:Pl,"clock-fill":62097,"clock-history":62098,clock:Cl,"cloud-arrow-down-fill":62100,"cloud-arrow-down":62101,"cloud-arrow-up-fill":62102,"cloud-arrow-up":62103,"cloud-check-fill":62104,"cloud-check":62105,"cloud-download-fill":62106,"cloud-download":62107,"cloud-drizzle-fill":62108,"cloud-drizzle":62109,"cloud-fill":62110,"cloud-fog-fill":62111,"cloud-fog":62112,"cloud-fog2-fill":62113,"cloud-fog2":62114,"cloud-hail-fill":62115,"cloud-hail":62116,"cloud-haze-fill":62118,"cloud-haze":62119,"cloud-haze2-fill":62120,"cloud-lightning-fill":62121,"cloud-lightning-rain-fill":62122,"cloud-lightning-rain":62123,"cloud-lightning":62124,"cloud-minus-fill":62125,"cloud-minus":62126,"cloud-moon-fill":62127,"cloud-moon":62128,"cloud-plus-fill":62129,"cloud-plus":62130,"cloud-rain-fill":62131,"cloud-rain-heavy-fill":62132,"cloud-rain-heavy":62133,"cloud-rain":62134,"cloud-slash-fill":62135,"cloud-slash":62136,"cloud-sleet-fill":62137,"cloud-sleet":62138,"cloud-snow-fill":62139,"cloud-snow":62140,"cloud-sun-fill":62141,"cloud-sun":62142,"cloud-upload-fill":62143,"cloud-upload":62144,cloud:Sl,"clouds-fill":62146,clouds:Dl,"cloudy-fill":62148,cloudy:Ol,"code-slash":62150,"code-square":62151,code:ql,"collection-fill":62153,"collection-play-fill":62154,"collection-play":62155,collection:Ml,"columns-gap":62157,columns:Il,command:Tl,"compass-fill":62160,compass:jl,"cone-striped":62162,cone:Bl,controller:Ll,"cpu-fill":62165,cpu:Rl,"credit-card-2-back-fill":62167,"credit-card-2-back":62168,"credit-card-2-front-fill":62169,"credit-card-2-front":62170,"credit-card-fill":62171,"credit-card":62172,crop:Al,"cup-fill":62174,"cup-straw":62175,cup:Nl,"cursor-fill":62177,"cursor-text":62178,cursor:El,"dash-circle-dotted":62180,"dash-circle-fill":62181,"dash-circle":62182,"dash-square-dotted":62183,"dash-square-fill":62184,"dash-square":62185,dash:Fl,"diagram-2-fill":62187,"diagram-2":62188,"diagram-3-fill":62189,"diagram-3":62190,"diamond-fill":62191,"diamond-half":62192,diamond:zl,"dice-1-fill":62194,"dice-1":62195,"dice-2-fill":62196,"dice-2":62197,"dice-3-fill":62198,"dice-3":62199,"dice-4-fill":62200,"dice-4":62201,"dice-5-fill":62202,"dice-5":62203,"dice-6-fill":62204,"dice-6":62205,"disc-fill":62206,disc:Hl,discord:Yl,"display-fill":62209,display:Gl,"distribute-horizontal":62211,"distribute-vertical":62212,"door-closed-fill":62213,"door-closed":62214,"door-open-fill":62215,"door-open":62216,dot:Vl,download:Jl,"droplet-fill":62219,"droplet-half":62220,droplet:Ul,earbuds:Wl,"easel-fill":62223,easel:Ql,"egg-fill":62225,"egg-fried":62226,egg:Kl,"eject-fill":62228,eject:Zl,"emoji-angry-fill":62230,"emoji-angry":62231,"emoji-dizzy-fill":62232,"emoji-dizzy":62233,"emoji-expressionless-fill":62234,"emoji-expressionless":62235,"emoji-frown-fill":62236,"emoji-frown":62237,"emoji-heart-eyes-fill":62238,"emoji-heart-eyes":62239,"emoji-laughing-fill":62240,"emoji-laughing":62241,"emoji-neutral-fill":62242,"emoji-neutral":62243,"emoji-smile-fill":62244,"emoji-smile-upside-down-fill":62245,"emoji-smile-upside-down":62246,"emoji-smile":62247,"emoji-sunglasses-fill":62248,"emoji-sunglasses":62249,"emoji-wink-fill":62250,"emoji-wink":62251,"envelope-fill":62252,"envelope-open-fill":62253,"envelope-open":62254,envelope:Xl,"eraser-fill":62256,eraser:es,"exclamation-circle-fill":62258,"exclamation-circle":62259,"exclamation-diamond-fill":62260,"exclamation-diamond":62261,"exclamation-octagon-fill":62262,"exclamation-octagon":62263,"exclamation-square-fill":62264,"exclamation-square":62265,"exclamation-triangle-fill":62266,"exclamation-triangle":62267,exclamation:ts,exclude:ls,"eye-fill":62270,"eye-slash-fill":62271,"eye-slash":62272,eye:ss,eyedropper:os,eyeglasses:is,facebook:as,"file-arrow-down-fill":62277,"file-arrow-down":62278,"file-arrow-up-fill":62279,"file-arrow-up":62280,"file-bar-graph-fill":62281,"file-bar-graph":62282,"file-binary-fill":62283,"file-binary":62284,"file-break-fill":62285,"file-break":62286,"file-check-fill":62287,"file-check":62288,"file-code-fill":62289,"file-code":62290,"file-diff-fill":62291,"file-diff":62292,"file-earmark-arrow-down-fill":62293,"file-earmark-arrow-down":62294,"file-earmark-arrow-up-fill":62295,"file-earmark-arrow-up":62296,"file-earmark-bar-graph-fill":62297,"file-earmark-bar-graph":62298,"file-earmark-binary-fill":62299,"file-earmark-binary":62300,"file-earmark-break-fill":62301,"file-earmark-break":62302,"file-earmark-check-fill":62303,"file-earmark-check":62304,"file-earmark-code-fill":62305,"file-earmark-code":62306,"file-earmark-diff-fill":62307,"file-earmark-diff":62308,"file-earmark-easel-fill":62309,"file-earmark-easel":62310,"file-earmark-excel-fill":62311,"file-earmark-excel":62312,"file-earmark-fill":62313,"file-earmark-font-fill":62314,"file-earmark-font":62315,"file-earmark-image-fill":62316,"file-earmark-image":62317,"file-earmark-lock-fill":62318,"file-earmark-lock":62319,"file-earmark-lock2-fill":62320,"file-earmark-lock2":62321,"file-earmark-medical-fill":62322,"file-earmark-medical":62323,"file-earmark-minus-fill":62324,"file-earmark-minus":62325,"file-earmark-music-fill":62326,"file-earmark-music":62327,"file-earmark-person-fill":62328,"file-earmark-person":62329,"file-earmark-play-fill":62330,"file-earmark-play":62331,"file-earmark-plus-fill":62332,"file-earmark-plus":62333,"file-earmark-post-fill":62334,"file-earmark-post":62335,"file-earmark-ppt-fill":62336,"file-earmark-ppt":62337,"file-earmark-richtext-fill":62338,"file-earmark-richtext":62339,"file-earmark-ruled-fill":62340,"file-earmark-ruled":62341,"file-earmark-slides-fill":62342,"file-earmark-slides":62343,"file-earmark-spreadsheet-fill":62344,"file-earmark-spreadsheet":62345,"file-earmark-text-fill":62346,"file-earmark-text":62347,"file-earmark-word-fill":62348,"file-earmark-word":62349,"file-earmark-x-fill":62350,"file-earmark-x":62351,"file-earmark-zip-fill":62352,"file-earmark-zip":62353,"file-earmark":62354,"file-easel-fill":62355,"file-easel":62356,"file-excel-fill":62357,"file-excel":62358,"file-fill":62359,"file-font-fill":62360,"file-font":62361,"file-image-fill":62362,"file-image":62363,"file-lock-fill":62364,"file-lock":62365,"file-lock2-fill":62366,"file-lock2":62367,"file-medical-fill":62368,"file-medical":62369,"file-minus-fill":62370,"file-minus":62371,"file-music-fill":62372,"file-music":62373,"file-person-fill":62374,"file-person":62375,"file-play-fill":62376,"file-play":62377,"file-plus-fill":62378,"file-plus":62379,"file-post-fill":62380,"file-post":62381,"file-ppt-fill":62382,"file-ppt":62383,"file-richtext-fill":62384,"file-richtext":62385,"file-ruled-fill":62386,"file-ruled":62387,"file-slides-fill":62388,"file-slides":62389,"file-spreadsheet-fill":62390,"file-spreadsheet":62391,"file-text-fill":62392,"file-text":62393,"file-word-fill":62394,"file-word":62395,"file-x-fill":62396,"file-x":62397,"file-zip-fill":62398,"file-zip":62399,file:ns,"files-alt":62401,files:rs,film:ds,"filter-circle-fill":62404,"filter-circle":62405,"filter-left":62406,"filter-right":62407,"filter-square-fill":62408,"filter-square":62409,filter:cs,"flag-fill":62411,flag:us,flower1:fs,flower2:ps,flower3:ms,"folder-check":62416,"folder-fill":62417,"folder-minus":62418,"folder-plus":62419,"folder-symlink-fill":62420,"folder-symlink":62421,"folder-x":62422,folder:gs,"folder2-open":62424,folder2:hs,fonts:bs,"forward-fill":62427,forward:vs,front:ks,"fullscreen-exit":62430,fullscreen:ws,"funnel-fill":62432,funnel:ys,"gear-fill":62434,"gear-wide-connected":62435,"gear-wide":62436,gear:xs,gem:$s,"geo-alt-fill":62439,"geo-alt":62440,"geo-fill":62441,geo:_s,"gift-fill":62443,gift:Ps,github:Cs,globe:Ss,globe2:Ds,google:Os,"graph-down":62449,"graph-up":62450,"grid-1x2-fill":62451,"grid-1x2":62452,"grid-3x2-gap-fill":62453,"grid-3x2-gap":62454,"grid-3x2":62455,"grid-3x3-gap-fill":62456,"grid-3x3-gap":62457,"grid-3x3":62458,"grid-fill":62459,grid:qs,"grip-horizontal":62461,"grip-vertical":62462,hammer:Ms,"hand-index-fill":62464,"hand-index-thumb-fill":62465,"hand-index-thumb":62466,"hand-index":62467,"hand-thumbs-down-fill":62468,"hand-thumbs-down":62469,"hand-thumbs-up-fill":62470,"hand-thumbs-up":62471,"handbag-fill":62472,handbag:Is,hash:Ts,"hdd-fill":62475,"hdd-network-fill":62476,"hdd-network":62477,"hdd-rack-fill":62478,"hdd-rack":62479,"hdd-stack-fill":62480,"hdd-stack":62481,hdd:js,headphones:Bs,headset:Ls,"heart-fill":62485,"heart-half":62486,heart:Rs,"heptagon-fill":62488,"heptagon-half":62489,heptagon:As,"hexagon-fill":62491,"hexagon-half":62492,hexagon:Ns,"hourglass-bottom":62494,"hourglass-split":62495,"hourglass-top":62496,hourglass:Es,"house-door-fill":62498,"house-door":62499,"house-fill":62500,house:Fs,hr:zs,hurricane:Hs,"image-alt":62504,"image-fill":62505,image:Ys,images:Gs,"inbox-fill":62508,inbox:Vs,"inboxes-fill":62510,inboxes:Js,"info-circle-fill":62512,"info-circle":62513,"info-square-fill":62514,"info-square":62515,info:Us,"input-cursor-text":62517,"input-cursor":62518,instagram:Ws,intersect:Qs,"journal-album":62521,"journal-arrow-down":62522,"journal-arrow-up":62523,"journal-bookmark-fill":62524,"journal-bookmark":62525,"journal-check":62526,"journal-code":62527,"journal-medical":62528,"journal-minus":62529,"journal-plus":62530,"journal-richtext":62531,"journal-text":62532,"journal-x":62533,journal:Ks,journals:Zs,joystick:Xs,"justify-left":62537,"justify-right":62538,justify:eo,"kanban-fill":62540,kanban:to,"key-fill":62542,key:lo,"keyboard-fill":62544,keyboard:so,ladder:oo,"lamp-fill":62547,lamp:io,"laptop-fill":62549,laptop:ao,"layer-backward":62551,"layer-forward":62552,"layers-fill":62553,"layers-half":62554,layers:no,"layout-sidebar-inset-reverse":62556,"layout-sidebar-inset":62557,"layout-sidebar-reverse":62558,"layout-sidebar":62559,"layout-split":62560,"layout-text-sidebar-reverse":62561,"layout-text-sidebar":62562,"layout-text-window-reverse":62563,"layout-text-window":62564,"layout-three-columns":62565,"layout-wtf":62566,"life-preserver":62567,"lightbulb-fill":62568,"lightbulb-off-fill":62569,"lightbulb-off":62570,lightbulb:ro,"lightning-charge-fill":62572,"lightning-charge":62573,"lightning-fill":62574,lightning:co,"link-45deg":62576,link:uo,linkedin:fo,"list-check":62579,"list-nested":62580,"list-ol":62581,"list-stars":62582,"list-task":62583,"list-ul":62584,list:po,"lock-fill":62586,lock:mo,mailbox:go,mailbox2:ho,"map-fill":62590,map:bo,"markdown-fill":62592,markdown:vo,mask:ko,"megaphone-fill":62595,megaphone:wo,"menu-app-fill":62597,"menu-app":62598,"menu-button-fill":62599,"menu-button-wide-fill":62600,"menu-button-wide":62601,"menu-button":62602,"menu-down":62603,"menu-up":62604,"mic-fill":62605,"mic-mute-fill":62606,"mic-mute":62607,mic:yo,"minecart-loaded":62609,minecart:xo,moisture:$o,"moon-fill":62612,"moon-stars-fill":62613,"moon-stars":62614,moon:_o,"mouse-fill":62616,mouse:Po,"mouse2-fill":62618,mouse2:Co,"mouse3-fill":62620,mouse3:So,"music-note-beamed":62622,"music-note-list":62623,"music-note":62624,"music-player-fill":62625,"music-player":62626,newspaper:Do,"node-minus-fill":62628,"node-minus":62629,"node-plus-fill":62630,"node-plus":62631,"nut-fill":62632,nut:Oo,"octagon-fill":62634,"octagon-half":62635,octagon:qo,option:Mo,outlet:Io,"paint-bucket":62639,"palette-fill":62640,palette:To,palette2:jo,paperclip:Bo,paragraph:Lo,"patch-check-fill":62645,"patch-check":62646,"patch-exclamation-fill":62647,"patch-exclamation":62648,"patch-minus-fill":62649,"patch-minus":62650,"patch-plus-fill":62651,"patch-plus":62652,"patch-question-fill":62653,"patch-question":62654,"pause-btn-fill":62655,"pause-btn":62656,"pause-circle-fill":62657,"pause-circle":62658,"pause-fill":62659,pause:Ro,"peace-fill":62661,peace:Ao,"pen-fill":62663,pen:No,"pencil-fill":62665,"pencil-square":62666,pencil:Eo,"pentagon-fill":62668,"pentagon-half":62669,pentagon:Fo,"people-fill":62671,people:zo,percent:Ho,"person-badge-fill":62674,"person-badge":62675,"person-bounding-box":62676,"person-check-fill":62677,"person-check":62678,"person-circle":62679,"person-dash-fill":62680,"person-dash":62681,"person-fill":62682,"person-lines-fill":62683,"person-plus-fill":62684,"person-plus":62685,"person-square":62686,"person-x-fill":62687,"person-x":62688,person:Yo,"phone-fill":62690,"phone-landscape-fill":62691,"phone-landscape":62692,"phone-vibrate-fill":62693,"phone-vibrate":62694,phone:Go,"pie-chart-fill":62696,"pie-chart":62697,"pin-angle-fill":62698,"pin-angle":62699,"pin-fill":62700,pin:Vo,"pip-fill":62702,pip:Jo,"play-btn-fill":62704,"play-btn":62705,"play-circle-fill":62706,"play-circle":62707,"play-fill":62708,play:Uo,"plug-fill":62710,plug:Wo,"plus-circle-dotted":62712,"plus-circle-fill":62713,"plus-circle":62714,"plus-square-dotted":62715,"plus-square-fill":62716,"plus-square":62717,plus:Qo,power:Ko,"printer-fill":62720,printer:Zo,"puzzle-fill":62722,puzzle:Xo,"question-circle-fill":62724,"question-circle":62725,"question-diamond-fill":62726,"question-diamond":62727,"question-octagon-fill":62728,"question-octagon":62729,"question-square-fill":62730,"question-square":62731,question:ei,rainbow:ti,"receipt-cutoff":62734,receipt:li,"reception-0":62736,"reception-1":62737,"reception-2":62738,"reception-3":62739,"reception-4":62740,"record-btn-fill":62741,"record-btn":62742,"record-circle-fill":62743,"record-circle":62744,"record-fill":62745,record:si,"record2-fill":62747,record2:oi,"reply-all-fill":62749,"reply-all":62750,"reply-fill":62751,reply:ii,"rss-fill":62753,rss:ai,rulers:ni,"save-fill":62756,save:ri,"save2-fill":62758,save2:di,scissors:ci,screwdriver:ui,search:fi,"segmented-nav":62763,server:pi,"share-fill":62765,share:mi,"shield-check":62767,"shield-exclamation":62768,"shield-fill-check":62769,"shield-fill-exclamation":62770,"shield-fill-minus":62771,"shield-fill-plus":62772,"shield-fill-x":62773,"shield-fill":62774,"shield-lock-fill":62775,"shield-lock":62776,"shield-minus":62777,"shield-plus":62778,"shield-shaded":62779,"shield-slash-fill":62780,"shield-slash":62781,"shield-x":62782,shield:gi,"shift-fill":62784,shift:hi,"shop-window":62786,shop:bi,shuffle:vi,"signpost-2-fill":62789,"signpost-2":62790,"signpost-fill":62791,"signpost-split-fill":62792,"signpost-split":62793,signpost:ki,"sim-fill":62795,sim:wi,"skip-backward-btn-fill":62797,"skip-backward-btn":62798,"skip-backward-circle-fill":62799,"skip-backward-circle":62800,"skip-backward-fill":62801,"skip-backward":62802,"skip-end-btn-fill":62803,"skip-end-btn":62804,"skip-end-circle-fill":62805,"skip-end-circle":62806,"skip-end-fill":62807,"skip-end":62808,"skip-forward-btn-fill":62809,"skip-forward-btn":62810,"skip-forward-circle-fill":62811,"skip-forward-circle":62812,"skip-forward-fill":62813,"skip-forward":62814,"skip-start-btn-fill":62815,"skip-start-btn":62816,"skip-start-circle-fill":62817,"skip-start-circle":62818,"skip-start-fill":62819,"skip-start":62820,slack:yi,"slash-circle-fill":62822,"slash-circle":62823,"slash-square-fill":62824,"slash-square":62825,slash:xi,sliders:$i,smartwatch:_i,snow:Pi,snow2:Ci,snow3:Si,"sort-alpha-down-alt":62832,"sort-alpha-down":62833,"sort-alpha-up-alt":62834,"sort-alpha-up":62835,"sort-down-alt":62836,"sort-down":62837,"sort-numeric-down-alt":62838,"sort-numeric-down":62839,"sort-numeric-up-alt":62840,"sort-numeric-up":62841,"sort-up-alt":62842,"sort-up":62843,soundwave:Di,"speaker-fill":62845,speaker:Oi,speedometer:qi,speedometer2:Mi,spellcheck:Ii,"square-fill":62850,"square-half":62851,square:Ti,stack:ji,"star-fill":62854,"star-half":62855,star:Bi,stars:Li,"stickies-fill":62858,stickies:Ri,"sticky-fill":62860,sticky:Ai,"stop-btn-fill":62862,"stop-btn":62863,"stop-circle-fill":62864,"stop-circle":62865,"stop-fill":62866,stop:Ni,"stoplights-fill":62868,stoplights:Ei,"stopwatch-fill":62870,stopwatch:Fi,subtract:zi,"suit-club-fill":62873,"suit-club":62874,"suit-diamond-fill":62875,"suit-diamond":62876,"suit-heart-fill":62877,"suit-heart":62878,"suit-spade-fill":62879,"suit-spade":62880,"sun-fill":62881,sun:Hi,sunglasses:Yi,"sunrise-fill":62884,sunrise:Gi,"sunset-fill":62886,sunset:Vi,"symmetry-horizontal":62888,"symmetry-vertical":62889,table:Ji,"tablet-fill":62891,"tablet-landscape-fill":62892,"tablet-landscape":62893,tablet:Ui,"tag-fill":62895,tag:Wi,"tags-fill":62897,tags:Qi,telegram:Ki,"telephone-fill":62900,"telephone-forward-fill":62901,"telephone-forward":62902,"telephone-inbound-fill":62903,"telephone-inbound":62904,"telephone-minus-fill":62905,"telephone-minus":62906,"telephone-outbound-fill":62907,"telephone-outbound":62908,"telephone-plus-fill":62909,"telephone-plus":62910,"telephone-x-fill":62911,"telephone-x":62912,telephone:Zi,"terminal-fill":62914,terminal:Xi,"text-center":62916,"text-indent-left":62917,"text-indent-right":62918,"text-left":62919,"text-paragraph":62920,"text-right":62921,"textarea-resize":62922,"textarea-t":62923,textarea:ea,"thermometer-half":62925,"thermometer-high":62926,"thermometer-low":62927,"thermometer-snow":62928,"thermometer-sun":62929,thermometer:ta,"three-dots-vertical":62931,"three-dots":62932,"toggle-off":62933,"toggle-on":62934,"toggle2-off":62935,"toggle2-on":62936,toggles:la,toggles2:sa,tools:oa,tornado:ia,"trash-fill":62941,trash:aa,"trash2-fill":62943,trash2:na,"tree-fill":62945,tree:ra,"triangle-fill":62947,"triangle-half":62948,triangle:da,"trophy-fill":62950,trophy:ca,"tropical-storm":62952,"truck-flatbed":62953,truck:ua,tsunami:fa,"tv-fill":62956,tv:pa,twitch:ma,twitter:ga,"type-bold":62960,"type-h1":62961,"type-h2":62962,"type-h3":62963,"type-italic":62964,"type-strikethrough":62965,"type-underline":62966,type:ha,"ui-checks-grid":62968,"ui-checks":62969,"ui-radios-grid":62970,"ui-radios":62971,"umbrella-fill":62972,umbrella:ba,union:va,"unlock-fill":62975,unlock:ka,"upc-scan":62977,upc:wa,upload:ya,"vector-pen":62980,"view-list":62981,"view-stacked":62982,"vinyl-fill":62983,vinyl:xa,voicemail:$a,"volume-down-fill":62986,"volume-down":62987,"volume-mute-fill":62988,"volume-mute":62989,"volume-off-fill":62990,"volume-off":62991,"volume-up-fill":62992,"volume-up":62993,vr:_a,"wallet-fill":62995,wallet:Pa,wallet2:Ca,watch:Sa,water:Da,whatsapp:Oa,"wifi-1":63001,"wifi-2":63002,"wifi-off":63003,wifi:qa,wind:Ma,"window-dock":63006,"window-sidebar":63007,window:Ia,wrench:Ta,"x-circle-fill":63010,"x-circle":63011,"x-diamond-fill":63012,"x-diamond":63013,"x-octagon-fill":63014,"x-octagon":63015,"x-square-fill":63016,"x-square":63017,x:ja,youtube:Ba,"zoom-in":63020,"zoom-out":63021,bank:La,bank2:Ra,"bell-slash-fill":63024,"bell-slash":63025,"cash-coin":63026,"check-lg":63027,coin:Aa,"currency-bitcoin":63029,"currency-dollar":63030,"currency-euro":63031,"currency-exchange":63032,"currency-pound":63033,"currency-yen":63034,"dash-lg":63035,"exclamation-lg":63036,"file-earmark-pdf-fill":63037,"file-earmark-pdf":63038,"file-pdf-fill":63039,"file-pdf":63040,"gender-ambiguous":63041,"gender-female":63042,"gender-male":63043,"gender-trans":63044,"headset-vr":63045,"info-lg":63046,mastodon:Na,messenger:Ea,"piggy-bank-fill":63049,"piggy-bank":63050,"pin-map-fill":63051,"pin-map":63052,"plus-lg":63053,"question-lg":63054,recycle:Fa,reddit:za,"safe-fill":63057,"safe2-fill":63058,safe2:Ha,"sd-card-fill":63060,"sd-card":63061,skype:Ya,"slash-lg":63063,translate:Ga,"x-lg":63065,safe:Va,apple:Ja,microsoft:Ua,windows:Wa,behance:Qa,dribbble:Ka,line:Za,medium:Xa,paypal:en,pinterest:tn,signal:ln,snapchat:sn,spotify:on,"stack-overflow":63079,strava:an,wordpress:nn,vimeo:rn,activity:dn,"easel2-fill":63084,easel2:cn,"easel3-fill":63086,easel3:un,fan:fn,fingerprint:pn,"graph-down-arrow":63090,"graph-up-arrow":63091,hypnotize:mn,magic:gn,"person-rolodex":63094,"person-video":63095,"person-video2":63096,"person-video3":63097,"person-workspace":63098,radioactive:hn,"webcam-fill":63100,webcam:bn,"yin-yang":63102,"bandaid-fill":63104,bandaid:vn,bluetooth:kn,"body-text":63107,boombox:wn,boxes:yn,"dpad-fill":63110,dpad:xn,"ear-fill":63112,ear:$n,"envelope-check-fill":63115,"envelope-check":63116,"envelope-dash-fill":63118,"envelope-dash":63119,"envelope-exclamation-fill":63121,"envelope-exclamation":63122,"envelope-plus-fill":63123,"envelope-plus":63124,"envelope-slash-fill":63126,"envelope-slash":63127,"envelope-x-fill":63129,"envelope-x":63130,"explicit-fill":63131,explicit:_n,git:Pn,infinity:Cn,"list-columns-reverse":63135,"list-columns":63136,meta:Sn,"nintendo-switch":63140,"pc-display-horizontal":63141,"pc-display":63142,"pc-horizontal":63143,pc:Dn,playstation:On,"plus-slash-minus":63146,"projector-fill":63147,projector:qn,"qr-code-scan":63149,"qr-code":63150,quora:Mn,quote:In,robot:Tn,"send-check-fill":63154,"send-check":63155,"send-dash-fill":63156,"send-dash":63157,"send-exclamation-fill":63159,"send-exclamation":63160,"send-fill":63161,"send-plus-fill":63162,"send-plus":63163,"send-slash-fill":63164,"send-slash":63165,"send-x-fill":63166,"send-x":63167,send:jn,steam:Bn,"terminal-dash":63171,"terminal-plus":63172,"terminal-split":63173,"ticket-detailed-fill":63174,"ticket-detailed":63175,"ticket-fill":63176,"ticket-perforated-fill":63177,"ticket-perforated":63178,ticket:Ln,tiktok:Rn,"window-dash":63181,"window-desktop":63182,"window-fullscreen":63183,"window-plus":63184,"window-split":63185,"window-stack":63186,"window-x":63187,xbox:An,ethernet:Nn,"hdmi-fill":63190,hdmi:En,"usb-c-fill":63192,"usb-c":63193,"usb-fill":63194,"usb-plug-fill":63195,"usb-plug":63196,"usb-symbol":63197,usb:Fn,"boombox-fill":63199,displayport:zn,"gpu-card":63202,memory:Hn,"modem-fill":63204,modem:Yn,"motherboard-fill":63206,motherboard:Gn,"optical-audio-fill":63208,"optical-audio":63209,"pci-card":63210,"router-fill":63211,router:Vn,"thunderbolt-fill":63215,thunderbolt:Jn,"usb-drive-fill":63217,"usb-drive":63218,"usb-micro-fill":63219,"usb-micro":63220,"usb-mini-fill":63221,"usb-mini":63222,"cloud-haze2":63223,"device-hdd-fill":63224,"device-hdd":63225,"device-ssd-fill":63226,"device-ssd":63227,"displayport-fill":63228,"mortarboard-fill":63229,mortarboard:Un,"terminal-x":63231,"arrow-through-heart-fill":63232,"arrow-through-heart":63233,"badge-sd-fill":63234,"badge-sd":63235,"bag-heart-fill":63236,"bag-heart":63237,"balloon-fill":63238,"balloon-heart-fill":63239,"balloon-heart":63240,balloon:Wn,"box2-fill":63242,"box2-heart-fill":63243,"box2-heart":63244,box2:Qn,"braces-asterisk":63246,"calendar-heart-fill":63247,"calendar-heart":63248,"calendar2-heart-fill":63249,"calendar2-heart":63250,"chat-heart-fill":63251,"chat-heart":63252,"chat-left-heart-fill":63253,"chat-left-heart":63254,"chat-right-heart-fill":63255,"chat-right-heart":63256,"chat-square-heart-fill":63257,"chat-square-heart":63258,"clipboard-check-fill":63259,"clipboard-data-fill":63260,"clipboard-fill":63261,"clipboard-heart-fill":63262,"clipboard-heart":63263,"clipboard-minus-fill":63264,"clipboard-plus-fill":63265,"clipboard-pulse":63266,"clipboard-x-fill":63267,"clipboard2-check-fill":63268,"clipboard2-check":63269,"clipboard2-data-fill":63270,"clipboard2-data":63271,"clipboard2-fill":63272,"clipboard2-heart-fill":63273,"clipboard2-heart":63274,"clipboard2-minus-fill":63275,"clipboard2-minus":63276,"clipboard2-plus-fill":63277,"clipboard2-plus":63278,"clipboard2-pulse-fill":63279,"clipboard2-pulse":63280,"clipboard2-x-fill":63281,"clipboard2-x":63282,clipboard2:Kn,"emoji-kiss-fill":63284,"emoji-kiss":63285,"envelope-heart-fill":63286,"envelope-heart":63287,"envelope-open-heart-fill":63288,"envelope-open-heart":63289,"envelope-paper-fill":63290,"envelope-paper-heart-fill":63291,"envelope-paper-heart":63292,"envelope-paper":63293,"filetype-aac":63294,"filetype-ai":63295,"filetype-bmp":63296,"filetype-cs":63297,"filetype-css":63298,"filetype-csv":63299,"filetype-doc":63300,"filetype-docx":63301,"filetype-exe":63302,"filetype-gif":63303,"filetype-heic":63304,"filetype-html":63305,"filetype-java":63306,"filetype-jpg":63307,"filetype-js":63308,"filetype-jsx":63309,"filetype-key":63310,"filetype-m4p":63311,"filetype-md":63312,"filetype-mdx":63313,"filetype-mov":63314,"filetype-mp3":63315,"filetype-mp4":63316,"filetype-otf":63317,"filetype-pdf":63318,"filetype-php":63319,"filetype-png":63320,"filetype-ppt":63322,"filetype-psd":63323,"filetype-py":63324,"filetype-raw":63325,"filetype-rb":63326,"filetype-sass":63327,"filetype-scss":63328,"filetype-sh":63329,"filetype-svg":63330,"filetype-tiff":63331,"filetype-tsx":63332,"filetype-ttf":63333,"filetype-txt":63334,"filetype-wav":63335,"filetype-woff":63336,"filetype-xls":63338,"filetype-xml":63339,"filetype-yml":63340,"heart-arrow":63341,"heart-pulse-fill":63342,"heart-pulse":63343,"heartbreak-fill":63344,heartbreak:Zn,hearts:Xn,"hospital-fill":63347,hospital:er,"house-heart-fill":63349,"house-heart":63350,incognito:tr,"magnet-fill":63352,magnet:lr,"person-heart":63354,"person-hearts":63355,"phone-flip":63356,plugin:sr,"postage-fill":63358,"postage-heart-fill":63359,"postage-heart":63360,postage:or,"postcard-fill":63362,"postcard-heart-fill":63363,"postcard-heart":63364,postcard:ir,"search-heart-fill":63366,"search-heart":63367,"sliders2-vertical":63368,sliders2:ar,"trash3-fill":63370,trash3:nr,valentine:rr,valentine2:dr,"wrench-adjustable-circle-fill":63374,"wrench-adjustable-circle":63375,"wrench-adjustable":63376,"filetype-json":63377,"filetype-pptx":63378,"filetype-xlsx":63379,"1-circle-fill":63382,"1-circle":63383,"1-square-fill":63384,"1-square":63385,"2-circle-fill":63388,"2-circle":63389,"2-square-fill":63390,"2-square":63391,"3-circle-fill":63394,"3-circle":63395,"3-square-fill":63396,"3-square":63397,"4-circle-fill":63400,"4-circle":63401,"4-square-fill":63402,"4-square":63403,"5-circle-fill":63406,"5-circle":63407,"5-square-fill":63408,"5-square":63409,"6-circle-fill":63412,"6-circle":63413,"6-square-fill":63414,"6-square":63415,"7-circle-fill":63418,"7-circle":63419,"7-square-fill":63420,"7-square":63421,"8-circle-fill":63424,"8-circle":63425,"8-square-fill":63426,"8-square":63427,"9-circle-fill":63430,"9-circle":63431,"9-square-fill":63432,"9-square":63433,"airplane-engines-fill":63434,"airplane-engines":63435,"airplane-fill":63436,airplane:cr,alexa:ur,alipay:fr,android:pr,android2:mr,"box-fill":63442,"box-seam-fill":63443,"browser-chrome":63444,"browser-edge":63445,"browser-firefox":63446,"browser-safari":63447,"c-circle-fill":63450,"c-circle":63451,"c-square-fill":63452,"c-square":63453,"capsule-pill":63454,capsule:gr,"car-front-fill":63456,"car-front":63457,"cassette-fill":63458,cassette:hr,"cc-circle-fill":63462,"cc-circle":63463,"cc-square-fill":63464,"cc-square":63465,"cup-hot-fill":63466,"cup-hot":63467,"currency-rupee":63468,dropbox:br,escape:63470,"fast-forward-btn-fill":63471,"fast-forward-btn":63472,"fast-forward-circle-fill":63473,"fast-forward-circle":63474,"fast-forward-fill":63475,"fast-forward":63476,"filetype-sql":63477,fire:vr,"google-play":63479,"h-circle-fill":63482,"h-circle":63483,"h-square-fill":63484,"h-square":63485,indent:kr,"lungs-fill":63487,lungs:wr,"microsoft-teams":63489,"p-circle-fill":63492,"p-circle":63493,"p-square-fill":63494,"p-square":63495,"pass-fill":63496,pass:yr,prescription:xr,prescription2:$r,"r-circle-fill":63502,"r-circle":63503,"r-square-fill":63504,"r-square":63505,"repeat-1":63506,repeat:_r,"rewind-btn-fill":63508,"rewind-btn":63509,"rewind-circle-fill":63510,"rewind-circle":63511,"rewind-fill":63512,rewind:Pr,"train-freight-front-fill":63514,"train-freight-front":63515,"train-front-fill":63516,"train-front":63517,"train-lightrail-front-fill":63518,"train-lightrail-front":63519,"truck-front-fill":63520,"truck-front":63521,ubuntu:Cr,unindent:Sr,unity:Dr,"universal-access-circle":63525,"universal-access":63526,virus:Or,virus2:qr,wechat:Mr,yelp:Ir,"sign-stop-fill":63531,"sign-stop-lights-fill":63532,"sign-stop-lights":63533,"sign-stop":63534,"sign-turn-left-fill":63535,"sign-turn-left":63536,"sign-turn-right-fill":63537,"sign-turn-right":63538,"sign-turn-slight-left-fill":63539,"sign-turn-slight-left":63540,"sign-turn-slight-right-fill":63541,"sign-turn-slight-right":63542,"sign-yield-fill":63543,"sign-yield":63544,"ev-station-fill":63545,"ev-station":63546,"fuel-pump-diesel-fill":63547,"fuel-pump-diesel":63548,"fuel-pump-fill":63549,"fuel-pump":63550,"0-circle-fill":63551,"0-circle":63552,"0-square-fill":63553,"0-square":63554,"rocket-fill":63555,"rocket-takeoff-fill":63556,"rocket-takeoff":63557,rocket:Tr,stripe:jr,subscript:Br,superscript:Lr,trello:Rr,"envelope-at-fill":63563,"envelope-at":63564,regex:Ar,"text-wrap":63566,"sign-dead-end-fill":63567,"sign-dead-end":63568,"sign-do-not-enter-fill":63569,"sign-do-not-enter":63570,"sign-intersection-fill":63571,"sign-intersection-side-fill":63572,"sign-intersection-side":63573,"sign-intersection-t-fill":63574,"sign-intersection-t":63575,"sign-intersection-y-fill":63576,"sign-intersection-y":63577,"sign-intersection":63578,"sign-merge-left-fill":63579,"sign-merge-left":63580,"sign-merge-right-fill":63581,"sign-merge-right":63582,"sign-no-left-turn-fill":63583,"sign-no-left-turn":63584,"sign-no-parking-fill":63585,"sign-no-parking":63586,"sign-no-right-turn-fill":63587,"sign-no-right-turn":63588,"sign-railroad-fill":63589,"sign-railroad":63590,"building-add":63591,"building-check":63592,"building-dash":63593,"building-down":63594,"building-exclamation":63595,"building-fill-add":63596,"building-fill-check":63597,"building-fill-dash":63598,"building-fill-down":63599,"building-fill-exclamation":63600,"building-fill-gear":63601,"building-fill-lock":63602,"building-fill-slash":63603,"building-fill-up":63604,"building-fill-x":63605,"building-fill":63606,"building-gear":63607,"building-lock":63608,"building-slash":63609,"building-up":63610,"building-x":63611,"buildings-fill":63612,buildings:Nr,"bus-front-fill":63614,"bus-front":63615,"ev-front-fill":63616,"ev-front":63617,"globe-americas":63618,"globe-asia-australia":63619,"globe-central-south-asia":63620,"globe-europe-africa":63621,"house-add-fill":63622,"house-add":63623,"house-check-fill":63624,"house-check":63625,"house-dash-fill":63626,"house-dash":63627,"house-down-fill":63628,"house-down":63629,"house-exclamation-fill":63630,"house-exclamation":63631,"house-gear-fill":63632,"house-gear":63633,"house-lock-fill":63634,"house-lock":63635,"house-slash-fill":63636,"house-slash":63637,"house-up-fill":63638,"house-up":63639,"house-x-fill":63640,"house-x":63641,"person-add":63642,"person-down":63643,"person-exclamation":63644,"person-fill-add":63645,"person-fill-check":63646,"person-fill-dash":63647,"person-fill-down":63648,"person-fill-exclamation":63649,"person-fill-gear":63650,"person-fill-lock":63651,"person-fill-slash":63652,"person-fill-up":63653,"person-fill-x":63654,"person-gear":63655,"person-lock":63656,"person-slash":63657,"person-up":63658,scooter:Er,"taxi-front-fill":63660,"taxi-front":63661,amd:Fr,"database-add":63663,"database-check":63664,"database-dash":63665,"database-down":63666,"database-exclamation":63667,"database-fill-add":63668,"database-fill-check":63669,"database-fill-dash":63670,"database-fill-down":63671,"database-fill-exclamation":63672,"database-fill-gear":63673,"database-fill-lock":63674,"database-fill-slash":63675,"database-fill-up":63676,"database-fill-x":63677,"database-fill":63678,"database-gear":63679,"database-lock":63680,"database-slash":63681,"database-up":63682,"database-x":63683,database:zr,"houses-fill":63685,houses:Hr,nvidia:Yr,"person-vcard-fill":63688,"person-vcard":63689,"sina-weibo":63690,"tencent-qq":63691,wikipedia:Gr,"alphabet-uppercase":62117,alphabet:Vr,amazon:Jr,"arrows-collapse-vertical":63120,"arrows-expand-vertical":63125,"arrows-vertical":63128,arrows:Ur,"ban-fill":63139,ban:Wr,bing:Qr,cake:Kr,cake2:Zr,cookie:Xr,copy:ed,crosshair:td,crosshair2:ld,"emoji-astonished-fill":63381,"emoji-astonished":63386,"emoji-grimace-fill":63387,"emoji-grimace":63392,"emoji-grin-fill":63393,"emoji-grin":63398,"emoji-surprise-fill":63399,"emoji-surprise":63404,"emoji-tear-fill":63405,"emoji-tear":63410,"envelope-arrow-down-fill":63411,"envelope-arrow-down":63416,"envelope-arrow-up-fill":63417,"envelope-arrow-up":63422,feather:sd,feather2:od,"floppy-fill":63429,floppy:id,"floppy2-fill":63449,floppy2:ad,gitlab:nd,highlighter:rd,"marker-tip":63490,"nvme-fill":63491,nvme:dd,opencollective:cd,"pci-card-network":63693,"pci-card-sound":63694,radar:ud,"send-arrow-down-fill":63696,"send-arrow-down":63697,"send-arrow-up-fill":63698,"send-arrow-up":63699,"sim-slash-fill":63700,"sim-slash":63701,sourceforge:fd,substack:pd,"threads-fill":63704,threads:md,transparency:gd,"twitter-x":63707,"type-h4":63708,"type-h5":63709,"type-h6":63710,"backpack-fill":63711,backpack:hd,"backpack2-fill":63713,backpack2:bd,"backpack3-fill":63715,backpack3:vd,"backpack4-fill":63717,backpack4:kd,brilliance:wd,"cake-fill":63720,"cake2-fill":63721,"duffle-fill":63722,duffle:yd,exposure:xd,"gender-neuter":63725,highlights:$d,"luggage-fill":63727,luggage:_d,"mailbox-flag":63729,"mailbox2-flag":63730,"noise-reduction":63731,"passport-fill":63732,passport:Pd,"person-arms-up":63734,"person-raised-hand":63735,"person-standing-dress":63736,"person-standing":63737,"person-walking":63738,"person-wheelchair":63739,shadows:Cd,"suitcase-fill":63741,"suitcase-lg-fill":63742,"suitcase-lg":63743,suitcase:Sd,"suitcase2-fill":63745,suitcase2:Dd,vignette:Od,bluesky:qd,tux:Md,"beaker-fill":63749,beaker:Id,"flask-fill":63751,"flask-florence-fill":63752,"flask-florence":63753,flask:Td,"leaf-fill":63755,leaf:jd,"measuring-cup-fill":63757,"measuring-cup":63758,"unlock2-fill":63759,unlock2:Bd,"battery-low":63761,anthropic:Ld,"apple-music":63763,claude:Rd,openai:Ad,perplexity:Nd,css:Ed,javascript:Fd,typescript:zd,"fork-knife":63770,"globe-americas-fill":63771,"globe-asia-australia-fill":63772,"globe-central-south-asia-fill":63773,"globe-europe-africa-fill":63774},Hd={class:"border rounded-3 p-2"},Yd={class:"align-items-center overflow-scroll d-flex gap-2 position-relative"},Gd=["aria-label"],Vd={key:1,style:{"white-space":"nowrap"}},Jd=["disabled","placeholder"],Ud=U({__name:"peerTagSetting",props:["group","edit","groupId"],emits:["delete","iconPickerOpen","colorPickerOpen","toggle"],setup(l,{emit:t}){const a=ie(),s=l,m=t,r=q(s.group.GroupName),u=()=>{a.Filter.HiddenTags.includes(s.groupId)?a.Filter.HiddenTags=a.Filter.HiddenTags.filter(_=>_!==s.groupId):a.Filter.HiddenTags.push(s.groupId)};return(_,g)=>(o(),c("div",Hd,[e("div",Yd,[e("button",{onClick:g[0]||(g[0]=d=>m("iconPickerOpen")),"aria-label":"Pick icon button",class:L([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"])},[l.group.Icon?(o(),c("i",{key:0,class:L(["bi","bi-"+l.group.Icon]),"aria-label":l.group.Icon},null,10,Gd)):(o(),c("span",Vd,[n(x,{t:"No Icon"})]))],2),e("button",{class:L([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"]),"aria-label":"Pick color button",onClick:g[1]||(g[1]=d=>m("colorPickerOpen")),style:pe({"background-color":l.group.BackgroundColor,color:j(a).colorText(l.group.BackgroundColor)})},[...g[6]||(g[6]=[e("i",{class:"bi bi-eyedropper"},null,-1)])],6),de(e("input",{disabled:!l.edit,"onUpdate:modelValue":g[2]||(g[2]=d=>r.value=d),onChange:g[3]||(g[3]=d=>l.group.GroupName=r.value),placeholder:j(H)("Tag Name"),class:"form-control form-control-sm p-2 rounded-2 w-100"},null,40,Jd),[[ke,r.value]]),l.edit?(o(),c("button",{key:0,"aria-label":"Delete Tag Button",onClick:g[4]||(g[4]=d=>m("delete")),class:"rounded-2 border p-2 btn btn-sm btn-outline-danger"},[...g[7]||(g[7]=[e("i",{class:"bi bi-trash-fill"},null,-1)])])):(o(),c("button",{key:1,"aria-label":"Show / Hide Button",style:{"white-space":"nowrap"},class:L([{active:!j(a).Filter.HiddenTags.includes(l.groupId)},"rounded-2 p-2 btn btn-sm btn-outline-primary"]),onClick:g[5]||(g[5]=d=>u())},[e("i",{class:L(["bi",[j(a).Filter.HiddenTags.includes(l.groupId)?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)],2))])]))}}),Wd={class:"w-100 bg-body top-0 border rounded-2"},Qd={class:"p-2 d-flex align-items-center gap-2 border-bottom"},Kd=["placeholder"],Zd={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},Xd=["onClick"],ec={class:"p-2 border-top d-flex gap-2"},tc=U({__name:"peerTagIconPicker",props:["group"],emits:["close","select"],setup(l,{emit:t}){const a=t;ne(()=>{let r=document.querySelector(".icon-grid div.active");r&&(r.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)});const s=q(""),m=N(()=>s.value?[...Object.keys(ve).filter(r=>r.includes(s.value.toLowerCase()))]:Object.keys(ve));return(r,u)=>(o(),c("div",Wd,[e("div",Qd,[u[3]||(u[3]=e("label",null,[e("i",{class:"bi bi-search"})],-1)),de(e("input",{"onUpdate:modelValue":u[0]||(u[0]=_=>s.value=_),placeholder:j(H)("Search Icon"),class:"form-control form-control-sm rounded-2"},null,8,Kd),[[ke,s.value]])]),e("div",Zd,[(o(!0),c(F,null,G(m.value,_=>(o(),c("div",{class:L(["rounded-1 border icon d-flex",{"text-bg-success active":l.group.Icon===_}]),style:{cursor:"pointer"},key:_,onClick:g=>l.group.Icon=_},[e("i",{class:L(["bi m-auto","bi-"+_])},null,2)],10,Xd))),128))]),e("div",ec,[e("button",{onClick:u[1]||(u[1]=_=>l.group.Icon=""),class:"btn btn-sm btn-secondary rounded-2 ms-auto"},[n(x,{t:"Remove Icon"})]),e("button",{class:"btn btn-sm btn-success rounded-2",onClick:u[2]||(u[2]=_=>a("close"))},[n(x,{t:"Done"})])])]))}}),lc=K(tc,[["__scopeId","data-v-3c48f50e"]]),sc={class:"w-100 bg-body top-0 border rounded-2"},oc={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},ic=["aria-label","onClick"],ac={class:"p-2 border-top d-flex gap-2"},nc=U({__name:"peerTagColorPicker",props:["colors","group"],emits:["close","select",""],setup(l,{emit:t}){const a=t;q("");const s=ie();return ne(()=>{let m=document.querySelector(".icon-grid div.active");m&&(m.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)}),(m,r)=>(o(),c("div",sc,[e("div",oc,[(o(!0),c(F,null,G(l.colors,(u,_)=>(o(),c("div",{class:L(["rounded-1 border icon d-flex",{active:l.group.BackgroundColor===u}]),style:pe([{cursor:"pointer"},{"background-color":u}]),"aria-label":_,key:u,onClick:g=>l.group.BackgroundColor=u},[l.group.BackgroundColor===u?(o(),c("i",{key:0,style:pe({color:j(s).colorText(u)}),class:"bi bi-check-circle m-auto"},null,4)):O("",!0)],14,ic))),128))]),e("div",ac,[e("button",{class:"btn btn-sm btn-success rounded-2 ms-auto",onClick:r[0]||(r[0]=u=>a("close"))},[n(x,{t:"Done"})])])]))}}),rc=K(nc,[["__scopeId","data-v-accdf15e"]]),dc={class:"card shadow rounded-3",id:"peerTag"},cc={class:"card-header"},uc={class:"form-check form-switch"},fc={class:"form-check-label",for:"showAllPeers"},pc={class:"card-body p-2"},mc={key:0},gc={key:0,class:"text-center text-muted"},hc={key:1,class:"d-flex flex-column gap-2"},bc={class:"card-footer p-2 d-flex gap-2"},vc=U({__name:"peerTag",props:["configuration"],emits:["close","update"],setup(l,{emit:t}){const a={"blue-100":"#cfe2ff","blue-200":"#9ec5fe","blue-300":"#6ea8fe","blue-400":"#3d8bfd","blue-500":"#0d6efd","blue-600":"#0a58ca","blue-700":"#084298","blue-800":"#052c65","blue-900":"#031633","indigo-100":"#e0cffc","indigo-200":"#c29ffa","indigo-300":"#a370f7","indigo-400":"#8540f5","indigo-500":"#6610f2","indigo-600":"#520dc2","indigo-700":"#3d0a91","indigo-800":"#290661","indigo-900":"#140330","purple-100":"#e2d9f3","purple-200":"#c5b3e6","purple-300":"#a98eda","purple-400":"#8c68cd","purple-500":"#6f42c1","purple-600":"#59359a","purple-700":"#432874","purple-800":"#2c1a4d","purple-900":"#160d27","pink-100":"#f7d6e6","pink-200":"#efadce","pink-300":"#e685b5","pink-400":"#de5c9d","pink-500":"#d63384","pink-600":"#ab296a","pink-700":"#801f4f","pink-800":"#561435","pink-900":"#2b0a1a","red-100":"#f8d7da","red-200":"#f1aeb5","red-300":"#ea868f","red-400":"#e35d6a","red-500":"#dc3545","red-600":"#b02a37","red-700":"#842029","red-800":"#58151c","red-900":"#2c0b0e","orange-100":"#ffe5d0","orange-200":"#fecba1","orange-300":"#feb272","orange-400":"#fd9843","orange-500":"#fd7e14","orange-600":"#ca6510","orange-700":"#984c0c","orange-800":"#653208","orange-900":"#331904","yellow-100":"#fff3cd","yellow-200":"#ffe69c","yellow-300":"#ffda6a","yellow-400":"#ffcd39","yellow-500":"#ffc107","yellow-600":"#cc9a06","yellow-700":"#997404","yellow-800":"#664d03","yellow-900":"#332701","green-100":"#d1e7dd","green-200":"#a3cfbb","green-300":"#75b798","green-400":"#479f76","green-500":"#198754","green-600":"#146c43","green-700":"#0f5132","green-800":"#0a3622","green-900":"#051b11","teal-100":"#d2f4ea","teal-200":"#a6e9d5","teal-300":"#79dfc1","teal-400":"#4dd4ac","teal-500":"#20c997","teal-600":"#1aa179","teal-700":"#13795b","teal-800":"#0d503c","teal-900":"#06281e","cyan-100":"#cff4fc","cyan-200":"#9eeaf9","cyan-300":"#6edff6","cyan-400":"#3dd5f3","cyan-500":"#0dcaf0","cyan-600":"#0aa2c0","cyan-700":"#087990","cyan-800":"#055160","cyan-900":"#032830","gray-100":"#f8f9fa","gray-200":"#e9ecef","gray-300":"#dee2e6","gray-400":"#ced4da","gray-500":"#adb5bd","gray-600":"#6c757d","gray-700":"#495057","gray-800":"#343a40","gray-900":"#212529",white:"#fff",black:"#000"},s=ie(),m=l,r=_e({...m.configuration.Info.PeerGroups}),u=()=>{r[ze().toString()]={GroupName:"",Description:"",BackgroundColor:_(),Icon:g(),Peers:[]}},_=()=>{const S=Object.keys(a),b=Math.floor(Math.random()*S.length)+1;return a[S[b]]},g=()=>{const S=Object.keys(ve),b=Math.floor(Math.random()*S.length)+1;return S[b]},d=q(!1),f=q(!1),v=q(""),w=t;se(()=>r,S=>{X("/api/updateWireguardConfigurationInfo",{Name:m.configuration.Name,Key:"PeerGroups",Value:S},b=>{b.status&&w("update",r)})},{deep:!0});const $=q(!1);return(S,b)=>(o(),c("div",dc,[e("div",cc,[e("div",uc,[de(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"showAllPeers","onUpdate:modelValue":b[0]||(b[0]=y=>j(s).Filter.ShowAllPeersWhenHiddenTags=y)},null,512),[[Pe,j(s).Filter.ShowAllPeersWhenHiddenTags]]),e("label",fc,[e("small",null,[n(x,{t:"Show All Peers"})])])])]),e("div",pc,[n(ae,{name:"zoom",mode:"out-in"},{default:W(()=>[!d.value&&!f.value?(o(),c("div",mc,[Object.keys(r).length===0?(o(),c("div",gc,[e("small",null,[n(x,{t:"No tag"})])])):(o(),c("div",hc,[n(me,{name:"slide-fade"},{default:W(()=>[(o(!0),c(F,null,G(r,(y,C)=>(o(),I(Ud,{groupId:C,onDelete:M=>{delete r[C],j(s).Filter.HiddenTags=j(s).Filter.HiddenTags.filter(z=>z!==C)},onColorPickerOpen:M=>{f.value=!0,v.value=C},onIconPickerOpen:M=>{d.value=!0,v.value=C},key:C,edit:$.value,group:y},null,8,["groupId","onDelete","onColorPickerOpen","onIconPickerOpen","edit","group"]))),128))]),_:1})]))])):d.value?(o(),I(lc,{key:1,onClose:b[1]||(b[1]=y=>d.value=!1),group:r[v.value]},null,8,["group"])):f.value?(o(),I(rc,{key:2,colors:a,onClose:b[2]||(b[2]=y=>f.value=!1),group:r[v.value]},null,8,["group"])):O("",!0)]),_:1})]),e("div",bc,[$.value?(o(),c(F,{key:1},[e("button",{onClick:u,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[e("small",null,[b[7]||(b[7]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),n(x,{t:"Tag"})])]),e("button",{onClick:b[5]||(b[5]=y=>$.value=!1),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3 ms-auto"},[e("small",null,[n(x,{t:"Done"})])])],64)):(o(),c(F,{key:0},[e("button",{onClick:b[3]||(b[3]=y=>w("close")),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[e("small",null,[n(x,{t:"Close"})])]),e("button",{onClick:b[4]||(b[4]=y=>$.value=!0),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 ms-auto"},[e("small",null,[b[6]||(b[6]=e("i",{class:"bi bi-pen me-2"},null,-1)),n(x,{t:"Edit"})])])],64))])]))}}),kc=K(vc,[["__scopeId","data-v-ab3e5c4e"]]),wc={name:"peerSearch",components:{PeerTag:kc,LocaleText:x},setup(){const l=oe(),t=ie();return{store:l,wireguardConfigurationStore:t}},props:{configuration:Object,displayTags:Array},data(){return{sort:{status:H("Status"),name:H("Name"),allowed_ip:H("Allowed IPs"),restricted:H("Restricted")},interval:{5e3:H("5 Seconds"),1e4:H("10 Seconds"),3e4:H("30 Seconds"),6e4:H("1 Minutes")},display:{grid:H("Grid"),list:H("List")},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1,tagManager:!1}},methods:{updateSort(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:l},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:l},t=>{t.status&&this.store.getConfiguration()})},updateDisplay(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_peer_list_display",value:l},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){ee(`/api/downloadAllPeers/${this.configuration.Name}`,{},l=>{l.data.forEach(t=>{t.fileName=t.fileName+".conf"}),window.wireguard.generateZipFiles(l,this.configuration.Name)})}}},yc={class:"d-flex flex-column gap-2 my-4"},xc={class:"d-flex gap-2 peerSearchContainer"},$c={class:"dropdown"},_c={"data-bs-toggle":"dropdown",class:"btn w-100 btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Pc={class:"badge text-bg-primary ms-2"},Cc={class:"dropdown-menu rounded-3"},Sc=["onClick"],Dc={class:"ms-auto"},Oc={key:0,class:"bi bi-check-circle-fill"},qc={class:"dropdown"},Mc={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Ic={class:"badge text-bg-primary ms-2"},Tc={class:"dropdown-menu rounded-3"},jc=["onClick"],Bc={class:"ms-auto"},Lc={key:0,class:"bi bi-check-circle-fill"},Rc={class:"dropdown"},Ac={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Nc={class:"badge text-bg-primary ms-2"},Ec={class:"dropdown-menu rounded-3"},Fc=["onClick"],zc={class:"ms-auto"},Hc={key:0,class:"bi bi-check-circle-fill"},Yc={class:"position-relative"};function Gc(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerTag");return o(),c("div",yc,[e("div",xc,[e("div",$c,[e("button",_c,[t[7]||(t[7]=e("i",{class:"bi bi-sort-up me-2"},null,-1)),n(u,{t:"Sort By"}),e("span",Pc,D(this.sort[s.store.Configuration.Server.dashboard_sort]),1)]),e("ul",Cc,[(o(!0),c(F,null,G(this.sort,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateSort(d)},[e("small",null,D(g),1),e("small",Dc,[s.store.Configuration.Server.dashboard_sort===d?(o(),c("i",Oc)):O("",!0)])],8,Sc)]))),256))])]),e("div",qc,[e("button",Mc,[t[8]||(t[8]=e("i",{class:"bi bi-arrow-repeat me-2"},null,-1)),n(u,{t:"Refresh Interval"}),e("span",Ic,D(this.interval[s.store.Configuration.Server.dashboard_refresh_interval]),1)]),e("ul",Tc,[(o(!0),c(F,null,G(this.interval,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateRefreshInterval(d)},[e("small",null,D(g),1),e("small",Bc,[s.store.Configuration.Server.dashboard_refresh_interval===d?(o(),c("i",Lc)):O("",!0)])],8,jc)]))),256))])]),e("div",Rc,[e("button",Ac,[e("i",{class:L(["bi me-2","bi-"+s.store.Configuration.Server.dashboard_peer_list_display])},null,2),n(u,{t:"Display"}),e("span",Nc,D(this.display[s.store.Configuration.Server.dashboard_peer_list_display]),1)]),e("ul",Ec,[(o(!0),c(F,null,G(this.display,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateDisplay(d)},[e("small",null,D(g),1),e("small",zc,[s.store.Configuration.Server.dashboard_peer_list_display===d?(o(),c("i",Hc)):O("",!0)])],8,Fc)]))),256))])]),e("div",Yc,[e("button",{onClick:t[0]||(t[0]=g=>m.tagManager=!m.tagManager),class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},[t[9]||(t[9]=e("i",{class:"bi me-2 bi-tag"},null,-1)),n(u,{t:"Tags"})]),n(ae,{name:"slide-fade"},{default:W(()=>[this.tagManager?(o(),I(_,{key:0,onUpdate:t[1]||(t[1]=g=>a.configuration.Info.PeerGroups=g),onClose:t[2]||(t[2]=g=>this.tagManager=!1),configuration:a.configuration},null,8,["configuration"])):O("",!0)]),_:1})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle ms-lg-auto",onClick:t[3]||(t[3]=g=>this.$emit("search"))},[t[10]||(t[10]=e("i",{class:"bi bi-search me-2"},null,-1)),n(u,{t:"Search"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[4]||(t[4]=g=>this.downloadAllPeer())},[t[11]||(t[11]=e("i",{class:"bi bi-download me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Download All",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[5]||(t[5]=g=>this.$emit("selectPeers"))},[t[12]||(t[12]=e("i",{class:"bi bi-check2-all me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Select Peers",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[6]||(t[6]=g=>this.$emit("jobsAll")),type:"button","aria-expanded":"false"},[t[13]||(t[13]=e("i",{class:"bi bi-person-walking me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Active Jobs",class:"d-sm-block d-lg-none d-xl-block"})])])])}const Vc=K(wc,[["render",Gc],["__scopeId","data-v-71502547"]]),Jc={key:0,class:"position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow"},Uc={__name:"peerSettingsDropdownTool",props:{icon:String,title:String},emits:["click"],setup(l,{emit:t}){const a=t,s=q(!1);return(m,r)=>(o(),c("a",{class:"dropdown-item text-center px-0 rounded-3 position-relative",role:"button",onMouseenter:r[0]||(r[0]=u=>s.value=!0),onMouseleave:r[1]||(r[1]=u=>s.value=!1),onClick:r[2]||(r[2]=u=>a("click"))},[e("i",{class:L(["me-auto bi",l.icon])},null,2),n(ae,{name:"zoomReversed"},{default:W(()=>[s.value?(o(),c("span",Jc,[e("small",null,[n(x,{t:l.title},null,8,["t"])])])):O("",!0)]),_:1})],32))}},Wc=K(Uc,[["__scopeId","data-v-d4e41a56"]]),Qc={class:"mb-0"},Ne=U({__name:"peerTagBadge",props:["BackgroundColor","GroupName","Icon"],setup(l){const t=ie();return(a,s)=>(o(),c("h6",Qc,[e("span",{class:"badge rounded-3 shadow",style:pe({"background-color":l.BackgroundColor,color:j(t).colorText(l.BackgroundColor)})},[l.Icon?(o(),c("i",{key:0,class:L(["bi",[l.Icon,l.GroupName?"me-2":""]])},null,2)):O("",!0),E(D(l.GroupName),1)],4)]))}}),Kc={class:"dropdown-menu"},Zc=["onClick"],Xc={key:0,class:"bi bi-check-circle-fill"},e6={key:1,class:"bi bi-circle"},t6=U({__name:"peerTagSelectDropdown",props:["Peer","ConfigurationInfo"],emits:["update"],setup(l,{emit:t}){const a=l,s=_e({...a.ConfigurationInfo.Info.PeerGroups}),m=t;se(()=>s,u=>{X("/api/updateWireguardConfigurationInfo",{Name:a.ConfigurationInfo.Name,Key:"PeerGroups",Value:u},_=>{_.status&&m("update",s)})},{deep:!0});const r=(u,_)=>{s[u].Peers.includes(_)?s[u].Peers=s[u].Peers.filter(g=>g!==_):s[u].Peers.push(_)};return(u,_)=>(o(),c("ul",Kc,[(o(!0),c(F,null,G(s,(g,d)=>(o(),c("li",null,[e("a",{role:"button",onClick:f=>r(d,l.Peer.id),class:"dropdown-item d-flex align-items-center"},[g.Peers.includes(l.Peer.id)?(o(),c("i",Xc)):(o(),c("i",e6)),n(Ne,{class:"ms-auto",BackgroundColor:g.BackgroundColor,GroupName:g.GroupName,Icon:"bi-"+g.Icon},null,8,["BackgroundColor","GroupName","Icon"])],8,Zc)]))),256))]))}}),l6={name:"peerSettingsDropdown",components:{PeerTagSelectDropdown:t6,PeerSettingsDropdownTool:Wc,LocaleText:x},setup(){return{dashboardStore:oe()}},props:{Peer:Object,ConfigurationInfo:Object,dropup:Boolean},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1,confirmDelete:!1,height:0}},mounted(){this.height=document.querySelector("#peerDropdown").clientHeight},methods:{downloadPeer(){ee("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},l=>{if(l.status){const t=new Blob([l.data.file],{type:"text/conf"}),a=URL.createObjectURL(t),s=`${l.data.fileName}.conf`,m=document.createElement("a");m.href=a,m.download=s,m.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",l.message,"danger")})},downloadQRCode(l){ee("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},t=>{t.status?this.$emit(l,t.data.file):this.dashboardStore.newMessage("Server",t.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,X(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,X(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,X(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},s6={style:{"font-size":"0.8rem","padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},o6={class:"text-body d-flex"},i6={class:"ms-auto"},a6={key:1},n6={class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},r6={key:2},d6={class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},c6={class:"dropdown dropstart"},u6={class:"dropdown-item d-flex",role:"button","data-bs-auto-close":"outside","data-bs-toggle":"dropdown"},f6={key:1,class:"confirmDelete"},p6={style:{"white-space":"break-spaces"},class:"mb-2 d-block fw-bold"},m6={class:"d-flex w-100 gap-2"},g6=["disabled"],h6=["disabled"],b6={key:1};function v6(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerSettingsDropdownTool"),g=le("PeerTagSelectDropdown");return o(),c("ul",{class:L([{dropup:a.dropup},"dropdown-menu mt-2 shadow-lg d-block rounded-3"]),id:"peerDropdown",style:{"max-width":"200px"}},[this.Peer.restricted?(o(),c("li",b6,[e("a",{class:L(["dropdown-item d-flex text-warning",{disabled:this.allowAccessBtnDisabled}]),onClick:t[12]||(t[12]=d=>this.allowAccessPeer()),role:"button"},[t[28]||(t[28]=e("i",{class:"me-auto bi bi-unlock"},null,-1)),this.allowAccessBtnDisabled?(o(),I(u,{key:1,t:"Allowing Access..."})):(o(),I(u,{key:0,t:"Allow Access"}))],2)])):(o(),c(F,{key:0},[this.confirmDelete?(o(),c("li",f6,[e("p",p6,[n(u,{t:"Are you sure to delete this peer?"})]),e("div",m6,[e("button",{onClick:t[10]||(t[10]=d=>this.deletePeer()),disabled:this.deleteBtnDisabled,class:"flex-grow-1 ms-auto btn btn-sm bg-danger"},[n(u,{t:"Yes"})],8,g6),e("button",{disabled:this.deleteBtnDisabled,onClick:t[11]||(t[11]=d=>this.confirmDelete=!1),class:"flex-grow-1 btn btn-sm bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle"},[n(u,{t:"No"})],8,h6)])])):(o(),c(F,{key:0},[this.Peer.status==="running"?(o(),c(F,{key:0},[e("li",s6,[e("span",o6,[t[13]||(t[13]=e("i",{class:"bi bi-box-arrow-in-right"},null,-1)),e("span",i6,D(this.Peer.endpoint),1)])]),t[14]||(t[14]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1))],64)):O("",!0),this.Peer.private_key?(o(),c("li",r6,[t[15]||(t[15]=e("div",{class:"text-center text-muted"},null,-1)),e("div",d6,[n(_,{icon:"bi-download",title:"Download",onClick:t[0]||(t[0]=d=>this.downloadPeer())}),n(_,{icon:"bi-qr-code",title:"QR Code",onClick:t[1]||(t[1]=d=>this.$emit("qrcode"))}),n(_,{icon:"bi-body-text",title:"Configuration File",onClick:t[2]||(t[2]=d=>this.$emit("configurationFile"))}),n(_,{icon:"bi-share",title:"Share Peer",onClick:t[3]||(t[3]=d=>this.$emit("share"))})])])):(o(),c("li",a6,[e("small",n6,[n(u,{t:"Download & QR Code is not available due to no private key set for this peer"})])])),t[26]||(t[26]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=d=>this.$emit("setting"))},[t[16]||(t[16]=e("i",{class:"me-auto bi bi-pen"},null,-1)),t[17]||(t[17]=E()),n(u,{t:"Peer Settings"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[5]||(t[5]=d=>this.$emit("jobs"))},[t[18]||(t[18]=e("i",{class:"me-auto bi bi-app-indicator"},null,-1)),t[19]||(t[19]=E()),n(u,{t:"Schedule Jobs"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[6]||(t[6]=d=>this.$emit("assign"))},[t[20]||(t[20]=e("i",{class:"me-auto bi bi-diagram-2"},null,-1)),t[21]||(t[21]=E()),n(u,{t:"Assign Peer"})])]),e("li",c6,[e("a",u6,[t[22]||(t[22]=e("i",{class:"me-auto bi bi-tag"},null,-1)),t[23]||(t[23]=E()),n(u,{t:"Tag Peer"})]),n(g,{onUpdate:t[7]||(t[7]=d=>this.$emit("refresh")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo},null,8,["Peer","ConfigurationInfo"])]),t[27]||(t[27]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:L(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[8]||(t[8]=d=>this.restrictPeer()),role:"button"},[t[24]||(t[24]=e("i",{class:"me-auto bi bi-lock"},null,-1)),this.restrictBtnDisabled?(o(),I(u,{key:1,t:"Restricting..."})):(o(),I(u,{key:0,t:"Restrict Access"}))],2)]),e("li",null,[e("a",{class:L(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[9]||(t[9]=d=>this.confirmDelete=!0),role:"button"},[t[25]||(t[25]=e("i",{class:"me-auto bi bi-trash"},null,-1)),this.deleteBtnDisabled?(o(),I(u,{key:1,t:"Deleting..."})):(o(),I(u,{key:0,t:"Delete"}))],2)])],64))],64))],2)}const k6=K(l6,[["render",v6],["__scopeId","data-v-18549c26"]]),w6={name:"peer",methods:{GetLocale:H},components:{PeerTagBadge:Ne,LocaleText:x,PeerSettingsDropdown:k6},props:{Peer:Object,ConfigurationInfo:Object,order:Number,searchPeersLength:Number},setup(){const l=q(null),t=q(!1),a=oe();return Je(l,s=>{t.value=!1}),{target:l,subMenuOpened:t,dashboardStore:a}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake},getDropup(){return this.searchPeersLength-this.order<=3}}},y6=["id"],x6={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},$6={key:0,style:{"font-size":"0.8rem",color:"#28a745"},class:"d-flex align-items-center"},_6={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},P6={class:"text-primary"},C6={class:"text-success"},S6={key:0,class:"text-secondary"},D6={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},O6={class:"card-body pt-1",style:{"font-size":"0.9rem"}},q6={class:"text-muted"},M6={class:"d-block"},I6={class:"text-muted"},T6={class:"d-block"},j6={class:"d-flex align-items-center"};function B6(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerTagBadge"),g=le("PeerSettingsDropdown");return o(),c("div",{class:L(["card shadow-sm rounded-3 peerCard",{"border-warning":a.Peer.restricted}]),id:"peer_"+a.Peer.id},[e("div",null,[a.Peer.restricted?(o(),c("div",D6,[t[15]||(t[15]=e("i",{class:"bi-lock-fill me-2"},null,-1)),n(u,{t:"Access Restricted"})])):(o(),c("div",x6,[e("div",{class:L(["dot ms-0",{active:a.Peer.status==="running"}])},null,2),s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"&&a.Peer.status==="running"?(o(),c("div",$6,[t[9]||(t[9]=e("i",{class:"bi bi-box-arrow-in-right me-2"},null,-1)),e("span",null,D(a.Peer.endpoint),1)])):O("",!0),e("div",_6,[e("span",P6,[t[10]||(t[10]=e("i",{class:"bi bi-arrow-down"},null,-1)),e("strong",null,D((a.Peer.cumu_receive+a.Peer.total_receive).toFixed(4)),1),t[11]||(t[11]=E(" GB ",-1))]),e("span",C6,[t[12]||(t[12]=e("i",{class:"bi bi-arrow-up"},null,-1)),e("strong",null,D((a.Peer.cumu_sent+a.Peer.total_sent).toFixed(4)),1),t[13]||(t[13]=E(" GB ",-1))]),a.Peer.latest_handshake!=="No Handshake"?(o(),c("span",S6,[t[14]||(t[14]=e("i",{class:"bi bi-arrows-angle-contract"},null,-1)),E(" "+D(r.getLatestHandshake)+" ago ",1)])):O("",!0)])]))]),e("div",O6,[e("h6",null,D(a.Peer.name?a.Peer.name:r.GetLocale("Untitled Peer")),1),e("div",{class:L(["d-flex",[s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:L({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",q6,[n(u,{t:"Public Key"})]),e("small",M6,[e("samp",null,D(a.Peer.id),1)])],2),e("div",{class:L({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",I6,[n(u,{t:"Allowed IPs"})]),e("small",T6,[e("samp",null,D(a.Peer.allowed_ip),1)])],2),e("div",{class:L(["d-flex align-items-center gap-1",{"ms-auto":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"}])},[(o(!0),c(F,null,G(Object.values(a.ConfigurationInfo.Info.PeerGroups).filter(d=>d.Peers.includes(a.Peer.id)),d=>(o(),I(_,{BackgroundColor:d.BackgroundColor,GroupName:d.GroupName,Icon:"bi-"+d.Icon},null,8,["BackgroundColor","GroupName","Icon"]))),256)),e("div",{class:L(["ms-auto px-2 rounded-3 subMenuBtn position-relative",{active:this.subMenuOpened}])},[e("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=d=>this.subMenuOpened=!0)},[...t[16]||(t[16]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-three-dots"})],-1)])]),n(ae,{name:"slide-fade"},{default:W(()=>[this.subMenuOpened?(o(),I(g,{key:0,dropup:r.getDropup,onQrcode:t[1]||(t[1]=d=>this.$emit("qrcode")),onConfigurationFile:t[2]||(t[2]=d=>this.$emit("configurationFile")),onSetting:t[3]||(t[3]=d=>this.$emit("setting")),onJobs:t[4]||(t[4]=d=>this.$emit("jobs")),onRefresh:t[5]||(t[5]=d=>this.$emit("refresh")),onShare:t[6]||(t[6]=d=>this.$emit("share")),onAssign:t[7]||(t[7]=d=>this.$emit("assign")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo,ref:"target"},null,8,["dropup","Peer","ConfigurationInfo"])):O("",!0)]),_:1})],2)],2)],2)]),e("div",{class:"card-footer",role:"button",onClick:t[8]||(t[8]=d=>l.$emit("details"))},[e("small",j6,[n(u,{t:"Details"}),t[17]||(t[17]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])])],10,y6)}const L6=K(w6,[["render",B6],["__scopeId","data-v-06609b08"]]),R6={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(l,{emit:t}){const a=t,s=V(()=>J(()=>import("./peerAssignModal-BPO6DvAQ.js"),__vite__mapDeps([0,1,2,3,4,5]))),m=V(()=>J(()=>import("./peerShareLinkModal-CCIM9t_8.js"),__vite__mapDeps([6,2,3,7,8,9,1,10]))),r=V(()=>J(()=>import("./peerJobs-iqYQ4Q-2.js"),__vite__mapDeps([11,12,2,3,8,9,7,1,13,14]))),u=V(()=>J(()=>import("./peerQRCode-Bfo15_ll.js"),__vite__mapDeps([15,16,2,3,17,1,18]))),_=V(()=>J(()=>import("./peerConfigurationFile-BNxBGei9.js"),__vite__mapDeps([19,2,3,1,16,17,20]))),g=V(()=>J(()=>import("./peerSettings-1ZLfa-ii.js"),__vite__mapDeps([21,2,3,1,22])));return(d,f)=>(o(),I(me,{name:"zoom"},{default:W(()=>[l.configurationModals.peerSetting.modalOpen?(o(),I(j(g),{key:"PeerSettingsModal",selectedPeer:l.configurationModalSelectedPeer,onRefresh:f[0]||(f[0]=v=>a("refresh")),onClose:f[1]||(f[1]=v=>l.configurationModals.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerQRCode.modalOpen?(o(),I(j(u),{key:"PeerQRCodeModal",selectedPeer:l.configurationModalSelectedPeer,onClose:f[2]||(f[2]=v=>l.configurationModals.peerQRCode.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerScheduleJobs.modalOpen?(o(),I(j(r),{key:"PeerJobsModal",onRefresh:f[3]||(f[3]=v=>a("refresh")),selectedPeer:l.configurationModalSelectedPeer,onClose:f[4]||(f[4]=v=>l.configurationModals.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerShare.modalOpen?(o(),I(j(m),{key:"PeerShareLinkModal",onClose:f[5]||(f[5]=v=>{l.configurationModals.peerShare.modalOpen=!1}),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerConfigurationFile.modalOpen?(o(),I(j(_),{key:"PeerConfigurationFileModal",onClose:f[6]||(f[6]=v=>l.configurationModals.peerConfigurationFile.modalOpen=!1),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):O("",!0),l.configurationModals.assignPeer.modalOpen?(o(),I(j(s),{key:"PeerAssignModal",selectedPeer:l.configurationModalSelectedPeer,onClose:f[7]||(f[7]=v=>l.configurationModals.assignPeer.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0)]),_:1}))}},A6={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},N6={__name:"peerIntersectionObserver",props:["peerListLength","showPeersCount"],emits:["loadMore"],setup(l,{emit:t}){const a=q(void 0),s=t;return ne(()=>{a.value=new IntersectionObserver(m=>{m.forEach(r=>{r.isIntersecting&&s("loadMore")})},{rootMargin:"20px",threshold:1}),a.value.observe(document.querySelector("#loadMore"))}),re(()=>{a.value.disconnect()}),(m,r)=>(o(),c("div",A6))}},E6={class:"d-flex gap-1 flex-column"},F6=U({__name:"configurationDescription",props:["configuration"],setup(l){const t=l,a=q(t.configuration.Info.Description),s=q(!1),m=q(!1),r=async()=>{await X("/api/updateWireguardConfigurationInfo",{Name:t.configuration.Name,Key:"Description",Value:a.value},_=>{m.value=_.status,u()})},u=()=>{s.value=!0,setTimeout(()=>{s.value=!1},3e3)};return(_,g)=>(o(),c("div",E6,[g[2]||(g[2]=e("label",{for:"configurationDescription"},[e("small",{style:{"white-space":"nowrap"},class:"text-muted"},[e("i",{class:"bi bi-pencil-fill me-2"}),E("Notes ")])],-1)),de(e("input",{type:"text",class:L([[s.value?[m.value?"is-valid":"is-invalid"]:void 0],"form-control rounded-3 bg-transparent form-control-sm"]),id:"configurationDescription","onUpdate:modelValue":g[0]||(g[0]=d=>a.value=d),onChange:g[1]||(g[1]=d=>r())},null,34),[[ke,a.value]])]))}});var ue={exports:{}},z6=ue.exports,ye;function H6(){return ye||(ye=1,(function(l,t){(function(a,s){l.exports=s()})(z6,(function(){return function(a,s){s.prototype.isSameOrBefore=function(m,r){return this.isSame(m,r)||this.isBefore(m,r)}}}))})(ue)),ue.exports}var Y6=H6();const Ee=Ce(Y6);var fe={exports:{}},G6=fe.exports,xe;function V6(){return xe||(xe=1,(function(l,t){(function(a,s){l.exports=s()})(G6,(function(){var a,s,m=1e3,r=6e4,u=36e5,_=864e5,g=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=31536e6,f=2628e6,v=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,w={years:d,months:f,days:_,hours:u,minutes:r,seconds:m,milliseconds:1,weeks:6048e5},$=function(T){return T instanceof te},S=function(T,P,h){return new te(T,h,P.$l)},b=function(T){return s.p(T)+"s"},y=function(T){return T<0},C=function(T){return y(T)?Math.ceil(T):Math.floor(T)},M=function(T){return Math.abs(T)},z=function(T,P){return T?y(T)?{negative:!0,format:""+M(T)+P}:{negative:!1,format:""+T+P}:{negative:!1,format:""}},te=(function(){function T(h,B,A){var R=this;if(this.$d={},this.$l=A,h===void 0&&(this.$ms=0,this.parseFromMilliseconds()),B)return S(h*w[b(B)],this);if(typeof h=="number")return this.$ms=h,this.parseFromMilliseconds(),this;if(typeof h=="object")return Object.keys(h).forEach((function(p){R.$d[b(p)]=h[p]})),this.calMilliseconds(),this;if(typeof h=="string"){var k=h.match(v);if(k){var i=k.slice(2).map((function(p){return p!=null?Number(p):0}));return this.$d.years=i[0],this.$d.months=i[1],this.$d.weeks=i[2],this.$d.days=i[3],this.$d.hours=i[4],this.$d.minutes=i[5],this.$d.seconds=i[6],this.calMilliseconds(),this}}return this}var P=T.prototype;return P.calMilliseconds=function(){var h=this;this.$ms=Object.keys(this.$d).reduce((function(B,A){return B+(h.$d[A]||0)*w[A]}),0)},P.parseFromMilliseconds=function(){var h=this.$ms;this.$d.years=C(h/d),h%=d,this.$d.months=C(h/f),h%=f,this.$d.days=C(h/_),h%=_,this.$d.hours=C(h/u),h%=u,this.$d.minutes=C(h/r),h%=r,this.$d.seconds=C(h/m),h%=m,this.$d.milliseconds=h},P.toISOString=function(){var h=z(this.$d.years,"Y"),B=z(this.$d.months,"M"),A=+this.$d.days||0;this.$d.weeks&&(A+=7*this.$d.weeks);var R=z(A,"D"),k=z(this.$d.hours,"H"),i=z(this.$d.minutes,"M"),p=this.$d.seconds||0;this.$d.milliseconds&&(p+=this.$d.milliseconds/1e3,p=Math.round(1e3*p)/1e3);var Y=z(p,"S"),Z=h.negative||B.negative||R.negative||k.negative||i.negative||Y.negative,Fe=k.format||i.format||Y.format?"T":"",he=(Z?"-":"")+"P"+h.format+B.format+R.format+Fe+k.format+i.format+Y.format;return he==="P"||he==="-P"?"P0D":he},P.toJSON=function(){return this.toISOString()},P.format=function(h){var B=h||"YYYY-MM-DDTHH:mm:ss",A={Y:this.$d.years,YY:s.s(this.$d.years,2,"0"),YYYY:s.s(this.$d.years,4,"0"),M:this.$d.months,MM:s.s(this.$d.months,2,"0"),D:this.$d.days,DD:s.s(this.$d.days,2,"0"),H:this.$d.hours,HH:s.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,"0"),SSS:s.s(this.$d.milliseconds,3,"0")};return B.replace(g,(function(R,k){return k||String(A[R])}))},P.as=function(h){return this.$ms/w[b(h)]},P.get=function(h){var B=this.$ms,A=b(h);return A==="milliseconds"?B%=1e3:B=A==="weeks"?C(B/w[A]):this.$d[A],B||0},P.add=function(h,B,A){var R;return R=B?h*w[b(B)]:$(h)?h.$ms:S(h,this).$ms,S(this.$ms+R*(A?-1:1),this)},P.subtract=function(h,B){return this.add(h,B,!0)},P.locale=function(h){var B=this.clone();return B.$l=h,B},P.clone=function(){return S(this.$ms,this)},P.humanize=function(h){return a().add(this.$ms,"ms").locale(this.$l).fromNow(!h)},P.valueOf=function(){return this.asMilliseconds()},P.milliseconds=function(){return this.get("milliseconds")},P.asMilliseconds=function(){return this.as("milliseconds")},P.seconds=function(){return this.get("seconds")},P.asSeconds=function(){return this.as("seconds")},P.minutes=function(){return this.get("minutes")},P.asMinutes=function(){return this.as("minutes")},P.hours=function(){return this.get("hours")},P.asHours=function(){return this.as("hours")},P.days=function(){return this.get("days")},P.asDays=function(){return this.as("days")},P.weeks=function(){return this.get("weeks")},P.asWeeks=function(){return this.as("weeks")},P.months=function(){return this.get("months")},P.asMonths=function(){return this.as("months")},P.years=function(){return this.get("years")},P.asYears=function(){return this.as("years")},T})(),ce=function(T,P,h){return T.add(P.years()*h,"y").add(P.months()*h,"M").add(P.days()*h,"d").add(P.hours()*h,"h").add(P.minutes()*h,"m").add(P.seconds()*h,"s").add(P.milliseconds()*h,"ms")};return function(T,P,h){a=h,s=h().$utils(),h.duration=function(R,k){var i=h.locale();return S(R,{$l:i},k)},h.isDuration=$;var B=P.prototype.add,A=P.prototype.subtract;P.prototype.add=function(R,k){return $(R)?ce(this,R,1):B.bind(this)(R,k)},P.prototype.subtract=function(R,k){return $(R)?ce(this,R,-1):A.bind(this)(R,k)}}}))})(fe)),fe.exports}var J6=V6();const U6=Ce(J6),W6={key:0,class:"sessions-label"},Q6={class:"d-flex flex-wrap gap-1 session-dot"},K6={class:"bg-warning",style:{height:"5px",width:"5px","border-radius":"100%","vertical-align":"top"}},Z6={class:"p-1 badge text-bg-warning text-start session-badge-list"},X6={class:"mt-1"},eu=U({__name:"peerSessionCalendarDay",props:["sessions","day"],emits:["openDetails"],setup(l){const t=l;Q.extend(Ee),Q.extend(U6);const a=N(()=>{let s=t.sessions.map(r=>Q(r)).filter(r=>r.isSame(t.day,"D")).reverse(),m=[];if(s.length>1){let r=[s[0]];for(let u of s.slice(1))u.isSameOrBefore(r[r.length-1].add(3,"minute"))?r.push(u):(m.push({timestamps:r,duration:Q.duration(r[r.length-1].diff(r[0]))}),r=[u]);m.push({timestamps:r,duration:Q.duration(r[r.length-1].diff(r[0]))})}return m});return(s,m)=>(o(),c("div",{class:"d-flex gap-1 flex-column session-list",onClick:m[0]||(m[0]=r=>s.$emit("openDetails",a.value))},[a.value.length>0?(o(),c("small",W6,[n(x,{t:a.value.length+" Session"+(a.value.length>1?"s":"")},null,8,["t"])])):O("",!0),e("div",Q6,[(o(!0),c(F,null,G(a.value.length,r=>(o(),c("div",K6))),256))]),(o(!0),c(F,null,G(a.value,r=>(o(),c("div",Z6,[e("div",null,[m[1]||(m[1]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(D(r.timestamps[0].format("HH:mm:ss")),1),m[2]||(m[2]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(D(r.timestamps[r.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",X6,[n(x,{t:"Duration:"}),E(" "+D(r.duration.format("HH:mm:ss")),1)])]))),256))]))}}),tu=K(eu,[["__scopeId","data-v-5178a57b"]]),lu={class:"card rounded-3 bg-transparent"},su={class:"card-header d-flex align-items-center"},ou={class:"mx-auto mb-0 text-center"},iu={class:"text-muted",style:{"font-size":"0.9rem"}},au={class:"card-body p-0 position-relative"},nu={class:"calendar-grid"},ru=["onClick"],du={class:"d-flex day-label"},cu={key:0,class:"bi bi-check-circle-fill ms-auto"},uu={key:0,class:"position-absolute rounded-bottom-3 dayDetail p-3",style:{bottom:"0",height:"100%",width:"100%","z-index":"9999",background:"#00000050","backdrop-filter":"blur(8px)",overflow:"scroll"}},fu={class:"d-flex mb-3"},pu={class:"mb-0"},mu={class:"d-flex flex-column gap-2"},gu={class:"p-1 badge text-bg-warning text-start session-list d-flex align-items-center"},hu={class:"ms-auto"},bu=U({__name:"peerSessions",props:["selectedPeer","selectedDate"],emits:["selectDate"],setup(l,{emit:t}){const a=l;oe();const s=q([]);Q.extend(Ee);const m=q(void 0),r=q(0),u=q(Q()),_=N(()=>Q().add(r.value,"month")),g=N(()=>_.value.startOf("month")),d=N(()=>_.value.endOf("month")),f=N(()=>g.value.startOf("week")),v=N(()=>d.value.endOf("week")),w=N(()=>{let y=[],C=f.value;for(;C.isSameOrBefore(v.value,"day");)y.push(C),C=C.add(1,"day");if(y.length<42){let M=42-y.length;for(let z=0;z{await ee("/api/getPeerSessions",{configurationName:a.selectedPeer.configuration.Name,id:a.selectedPeer.id,startDate:f.value.format("YYYY-MM-DD"),endDate:v.value.format("YYYY-MM-DD")},y=>{s.value=y.data.reverse()})};$(),m.value=setInterval(async()=>{await $()},6e4),re(()=>{clearInterval(m.value)}),se(()=>_.value,()=>$());const S=q(!1),b=q(void 0);return(y,C)=>(o(),c("div",null,[e("div",lu,[e("div",su,[e("button",{class:"btn btn-sm rounded-3",onClick:C[0]||(C[0]=M=>r.value-=1)},[...C[5]||(C[5]=[e("i",{class:"bi bi-chevron-left"},null,-1)])]),r.value!==0?(o(),c("button",{key:0,class:"btn btn-sm rounded-3",onClick:C[1]||(C[1]=M=>{r.value=0,y.$emit("selectDate",y.day)})},[n(x,{t:"Today"})])):O("",!0),e("h5",ou,[e("small",iu,[n(x,{t:"Peer Historical Sessions"})]),C[6]||(C[6]=e("br",null,null,-1)),E(" "+D(_.value.format("YYYY / MM")),1)]),r.value!==0?(o(),c("button",{key:1,class:"btn btn-sm rounded-3",onClick:C[2]||(C[2]=M=>{r.value=0,y.$emit("selectDate",y.day)})},[n(x,{t:"Today"})])):O("",!0),e("button",{class:"btn btn-sm rounded-3",onClick:C[3]||(C[3]=M=>r.value+=1)},[...C[7]||(C[7]=[e("i",{class:"bi bi-chevron-right"},null,-1)])])]),e("div",au,[e("div",nu,[(o(!0),c(F,null,G(w.value,(M,z)=>(o(),c("div",{class:L(["calendar-day p-2 d-flex flex-column",{"bg-body-secondary":M.isSame(u.value,"D"),"border-end":M.day()<6,"border-bottom":zy.$emit("selectDate",M),style:{cursor:"pointer"}},[e("h6",du,[E(D(M.format("D"))+" ",1),l.selectedDate&&l.selectedDate.isSame(M,"D")?(o(),c("i",cu)):O("",!0)]),(o(),I(tu,{class:"flex-grow-1",onOpenDetails:te=>{b.value={day:M,details:te},S.value=!0},sessions:s.value,day:M,key:M},null,8,["onOpenDetails","sessions","day"]))],10,ru))),128))]),n(ae,{name:"zoom"},{default:W(()=>[S.value?(o(),c("div",uu,[e("div",fu,[e("h5",pu,D(b.value.day.format("YYYY-MM-DD")),1),e("a",{role:"button",class:"ms-auto text-white",onClick:C[4]||(C[4]=M=>S.value=!1)},[...C[8]||(C[8]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-x-lg"})],-1)])])]),e("div",mu,[(o(!0),c(F,null,G(b.value.details,M=>(o(),c("div",gu,[e("div",null,[C[9]||(C[9]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(D(M.timestamps[0].format("HH:mm:ss")),1),C[10]||(C[10]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(D(M.timestamps[M.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",hu,[n(x,{t:"Duration:"}),E(" "+D(M.duration.format("HH:mm:ss")),1)])]))),256))])])):O("",!0)]),_:1})])])]))}}),vu=K(bu,[["__scopeId","data-v-3b03c7a5"]]),ku={class:"card rounded-3 bg-transparent"},wu={class:"card-body"},yu={class:"text-muted"},xu={class:"d-flex flex-column gap-3"},$u=U({__name:"peerTraffics",props:["selectedDate","selectedPeer"],setup(l){const t=l;oe();const a=N(()=>t.selectedDate?t.selectedDate:Q()),s=q([]),m=async()=>{await ee("/api/getPeerTraffics",{configurationName:t.selectedPeer.configuration.Name,id:t.selectedPeer.id,startDate:a.value.format("YYYY-MM-DD"),endDate:a.value.format("YYYY-MM-DD")},v=>{s.value=v.data})},r=q(void 0);m(),r.value=setInterval(async()=>{await m()},6e4),re(()=>{clearInterval(r.value)}),se(()=>a.value,()=>{m()});const u=N(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:v=>`${v.formattedValue} MB`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:v=>`${v.toFixed(4)} MB`},grid:{display:!0}}}})),_=N(()=>{let v=s.value.map($=>$.cumu_sent+$.total_sent),w=[0];if(v.length>1)for(let $=1;$=v[$-1]?w.push((v[$]-v[$-1])*1024):w.push(v[$]*1024);return w}),g=N(()=>{let v=s.value.map($=>$.cumu_receive+$.total_receive),w=[0];if(v.length>1)for(let $=1;$=v[$-1]?w.push((v[$]-v[$-1])*1024):w.push(v[$]*1024);return w}),d=N(()=>({labels:s.value.map(v=>v.time),datasets:[{label:H("Data Sent"),data:_.value,fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),f=N(()=>({labels:s.value.map(v=>v.time),datasets:[{label:H("Data Received"),data:g.value,fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:.3,pointRadius:2,borderWidth:1}]}));return(v,w)=>(o(),c("div",ku,[e("div",wu,[e("h6",yu,[n(x,{t:"Peer Historical Data Usage of "+a.value.format("YYYY-MM-DD")},null,8,["t"])]),e("div",xu,[e("div",null,[e("p",null,[n(x,{t:"Data Received"})]),n(j(ge),{options:u.value,data:f.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])]),e("div",null,[e("p",null,[n(x,{t:"Data Sent"})]),n(j(ge),{options:u.value,data:d.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])])]))}}),_u={class:"card rounded-3 bg-transparent"},Pu={class:"card-header text-muted"},Cu={class:"card-body"},Su={class:"bg-body-tertiary p-3 d-flex rounded-3"},Du={key:0,class:"m-auto"},Ou={key:1,class:"m-auto"},qu={key:2,class:"w-100 d-flex flex-column gap-3"},Mu={class:"bg-body d-flex w-100 rounded-3",style:{height:"500px"},id:"map"},Iu={key:0,class:"m-auto"},Tu={key:0},ju={key:1,class:"text-muted"},Bu={class:"table table-hover"},Lu={key:0},Ru=["onClick"],Au={key:0},Nu=U({__name:"peerEndpoints",props:["selectedPeer"],setup(l){const t=l,a=q(!1),s=q(void 0),m=q(void 0),r=q(void 0),u=async()=>{await ee("/api/getPeerHistoricalEndpoints",{id:t.selectedPeer.id,configurationName:t.selectedPeer.configuration.Name},async d=>{if(d.status&&(s.value=d.data),a.value=!0,s.value.geolocation)try{if(await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}),m.value=!0,r.value=new Ue({target:"map",layers:[new Qe({source:new Ke})],view:new We({center:be([17.64,16.35]),zoom:0})}),s.value.geolocation){const f=new Ze;s.value.geolocation.filter(w=>w.lat&&w.lon).forEach(w=>{f.addFeature(new we({geometry:new Xe(be([w.lon,w.lat]))}))}),f.addFeature(new we({})),r.value.addLayer(new et({source:f,style:()=>new tt({image:new lt({radius:10,fill:new ot({color:"#0d6efd"}),stroke:new st({color:"white",width:5})})})}))}}catch(f){console.log(f),m.value=!1}})};ne(()=>u());const _=d=>{if(s.value.geolocation){let f=s.value.geolocation.find(v=>v.query===d);if(f){let v=[f.city,f.country];return v.filter(w=>w!==void 0).length===0&&v.push("Private Address"),v.filter(w=>w!==void 0).join(", ")}}},g=d=>{if(s.value.geolocation){let f=s.value.geolocation.find(v=>v.query===d);f&&f.lon&&f.lat&&r.value.getView().animate({zoom:4},{center:be([f.lon,f.lat])},{easing:it})}};return(d,f)=>(o(),c("div",_u,[e("div",Pu,[n(x,{t:"Peer Historical Endpoints"})]),e("div",Cu,[e("div",Su,[a.value?a.value&&s.value.endpoints.length===0?(o(),c("div",Ou,[n(x,{t:"No Historical Endpoints"})])):a.value&&s.value.endpoints.length>0?(o(),c("div",qu,[e("div",Mu,[m.value?O("",!0):(o(),c("div",Iu,[m.value===void 0?(o(),c("div",Tu,[f[1]||(f[1]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),n(x,{t:"Loading Map..."})])):O("",!0),m.value===!1?(o(),c("div",ju,[n(x,{t:"Map is not available"})])):O("",!0)]))]),e("table",Bu,[e("thead",null,[e("tr",null,[e("th",null,[n(x,{t:"Endpoint"})]),s.value.geolocation?(o(),c("th",Lu,[n(x,{t:"Geolocation"})])):O("",!0)])]),e("tbody",null,[(o(!0),c(F,null,G(s.value.endpoints,v=>(o(),c("tr",{onClick:w=>g(v.endpoint),style:{cursor:"pointer"}},[e("td",null,D(v.endpoint),1),s.value.geolocation?(o(),c("td",Au,D(_(v.endpoint)),1)):O("",!0)],8,Ru))),256))])])])):O("",!0):(o(),c("div",Du,[f[0]||(f[0]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),n(x,{t:"Loading..."})]))])])]))}}),Eu={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},Fu={class:"d-flex h-100 w-100 pb-2"},zu={class:"m-auto w-100 p-2"},Hu={class:"card rounded-3 shadow h-100"},Yu={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},Gu={class:"mb-0 fw-normal"},Vu={class:"card-body px-4"},Ju={class:"mb-0 text-muted"},Uu={class:"row mt-3 gy-2 gx-2 mb-2"},Wu={class:"col-12 col-lg-3"},Qu={class:"card rounded-3 bg-transparent h-100"},Ku={class:"card-body py-2 d-flex flex-column justify-content-center"},Zu={class:"mb-0 text-muted"},Xu={class:"d-flex align-items-center"},e2={class:"col-12 col-lg-3"},t2={class:"card rounded-3 bg-transparent h-100"},l2={class:"card-body py-2 d-flex flex-column justify-content-center"},s2={class:"mb-0 text-muted"},o2={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},i2={class:"card rounded-3 bg-transparent h-100"},a2={class:"card-body py-2 d-flex flex-column justify-content-center"},n2={class:"mb-0 text-muted"},r2={class:"col-12 col-lg-3"},d2={class:"card rounded-3 bg-transparent h-100"},c2={class:"card-body d-flex"},u2={class:"mb-0 text-muted"},f2={class:"h4"},p2={class:"col-12 col-lg-3"},m2={class:"card rounded-3 bg-transparent h-100"},g2={class:"card-body d-flex"},h2={class:"mb-0 text-muted"},b2={class:"h4 text-warning"},v2={class:"col-12 col-lg-3"},k2={class:"card rounded-3 bg-transparent h-100"},w2={class:"card-body d-flex"},y2={class:"mb-0 text-muted"},x2={class:"h4 text-primary"},$2={class:"col-12 col-lg-3"},_2={class:"card rounded-3 bg-transparent h-100"},P2={class:"card-body d-flex"},C2={class:"mb-0 text-muted"},S2={class:"h4 text-success"},D2={class:"col-12"},O2={class:"col-12"},q2={class:"col-12"},M2=U({__name:"peerDetailsModal",props:["selectedPeer"],emits:["close"],setup(l){Se.register(De,Oe,qe,Me,Ie,Te,je,Be,Le,Re,Ae);const t=q(void 0);return(a,s)=>(o(),c("div",Eu,[e("div",Fu,[e("div",zu,[e("div",Hu,[e("div",Yu,[e("h4",Gu,[n(x,{t:"Peer Details"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=m=>a.$emit("close"))})]),e("div",Vu,[e("div",null,[e("p",Ju,[e("small",null,[n(x,{t:"Peer"})])]),e("h2",null,D(l.selectedPeer.name),1)]),e("div",Uu,[e("div",Wu,[e("div",Qu,[e("div",Ku,[e("p",Zu,[e("small",null,[n(x,{t:"Status"})])]),e("div",Xu,[e("span",{class:L(["dot ms-0 me-2",{active:l.selectedPeer.status==="running"}])},null,2),l.selectedPeer.status==="running"?(o(),I(x,{key:0,t:"Connected"})):(o(),I(x,{key:1,t:"Disconnected"}))])])])]),e("div",e2,[e("div",t2,[e("div",l2,[e("p",s2,[e("small",null,[n(x,{t:"Allowed IPs"})])]),E(" "+D(l.selectedPeer.allowed_ip),1)])])]),e("div",o2,[e("div",i2,[e("div",a2,[e("p",n2,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,D(l.selectedPeer.id),1)])])]),e("div",r2,[e("div",d2,[e("div",c2,[e("div",null,[e("p",u2,[e("small",null,[n(x,{t:"Latest Handshake Time"})])]),e("strong",f2,[n(x,{t:l.selectedPeer.latest_handshake!=="No Handshake"?l.selectedPeer.latest_handshake+" ago":"No Handshake"},null,8,["t"])])]),s[2]||(s[2]=e("i",{class:"bi bi-person-raised-hand ms-auto h2 text-muted"},null,-1))])])]),e("div",p2,[e("div",m2,[e("div",g2,[e("div",null,[e("p",h2,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",b2,D((l.selectedPeer.total_data+l.selectedPeer.cumu_data).toFixed(4))+" GB ",1)]),s[3]||(s[3]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",v2,[e("div",k2,[e("div",w2,[e("div",null,[e("p",y2,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",x2,D((l.selectedPeer.total_receive+l.selectedPeer.cumu_receive).toFixed(4))+" GB",1)]),s[4]||(s[4]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",$2,[e("div",_2,[e("div",P2,[e("div",null,[e("p",C2,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",S2,D((l.selectedPeer.total_sent+l.selectedPeer.cumu_sent).toFixed(4))+" GB",1)]),s[5]||(s[5]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])]),e("div",D2,[n($u,{selectedDate:t.value,selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",O2,[n(vu,{selectedDate:t.value,onSelectDate:s[1]||(s[1]=m=>t.value=m),selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",q2,[n(Nu,{selectedPeer:l.selectedPeer},null,8,["selectedPeer"])])])])])])])]))}}),I2={class:"container-fluid"},T2={class:"d-flex align-items-sm-start flex-column flex-sm-row gap-3"},j2={class:"text-muted d-flex align-items-center gap-2"},B2={class:"mb-0"},L2={class:"d-flex align-items-center gap-3"},R2={class:"mb-0 display-4"},A2={class:"ms-sm-auto d-flex gap-2 flex-column"},N2={class:"card rounded-3 bg-transparent"},E2={class:"card-body py-2 d-flex align-items-center"},F2={class:"text-muted"},z2={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},H2=["for"],Y2={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},G2=["disabled","id"],V2={class:"d-flex gap-2"},J2={class:"row mt-3 gy-2 gx-2 mb-2"},U2={class:"col-12 col-lg-3"},W2={class:"card rounded-3 bg-transparent h-100"},Q2={class:"card-body py-2 d-flex flex-column justify-content-center"},K2={class:"mb-0 text-muted"},Z2={class:"col-12 col-lg-3"},X2={class:"card rounded-3 bg-transparent h-100"},ef={class:"card-body py-2 d-flex flex-column justify-content-center"},tf={class:"mb-0 text-muted"},lf={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},sf={class:"card rounded-3 bg-transparent h-100"},of={class:"card-body py-2 d-flex flex-column justify-content-center"},af={class:"mb-0 text-muted"},nf={class:"row gx-2 gy-2 mb-2"},rf={class:"col-12 col-lg-3"},df={class:"card rounded-3 bg-transparent h-100"},cf={class:"card-body d-flex"},uf={class:"mb-0 text-muted"},ff={class:"h4"},pf={class:"col-12 col-lg-3"},mf={class:"card rounded-3 bg-transparent h-100"},gf={class:"card-body d-flex"},hf={class:"mb-0 text-muted"},bf={class:"h4"},vf={class:"col-12 col-lg-3"},kf={class:"card rounded-3 bg-transparent h-100"},wf={class:"card-body d-flex"},yf={class:"mb-0 text-muted"},xf={class:"h4 text-primary"},$f={class:"col-12 col-lg-3"},_f={class:"card rounded-3 bg-transparent h-100"},Pf={class:"card-body d-flex"},Cf={class:"mb-0 text-muted"},Sf={class:"h4 text-success"},Df={style:{"margin-bottom":"10rem"}},Of=20,qf={__name:"peerList",async setup(l){let t,a;const s=V(()=>J(()=>import("./peerSearchBar-BGxtkCCT.js"),__vite__mapDeps([23,2,3,24]))),m=V(()=>J(()=>import("./peerJobsAllModal-C_YCIBgZ.js"),__vite__mapDeps([25,12,2,3,8,9,7,1,13]))),r=V(()=>J(()=>import("./peerJobsLogsModal-DGmN7IvQ.js"),__vite__mapDeps([26,7,2,3,1]))),u=V(()=>J(()=>import("./editConfiguration-DUqDAChA.js"),__vite__mapDeps([27,2,3,1,7,28]))),_=V(()=>J(()=>import("./selectPeers-S8BB8ekI.js"),__vite__mapDeps([29,2,3,1,30]))),g=V(()=>J(()=>import("./peerAddModal-CFkDvr1R.js"),__vite__mapDeps([31,2,3,1,32]))),d=oe(),f=ie(),v=$e(),w=q({}),$=q([]),S=q(!1),b=q({}),y=q({peerNew:{modalOpen:!1},peerSetting:{modalOpen:!1},peerScheduleJobs:{modalOpen:!1},peerQRCode:{modalOpen:!1},peerConfigurationFile:{modalOpen:!1},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1},editConfiguration:{modalOpen:!1},selectPeers:{modalOpen:!1},backupRestore:{modalOpen:!1},deleteConfiguration:{modalOpen:!1},editRawConfigurationFile:{modalOpen:!1},assignPeer:{modalOpen:!1},peerDetails:{modalOpen:!1}}),C=q(!1),M=async()=>{await ee("/api/getWireguardConfigurationInfo",{configurationName:v.params.id},k=>{k.status&&(w.value=k.data.configurationInfo,$.value=k.data.configurationPeers,$.value.forEach(i=>{i.restricted=!1}),k.data.configurationRestrictedPeers.forEach(i=>{i.restricted=!0,$.value.push(i)}))})};[t,a]=He(()=>M()),await t,a();const z=q(void 0),te=()=>{clearInterval(z.value),z.value=setInterval(async()=>{await M()},parseInt(d.Configuration.Server.dashboard_refresh_interval))};te(),re(()=>{clearInterval(z.value),z.value=void 0,f.Filter.HiddenTags=[]}),se(()=>d.Configuration.Server.dashboard_refresh_interval,()=>{te()});const ce=async()=>{S.value=!0,await ee("/api/toggleWireguardConfiguration",{configurationName:w.value.Name},k=>{k.status?d.newMessage("Server",`${w.value.Name} ${k.data?"is on":"is off"}`,"success"):d.newMessage("Server",k.message,"danger"),f.Configurations.find(i=>i.Name===w.value.Name).Status=k.data,w.value.Status=k.data,S.value=!1})},T=N(()=>({connectedPeers:$.value.filter(k=>k.status==="running").length,totalUsage:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_data+k.cumu_data).reduce((k,i)=>k+i,0).toFixed(4):0,totalReceive:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_receive+k.cumu_receive).reduce((k,i)=>k+i,0).toFixed(4):0,totalSent:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_sent+k.cumu_sent).reduce((k,i)=>k+i,0).toFixed(4):0})),P=q(10),h=N(()=>f.Filter.HiddenTags.map(k=>w.value.Info.PeerGroups[k].Peers).flat()),B=N(()=>Object.values(w.value.Info.PeerGroups).map(k=>k.Peers).flat()),A=k=>{try{return at(k.replace(" ","").split(",")[0]).start}catch{return 0}},R=N(()=>{const k=f.searchString?$.value.filter(p=>(p.name.includes(f.searchString)||p.id.includes(f.searchString)||p.allowed_ip.includes(f.searchString))&&!h.value.includes(p.id)&&(f.Filter.ShowAllPeersWhenHiddenTags||!f.Filter.ShowAllPeersWhenHiddenTags&&B.value.includes(p.id))):$.value.filter(p=>!h.value.includes(p.id)&&(f.Filter.ShowAllPeersWhenHiddenTags||!f.Filter.ShowAllPeersWhenHiddenTags&&B.value.includes(p.id)));if(d.Configuration.Server.dashboard_sort==="restricted")return k.sort((p,Y)=>p[d.Configuration.Server.dashboard_sort]Y[d.Configuration.Server.dashboard_sort]?-1:0).slice(0,P.value);let i=[];return d.Configuration.Server.dashboard_sort==="allowed_ip"?i=k.sort((p,Y)=>A(p[d.Configuration.Server.dashboard_sort])A(Y[d.Configuration.Server.dashboard_sort])?1:0).slice(0,P.value):i=k.sort((p,Y)=>p[d.Configuration.Server.dashboard_sort]Y[d.Configuration.Server.dashboard_sort]?1:0).slice(0,P.value),i});return se(()=>v.query.id,k=>{k?f.searchString=k:f.searchString=void 0},{immediate:!0}),(k,i)=>(o(),c("div",I2,[e("div",T2,[e("div",null,[e("div",j2,[e("h5",B2,[n(Ge,{protocol:w.value.Protocol},null,8,["protocol"])])]),e("div",L2,[e("h1",R2,[e("samp",null,D(w.value.Name),1)])])]),e("div",A2,[e("div",N2,[e("div",E2,[e("small",F2,[n(x,{t:"Status"})]),e("div",{class:L(["dot ms-2",{active:w.value.Status}])},null,2),e("div",z2,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+w.value.id},[w.value.Status&&!S.value?(o(),I(x,{key:0,t:"On"})):!w.value.Status&&!S.value?(o(),I(x,{key:1,t:"Off"})):O("",!0),S.value?(o(),c("span",Y2)):O("",!0)],8,H2),de(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:S.value,type:"checkbox",role:"switch",id:"switch"+w.value.id,onChange:i[0]||(i[0]=p=>ce()),"onUpdate:modelValue":i[1]||(i[1]=p=>w.value.Status=p)},null,40,G2),[[Pe,w.value.Status]])])])]),e("div",V2,[e("a",{role:"button",onClick:i[2]||(i[2]=p=>y.value.peerNew.modalOpen=!0),class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},[i[30]||(i[30]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),n(x,{t:"Peer"})]),e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:i[3]||(i[3]=p=>y.value.editConfiguration.modalOpen=!0),type:"button","aria-expanded":"false"},[i[31]||(i[31]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),n(x,{t:"Configuration Settings"})])])])]),i[36]||(i[36]=e("hr",null,null,-1)),n(F6,{configuration:w.value},null,8,["configuration"]),e("div",J2,[e("div",U2,[e("div",W2,[e("div",Q2,[e("p",K2,[e("small",null,[n(x,{t:"Address"})])]),E(" "+D(w.value.Address),1)])])]),e("div",Z2,[e("div",X2,[e("div",ef,[e("p",tf,[e("small",null,[n(x,{t:"Listen Port"})])]),E(" "+D(w.value.ListenPort),1)])])]),e("div",lf,[e("div",sf,[e("div",of,[e("p",af,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,D(w.value.PublicKey),1)])])])]),e("div",nf,[e("div",rf,[e("div",df,[e("div",cf,[e("div",null,[e("p",uf,[e("small",null,[n(x,{t:"Connected Peers"})])]),e("strong",ff,D(T.value.connectedPeers)+" / "+D($.value.length),1)]),i[32]||(i[32]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",pf,[e("div",mf,[e("div",gf,[e("div",null,[e("p",hf,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",bf,D(T.value.totalUsage)+" GB",1)]),i[33]||(i[33]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",vf,[e("div",kf,[e("div",wf,[e("div",null,[e("p",yf,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",xf,D(T.value.totalReceive)+" GB",1)]),i[34]||(i[34]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",$f,[e("div",_f,[e("div",Pf,[e("div",null,[e("p",Cf,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",Sf,D(T.value.totalSent)+" GB",1)]),i[35]||(i[35]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])])]),n(Pt,{configurationPeers:$.value,configurationInfo:w.value},null,8,["configurationPeers","configurationInfo"]),i[37]||(i[37]=e("hr",null,null,-1)),e("div",Df,[$.value.length>0?(o(),I(Vc,{key:0,onSearch:i[4]||(i[4]=p=>C.value=!C.value),onJobsAll:i[5]||(i[5]=p=>y.value.peerScheduleJobsAll.modalOpen=!0),onJobLogs:i[6]||(i[6]=p=>y.value.peerScheduleJobsLogs.modalOpen=!0),onEditConfiguration:i[7]||(i[7]=p=>y.value.editConfiguration.modalOpen=!0),onSelectPeers:i[8]||(i[8]=p=>y.value.selectPeers.modalOpen=!0),onBackupRestore:i[9]||(i[9]=p=>y.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[10]||(i[10]=p=>y.value.deleteConfiguration.modalOpen=!0),configuration:w.value},null,8,["configuration"])):O("",!0),n(me,{name:"peerList",tag:"div",class:"row gx-2 gy-2 z-0 position-relative"},{default:W(()=>[(o(!0),c(F,null,G(R.value,(p,Y)=>(o(),c("div",{class:L(["col-12",{"col-lg-6 col-xl-4":j(d).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:p.id},[n(L6,{Peer:p,searchPeersLength:R.value.length,order:Y,ConfigurationInfo:w.value,onDetails:Z=>{y.value.peerDetails.modalOpen=!0,b.value=p},onShare:Z=>{y.value.peerShare.modalOpen=!0,b.value=p},onRefresh:i[11]||(i[11]=Z=>M()),onJobs:Z=>{y.value.peerScheduleJobs.modalOpen=!0,b.value=p},onSetting:Z=>{y.value.peerSetting.modalOpen=!0,b.value=p},onQrcode:Z=>{b.value=p,y.value.peerQRCode.modalOpen=!0},onConfigurationFile:Z=>{b.value=p,y.value.peerConfigurationFile.modalOpen=!0},onAssign:Z=>{b.value=p,y.value.assignPeer.modalOpen=!0}},null,8,["Peer","searchPeersLength","order","ConfigurationInfo","onDetails","onShare","onJobs","onSetting","onQrcode","onConfigurationFile","onAssign"])],2))),128))]),_:1})]),n(ae,{name:"slide-fade"},{default:W(()=>[C.value?(o(),I(j(s),{key:0,ConfigurationInfo:w.value,onClose:i[12]||(i[12]=p=>C.value=!1)},null,8,["ConfigurationInfo"])):O("",!0)]),_:1}),n(R6,{configurationModals:y.value,configurationModalSelectedPeer:b.value,onRefresh:i[13]||(i[13]=p=>M())},null,8,["configurationModals","configurationModalSelectedPeer"]),n(me,{name:"zoom"},{default:W(()=>[(o(),I(Ye,{key:"PeerAddModal"},{default:W(()=>[y.value.peerNew.modalOpen?(o(),I(j(g),{key:0,onClose:i[14]||(i[14]=p=>y.value.peerNew.modalOpen=!1),onAddedPeers:i[15]||(i[15]=p=>{y.value.peerNew.modalOpen=!1,M()})})):O("",!0)]),_:1})),y.value.peerScheduleJobsAll.modalOpen?(o(),I(j(m),{key:"PeerJobsAllModal",onRefresh:i[16]||(i[16]=p=>M()),onAllLogs:i[17]||(i[17]=p=>y.value.peerScheduleJobsLogs.modalOpen=!0),onClose:i[18]||(i[18]=p=>y.value.peerScheduleJobsAll.modalOpen=!1),configurationPeers:$.value},null,8,["configurationPeers"])):O("",!0),y.value.peerScheduleJobsLogs.modalOpen?(o(),I(j(r),{key:"PeerJobsLogsModal",onClose:i[19]||(i[19]=p=>y.value.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:w.value},null,8,["configurationInfo"])):O("",!0),y.value.editConfiguration.modalOpen?(o(),I(j(u),{key:"EditConfigurationModal",onEditRaw:i[20]||(i[20]=p=>y.value.editRawConfigurationFile.modalOpen=!0),onClose:i[21]||(i[21]=p=>y.value.editConfiguration.modalOpen=!1),onDataChanged:i[22]||(i[22]=p=>w.value=p),onRefresh:i[23]||(i[23]=p=>M()),onBackupRestore:i[24]||(i[24]=p=>y.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[25]||(i[25]=p=>y.value.deleteConfiguration.modalOpen=!0),configurationInfo:w.value},null,8,["configurationInfo"])):O("",!0),y.value.selectPeers.modalOpen?(o(),I(j(_),{key:3,onRefresh:i[26]||(i[26]=p=>M()),configurationPeers:$.value,onClose:i[27]||(i[27]=p=>y.value.selectPeers.modalOpen=!1)},null,8,["configurationPeers"])):O("",!0),y.value.peerDetails.modalOpen?(o(),I(M2,{key:"PeerDetailsModal",selectedPeer:R.value.find(p=>p.id===b.value.id),onClose:i[28]||(i[28]=p=>y.value.peerDetails.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0)]),_:1}),n(N6,{showPeersCount:P.value,peerListLength:R.value.length,onLoadMore:i[29]||(i[29]=p=>P.value+=Of)},null,8,["showPeersCount","peerListLength"])]))}},Nf=K(qf,[["__scopeId","data-v-b4fba9bc"]]);export{Nf as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/peerAssignModal-iLrnQUJy.js","assets/localeText-DcQapG1o.js","assets/index-Y3pG9DoR.js","assets/index-Bcu-vmis.css","assets/DashboardClientAssignmentStore-CrCjGd3j.js","assets/peerAssignModal--_bmFbmn.css","assets/peerShareLinkModal-BFYJpVZm.js","assets/dayjs.min-BxkQs1mo.js","assets/vue-datepicker-BOhP7hRx.js","assets/index-DLUQT8ia.js","assets/peerShareLinkModal-GoWqB_pD.css","assets/peerJobs-BmncqYw7.js","assets/schedulePeerJob-Dv9JUCZq.js","assets/schedulePeerJob-DUtdD062.css","assets/peerJobs-D_dDl936.css","assets/peerQRCode-C3UfG2HU.js","assets/browser-QmM-r3j5.js","assets/galois-field-I2lBzzs-.js","assets/peerQRCode-BmkCjxyX.css","assets/peerConfigurationFile-BVFVwJdN.js","assets/peerConfigurationFile-Z9ms5mIx.css","assets/peerSettings-B48PQaPb.js","assets/peerSettings-CSjO_Okh.css","assets/peerSearchBar-CYMBLuYC.js","assets/peerSearchBar-Dtpovmxo.css","assets/peerJobsAllModal-DIT3P4rK.js","assets/peerJobsLogsModal-B9bMnZ51.js","assets/editConfiguration-BS8eInHi.js","assets/editConfiguration-BV75UXb4.css","assets/selectPeers-DJXcezaU.js","assets/selectPeers-ChWyERy7.css","assets/peerAddModal-DHfWN2bR.js","assets/peerAddModal-B4gIHs91.css"])))=>i.map(i=>d[i]); +import{r as q,L as $e,D as oe,o as ne,I as se,x as re,q as N,G as H,c,f as o,a as e,b as n,u as j,d as O,t as D,g as ee,B as U,W as ie,m as de,n as L,s as pe,y as ke,F,i as G,_ as K,J as _e,v as Pe,w as W,j as I,T as me,k as ae,A as ze,z as X,h as le,e as E,M as V,N as J,O as Ce,E as He,S as Ye}from"./index-Y3pG9DoR.js";import{_ as Ge}from"./protocolBadge-lwYXkpho.js";import{L as x}from"./localeText-DcQapG1o.js";import{C as Se,L as De,B as Oe,a as qe,b as Me,c as Ie,p as Te,d as je,e as Be,f as Le,P as Re,i as Ae,h as Ve,g as ge}from"./index-BwIaVxZ8.js";import{d as Q}from"./dayjs.min-BxkQs1mo.js";import{o as Je}from"./index-DLUQT8ia.js";import{M as Ue,V as We,k as be,T as Qe,O as Ke,n as Ze,F as we,P as Xe,o as et,p as tt,C as lt,q as st,r as ot,s as it}from"./Vector-CuSZivra.js";import{p as at}from"./index-Bno8fcdN.js";const nt={class:"row gx-2 gy-2 mb-3"},rt={class:"col-12"},dt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},ct={class:"card-header bg-transparent border-0"},ut={class:"text-muted"},ft={class:"card-body pt-1"},pt={class:"col-sm col-lg-6"},mt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},gt={class:"card-header bg-transparent border-0 d-flex align-items-center"},ht={class:"text-muted"},bt={key:0,class:"text-primary fw-bold ms-auto"},vt={class:"card-body pt-1"},kt={class:"col-sm col-lg-6"},wt={class:"card rounded-3 bg-transparent",style:{height:"270px"}},yt={class:"card-header bg-transparent border-0 d-flex align-items-center"},xt={class:"text-muted"},$t={key:0,class:"text-success fw-bold ms-auto"},_t={class:"card-body pt-1"},Pt={__name:"peerDataUsageCharts",props:{configurationPeers:Array,configurationInfo:Object},setup(l){Se.register(De,Oe,qe,Me,Ie,Te,je,Be,Le,Re,Ae);const t=l,a=q({timestamp:[],data:[]}),s=q({timestamp:[],data:[]}),m=$e(),r=oe(),u=q(void 0),_=async()=>{await ee("/api/getWireguardConfigurationRealtimeTraffic",{configurationName:m.params.id},S=>{let b=Q().format("hh:mm:ss A");(S.data.sent!==0&&S.data.recv!==0||a.value.data.length>0&&s.value.data.length>0)&&(a.value.timestamp.push(b),a.value.data.push(S.data.sent),s.value.timestamp.push(b),s.value.data.push(S.data.recv))})},g=()=>{clearInterval(u.value),u.value=void 0,t.configurationInfo.Status&&(u.value=setInterval(()=>{_()},parseInt(r.Configuration.Server.dashboard_refresh_interval)))};ne(()=>{g()}),se(()=>t.configurationInfo.Status,()=>{g()}),se(()=>r.Configuration.Server.dashboard_refresh_interval,()=>{g()}),re(()=>{clearInterval(u.value),u.value=void 0});const d=N(()=>{let S=t.configurationPeers.filter(b=>b.cumu_data+b.total_data>0);return{labels:S.map(b=>b.name?b.name:`Untitled Peer - ${b.id}`),datasets:[{label:"Total Data Usage",data:S.map(b=>b.cumu_data+b.total_data),backgroundColor:S.map(b=>"#ffc107"),tooltip:{callbacks:{label:b=>`${b.formattedValue} GB`}}}]}}),f=N(()=>({labels:[...a.value.timestamp],datasets:[{label:H("Data Sent"),data:[...a.value.data],fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),v=N(()=>({labels:[...s.value.timestamp],datasets:[{label:H("Data Received"),data:[...s.value.data],fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:0,pointRadius:2,borderWidth:1}]})),w=N(()=>({responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(S,b)=>`${Math.round((S+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),$=N(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:S=>`${S.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(S,b)=>`${Math.round((S+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(S,b)=>(o(),c("div",nt,[e("div",rt,[e("div",dt,[e("div",ct,[e("small",ut,[n(x,{t:"Peers Data Usage"})])]),e("div",ft,[n(j(Ve),{data:d.value,options:w.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),e("div",pt,[e("div",mt,[e("div",gt,[e("small",ht,[n(x,{t:"Real Time Received Data Usage"})]),s.value.data.length>0?(o(),c("small",bt,D(s.value.data[s.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",vt,[n(j(ge),{options:$.value,data:v.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),e("div",kt,[e("div",wt,[e("div",yt,[e("small",xt,[n(x,{t:"Real Time Sent Data Usage"})]),a.value.data.length>0?(o(),c("small",$t,D(a.value.data[a.value.data.length-1])+" MB/s ",1)):O("",!0)]),e("div",_t,[n(j(ge),{options:$.value,data:f.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]))}},Ct=61698,St=61705,Dt=61707,Ot=61709,qt=61777,Mt=61778,It=61780,Tt=61781,jt=61785,Bt=61817,Lt=61824,Rt=61826,At=61828,Nt=61832,Et=61834,Ft=61835,zt=61836,Ht=61837,Yt=61839,Gt=61844,Vt=61858,Jt=61860,Ut=61861,Wt=61864,Qt=61876,Kt=61896,Zt=61897,Xt=61898,el=61900,tl=61910,ll=61912,sl=61914,ol=61916,il=61917,al=61918,nl=61920,rl=61942,dl=61964,cl=61972,ul=61976,fl=61984,pl=61985,ml=61987,gl=62018,hl=62019,bl=62020,vl=62021,kl=62023,wl=62024,yl=62056,xl=62062,$l=62066,_l=62090,Pl=62096,Cl=62099,Sl=62145,Dl=62147,Ol=62149,ql=62152,Ml=62156,Il=62158,Tl=62159,jl=62161,Bl=62163,Ll=62164,Rl=62166,Al=62173,Nl=62176,El=62179,Fl=62186,zl=62193,Hl=62207,Yl=62208,Gl=62210,Vl=62217,Jl=62218,Ul=62221,Wl=62222,Ql=62224,Kl=62227,Zl=62229,Xl=62255,es=62257,ts=62268,ls=62269,ss=62273,os=62274,is=62275,as=62276,ns=62400,rs=62402,ds=62403,cs=62410,us=62412,fs=62413,ps=62414,ms=62415,gs=62423,hs=62425,bs=62426,vs=62428,ks=62429,ws=62431,ys=62433,xs=62437,$s=62438,_s=62442,Ps=62444,Cs=62445,Ss=62446,Ds=62447,Os=62448,qs=62460,Ms=62463,Is=62473,Ts=62474,js=62482,Bs=62483,Ls=62484,Rs=62487,As=62490,Ns=62493,Es=62497,Fs=62501,zs=62502,Hs=62503,Ys=62506,Gs=62507,Vs=62509,Js=62511,Us=62516,Ws=62519,Qs=62520,Ks=62534,Zs=62535,Xs=62536,eo=62539,to=62541,lo=62543,so=62545,oo=62546,io=62548,ao=62550,no=62555,ro=62571,co=62575,uo=62577,fo=62578,po=62585,mo=62587,go=62588,ho=62589,bo=62591,vo=62593,ko=62594,wo=62596,yo=62608,xo=62610,$o=62611,_o=62615,Po=62617,Co=62619,So=62621,Do=62627,Oo=62633,qo=62636,Mo=62637,Io=62638,To=62641,jo=62642,Bo=62643,Lo=62644,Ro=62660,Ao=62662,No=62664,Eo=62667,Fo=62670,zo=62672,Ho=62673,Yo=62689,Go=62695,Vo=62701,Jo=62703,Uo=62709,Wo=62711,Qo=62718,Ko=62719,Zo=62721,Xo=62723,ei=62732,ti=62733,li=62735,si=62746,oi=62748,ii=62752,ai=62754,ni=62755,ri=62757,di=62759,ci=62760,ui=62761,fi=62762,pi=62764,mi=62766,gi=62783,hi=62785,bi=62787,vi=62788,ki=62794,wi=62796,yi=62821,xi=62826,$i=62827,_i=62828,Pi=62829,Ci=62830,Si=62831,Di=62844,Oi=62846,qi=62847,Mi=62848,Ii=62849,Ti=62852,ji=62853,Bi=62856,Li=62857,Ri=62859,Ai=62861,Ni=62867,Ei=62869,Fi=62871,zi=62872,Hi=62882,Yi=62883,Gi=62885,Vi=62887,Ji=62890,Ui=62894,Wi=62896,Qi=62898,Ki=62899,Zi=62913,Xi=62915,ea=62924,ta=62930,la=62937,sa=62938,oa=62939,ia=62940,aa=62942,na=62944,ra=62946,da=62949,ca=62951,ua=62954,fa=62955,pa=62957,ma=62958,ga=62959,ha=62967,ba=62973,va=62974,ka=62976,wa=62978,ya=62979,xa=62984,$a=62985,_a=62994,Pa=62996,Ca=62997,Sa=62998,Da=62999,Oa=63e3,qa=63004,Ma=63005,Ia=63008,Ta=63009,ja=63018,Ba=63019,La=63022,Ra=63023,Aa=63028,Na=63047,Ea=63048,Fa=63055,za=63056,Ha=63059,Ya=63062,Ga=63064,Va=63066,Ja=63067,Ua=63069,Wa=63070,Qa=63068,Ka=63071,Za=63072,Xa=63073,en=63074,tn=63075,ln=63076,sn=63077,on=63078,an=63080,nn=63081,rn=63082,dn=63083,cn=63085,un=63087,fn=63088,pn=63089,mn=63092,gn=63093,hn=63099,bn=63101,vn=63105,kn=63106,wn=63108,yn=63109,xn=63111,$n=63113,_n=63132,Pn=63133,Cn=63134,Sn=63137,Dn=63144,On=63145,qn=63148,Mn=63151,In=63152,Tn=63153,jn=63168,Bn=63169,Ln=63179,Rn=63180,An=63188,Nn=63189,En=63191,Fn=63198,zn=63201,Hn=63203,Yn=63205,Gn=63207,Vn=63212,Jn=63216,Un=63230,Wn=63241,Qn=63245,Kn=63283,Zn=63345,Xn=63346,er=63348,tr=63351,lr=63353,sr=63357,or=63361,ir=63365,ar=63369,nr=63371,rr=63372,dr=63373,cr=63437,ur=63438,fr=63439,pr=63440,mr=63441,gr=63455,hr=63459,br=63469,vr=63478,kr=63486,wr=63488,yr=63497,xr=63498,$r=63499,_r=63507,Pr=63513,Cr=63522,Sr=63523,Dr=63524,Or=63527,qr=63528,Mr=63529,Ir=63530,Tr=63558,jr=63559,Br=63560,Lr=63561,Rr=63562,Ar=63565,Nr=63613,Er=63659,Fr=63662,zr=63684,Hr=63686,Yr=63687,Gr=63692,Vr=63114,Jr=63117,Ur=63138,Wr=63158,Qr=63170,Kr=63200,Zr=63213,Xr=63214,ed=63321,td=63337,ld=63380,sd=63423,od=63428,id=63448,ad=63460,nd=63461,rd=63480,dd=63500,cd=63501,ud=63695,fd=63702,pd=63703,md=63705,gd=63706,hd=63712,bd=63714,vd=63716,kd=63718,wd=63719,yd=63723,xd=63724,$d=63726,_d=63728,Pd=63733,Cd=63740,Sd=63744,Dd=63746,Od=63747,qd=63481,Md=63748,Id=63750,Td=63754,jd=63756,Bd=63760,Ld=63762,Rd=63764,Ad=63765,Nd=63766,Ed=63767,Fd=63768,zd=63769,ve={123:63103,"alarm-fill":61697,alarm:Ct,"align-bottom":61699,"align-center":61700,"align-end":61701,"align-middle":61702,"align-start":61703,"align-top":61704,alt:St,"app-indicator":61706,app:Dt,"archive-fill":61708,archive:Ot,"arrow-90deg-down":61710,"arrow-90deg-left":61711,"arrow-90deg-right":61712,"arrow-90deg-up":61713,"arrow-bar-down":61714,"arrow-bar-left":61715,"arrow-bar-right":61716,"arrow-bar-up":61717,"arrow-clockwise":61718,"arrow-counterclockwise":61719,"arrow-down-circle-fill":61720,"arrow-down-circle":61721,"arrow-down-left-circle-fill":61722,"arrow-down-left-circle":61723,"arrow-down-left-square-fill":61724,"arrow-down-left-square":61725,"arrow-down-left":61726,"arrow-down-right-circle-fill":61727,"arrow-down-right-circle":61728,"arrow-down-right-square-fill":61729,"arrow-down-right-square":61730,"arrow-down-right":61731,"arrow-down-short":61732,"arrow-down-square-fill":61733,"arrow-down-square":61734,"arrow-down-up":61735,"arrow-down":61736,"arrow-left-circle-fill":61737,"arrow-left-circle":61738,"arrow-left-right":61739,"arrow-left-short":61740,"arrow-left-square-fill":61741,"arrow-left-square":61742,"arrow-left":61743,"arrow-repeat":61744,"arrow-return-left":61745,"arrow-return-right":61746,"arrow-right-circle-fill":61747,"arrow-right-circle":61748,"arrow-right-short":61749,"arrow-right-square-fill":61750,"arrow-right-square":61751,"arrow-right":61752,"arrow-up-circle-fill":61753,"arrow-up-circle":61754,"arrow-up-left-circle-fill":61755,"arrow-up-left-circle":61756,"arrow-up-left-square-fill":61757,"arrow-up-left-square":61758,"arrow-up-left":61759,"arrow-up-right-circle-fill":61760,"arrow-up-right-circle":61761,"arrow-up-right-square-fill":61762,"arrow-up-right-square":61763,"arrow-up-right":61764,"arrow-up-short":61765,"arrow-up-square-fill":61766,"arrow-up-square":61767,"arrow-up":61768,"arrows-angle-contract":61769,"arrows-angle-expand":61770,"arrows-collapse":61771,"arrows-expand":61772,"arrows-fullscreen":61773,"arrows-move":61774,"aspect-ratio-fill":61775,"aspect-ratio":61776,asterisk:qt,at:Mt,"award-fill":61779,award:It,back:Tt,"backspace-fill":61782,"backspace-reverse-fill":61783,"backspace-reverse":61784,backspace:jt,"badge-3d-fill":61786,"badge-3d":61787,"badge-4k-fill":61788,"badge-4k":61789,"badge-8k-fill":61790,"badge-8k":61791,"badge-ad-fill":61792,"badge-ad":61793,"badge-ar-fill":61794,"badge-ar":61795,"badge-cc-fill":61796,"badge-cc":61797,"badge-hd-fill":61798,"badge-hd":61799,"badge-tm-fill":61800,"badge-tm":61801,"badge-vo-fill":61802,"badge-vo":61803,"badge-vr-fill":61804,"badge-vr":61805,"badge-wc-fill":61806,"badge-wc":61807,"bag-check-fill":61808,"bag-check":61809,"bag-dash-fill":61810,"bag-dash":61811,"bag-fill":61812,"bag-plus-fill":61813,"bag-plus":61814,"bag-x-fill":61815,"bag-x":61816,bag:Bt,"bar-chart-fill":61818,"bar-chart-line-fill":61819,"bar-chart-line":61820,"bar-chart-steps":61821,"bar-chart":61822,"basket-fill":61823,basket:Lt,"basket2-fill":61825,basket2:Rt,"basket3-fill":61827,basket3:At,"battery-charging":61829,"battery-full":61830,"battery-half":61831,battery:Nt,"bell-fill":61833,bell:Et,bezier:Ft,bezier2:zt,bicycle:Ht,"binoculars-fill":61838,binoculars:Yt,"blockquote-left":61840,"blockquote-right":61841,"book-fill":61842,"book-half":61843,book:Gt,"bookmark-check-fill":61845,"bookmark-check":61846,"bookmark-dash-fill":61847,"bookmark-dash":61848,"bookmark-fill":61849,"bookmark-heart-fill":61850,"bookmark-heart":61851,"bookmark-plus-fill":61852,"bookmark-plus":61853,"bookmark-star-fill":61854,"bookmark-star":61855,"bookmark-x-fill":61856,"bookmark-x":61857,bookmark:Vt,"bookmarks-fill":61859,bookmarks:Jt,bookshelf:Ut,"bootstrap-fill":61862,"bootstrap-reboot":61863,bootstrap:Wt,"border-all":61865,"border-bottom":61866,"border-center":61867,"border-inner":61868,"border-left":61869,"border-middle":61870,"border-outer":61871,"border-right":61872,"border-style":61873,"border-top":61874,"border-width":61875,border:Qt,"bounding-box-circles":61877,"bounding-box":61878,"box-arrow-down-left":61879,"box-arrow-down-right":61880,"box-arrow-down":61881,"box-arrow-in-down-left":61882,"box-arrow-in-down-right":61883,"box-arrow-in-down":61884,"box-arrow-in-left":61885,"box-arrow-in-right":61886,"box-arrow-in-up-left":61887,"box-arrow-in-up-right":61888,"box-arrow-in-up":61889,"box-arrow-left":61890,"box-arrow-right":61891,"box-arrow-up-left":61892,"box-arrow-up-right":61893,"box-arrow-up":61894,"box-seam":61895,box:Kt,braces:Zt,bricks:Xt,"briefcase-fill":61899,briefcase:el,"brightness-alt-high-fill":61901,"brightness-alt-high":61902,"brightness-alt-low-fill":61903,"brightness-alt-low":61904,"brightness-high-fill":61905,"brightness-high":61906,"brightness-low-fill":61907,"brightness-low":61908,"broadcast-pin":61909,broadcast:tl,"brush-fill":61911,brush:ll,"bucket-fill":61913,bucket:sl,"bug-fill":61915,bug:ol,building:il,bullseye:al,"calculator-fill":61919,calculator:nl,"calendar-check-fill":61921,"calendar-check":61922,"calendar-date-fill":61923,"calendar-date":61924,"calendar-day-fill":61925,"calendar-day":61926,"calendar-event-fill":61927,"calendar-event":61928,"calendar-fill":61929,"calendar-minus-fill":61930,"calendar-minus":61931,"calendar-month-fill":61932,"calendar-month":61933,"calendar-plus-fill":61934,"calendar-plus":61935,"calendar-range-fill":61936,"calendar-range":61937,"calendar-week-fill":61938,"calendar-week":61939,"calendar-x-fill":61940,"calendar-x":61941,calendar:rl,"calendar2-check-fill":61943,"calendar2-check":61944,"calendar2-date-fill":61945,"calendar2-date":61946,"calendar2-day-fill":61947,"calendar2-day":61948,"calendar2-event-fill":61949,"calendar2-event":61950,"calendar2-fill":61951,"calendar2-minus-fill":61952,"calendar2-minus":61953,"calendar2-month-fill":61954,"calendar2-month":61955,"calendar2-plus-fill":61956,"calendar2-plus":61957,"calendar2-range-fill":61958,"calendar2-range":61959,"calendar2-week-fill":61960,"calendar2-week":61961,"calendar2-x-fill":61962,"calendar2-x":61963,calendar2:dl,"calendar3-event-fill":61965,"calendar3-event":61966,"calendar3-fill":61967,"calendar3-range-fill":61968,"calendar3-range":61969,"calendar3-week-fill":61970,"calendar3-week":61971,calendar3:cl,"calendar4-event":61973,"calendar4-range":61974,"calendar4-week":61975,calendar4:ul,"camera-fill":61977,"camera-reels-fill":61978,"camera-reels":61979,"camera-video-fill":61980,"camera-video-off-fill":61981,"camera-video-off":61982,"camera-video":61983,camera:fl,camera2:pl,"capslock-fill":61986,capslock:ml,"card-checklist":61988,"card-heading":61989,"card-image":61990,"card-list":61991,"card-text":61992,"caret-down-fill":61993,"caret-down-square-fill":61994,"caret-down-square":61995,"caret-down":61996,"caret-left-fill":61997,"caret-left-square-fill":61998,"caret-left-square":61999,"caret-left":62e3,"caret-right-fill":62001,"caret-right-square-fill":62002,"caret-right-square":62003,"caret-right":62004,"caret-up-fill":62005,"caret-up-square-fill":62006,"caret-up-square":62007,"caret-up":62008,"cart-check-fill":62009,"cart-check":62010,"cart-dash-fill":62011,"cart-dash":62012,"cart-fill":62013,"cart-plus-fill":62014,"cart-plus":62015,"cart-x-fill":62016,"cart-x":62017,cart:gl,cart2:hl,cart3:bl,cart4:vl,"cash-stack":62022,cash:kl,cast:wl,"chat-dots-fill":62025,"chat-dots":62026,"chat-fill":62027,"chat-left-dots-fill":62028,"chat-left-dots":62029,"chat-left-fill":62030,"chat-left-quote-fill":62031,"chat-left-quote":62032,"chat-left-text-fill":62033,"chat-left-text":62034,"chat-left":62035,"chat-quote-fill":62036,"chat-quote":62037,"chat-right-dots-fill":62038,"chat-right-dots":62039,"chat-right-fill":62040,"chat-right-quote-fill":62041,"chat-right-quote":62042,"chat-right-text-fill":62043,"chat-right-text":62044,"chat-right":62045,"chat-square-dots-fill":62046,"chat-square-dots":62047,"chat-square-fill":62048,"chat-square-quote-fill":62049,"chat-square-quote":62050,"chat-square-text-fill":62051,"chat-square-text":62052,"chat-square":62053,"chat-text-fill":62054,"chat-text":62055,chat:yl,"check-all":62057,"check-circle-fill":62058,"check-circle":62059,"check-square-fill":62060,"check-square":62061,check:xl,"check2-all":62063,"check2-circle":62064,"check2-square":62065,check2:$l,"chevron-bar-contract":62067,"chevron-bar-down":62068,"chevron-bar-expand":62069,"chevron-bar-left":62070,"chevron-bar-right":62071,"chevron-bar-up":62072,"chevron-compact-down":62073,"chevron-compact-left":62074,"chevron-compact-right":62075,"chevron-compact-up":62076,"chevron-contract":62077,"chevron-double-down":62078,"chevron-double-left":62079,"chevron-double-right":62080,"chevron-double-up":62081,"chevron-down":62082,"chevron-expand":62083,"chevron-left":62084,"chevron-right":62085,"chevron-up":62086,"circle-fill":62087,"circle-half":62088,"circle-square":62089,circle:_l,"clipboard-check":62091,"clipboard-data":62092,"clipboard-minus":62093,"clipboard-plus":62094,"clipboard-x":62095,clipboard:Pl,"clock-fill":62097,"clock-history":62098,clock:Cl,"cloud-arrow-down-fill":62100,"cloud-arrow-down":62101,"cloud-arrow-up-fill":62102,"cloud-arrow-up":62103,"cloud-check-fill":62104,"cloud-check":62105,"cloud-download-fill":62106,"cloud-download":62107,"cloud-drizzle-fill":62108,"cloud-drizzle":62109,"cloud-fill":62110,"cloud-fog-fill":62111,"cloud-fog":62112,"cloud-fog2-fill":62113,"cloud-fog2":62114,"cloud-hail-fill":62115,"cloud-hail":62116,"cloud-haze-fill":62118,"cloud-haze":62119,"cloud-haze2-fill":62120,"cloud-lightning-fill":62121,"cloud-lightning-rain-fill":62122,"cloud-lightning-rain":62123,"cloud-lightning":62124,"cloud-minus-fill":62125,"cloud-minus":62126,"cloud-moon-fill":62127,"cloud-moon":62128,"cloud-plus-fill":62129,"cloud-plus":62130,"cloud-rain-fill":62131,"cloud-rain-heavy-fill":62132,"cloud-rain-heavy":62133,"cloud-rain":62134,"cloud-slash-fill":62135,"cloud-slash":62136,"cloud-sleet-fill":62137,"cloud-sleet":62138,"cloud-snow-fill":62139,"cloud-snow":62140,"cloud-sun-fill":62141,"cloud-sun":62142,"cloud-upload-fill":62143,"cloud-upload":62144,cloud:Sl,"clouds-fill":62146,clouds:Dl,"cloudy-fill":62148,cloudy:Ol,"code-slash":62150,"code-square":62151,code:ql,"collection-fill":62153,"collection-play-fill":62154,"collection-play":62155,collection:Ml,"columns-gap":62157,columns:Il,command:Tl,"compass-fill":62160,compass:jl,"cone-striped":62162,cone:Bl,controller:Ll,"cpu-fill":62165,cpu:Rl,"credit-card-2-back-fill":62167,"credit-card-2-back":62168,"credit-card-2-front-fill":62169,"credit-card-2-front":62170,"credit-card-fill":62171,"credit-card":62172,crop:Al,"cup-fill":62174,"cup-straw":62175,cup:Nl,"cursor-fill":62177,"cursor-text":62178,cursor:El,"dash-circle-dotted":62180,"dash-circle-fill":62181,"dash-circle":62182,"dash-square-dotted":62183,"dash-square-fill":62184,"dash-square":62185,dash:Fl,"diagram-2-fill":62187,"diagram-2":62188,"diagram-3-fill":62189,"diagram-3":62190,"diamond-fill":62191,"diamond-half":62192,diamond:zl,"dice-1-fill":62194,"dice-1":62195,"dice-2-fill":62196,"dice-2":62197,"dice-3-fill":62198,"dice-3":62199,"dice-4-fill":62200,"dice-4":62201,"dice-5-fill":62202,"dice-5":62203,"dice-6-fill":62204,"dice-6":62205,"disc-fill":62206,disc:Hl,discord:Yl,"display-fill":62209,display:Gl,"distribute-horizontal":62211,"distribute-vertical":62212,"door-closed-fill":62213,"door-closed":62214,"door-open-fill":62215,"door-open":62216,dot:Vl,download:Jl,"droplet-fill":62219,"droplet-half":62220,droplet:Ul,earbuds:Wl,"easel-fill":62223,easel:Ql,"egg-fill":62225,"egg-fried":62226,egg:Kl,"eject-fill":62228,eject:Zl,"emoji-angry-fill":62230,"emoji-angry":62231,"emoji-dizzy-fill":62232,"emoji-dizzy":62233,"emoji-expressionless-fill":62234,"emoji-expressionless":62235,"emoji-frown-fill":62236,"emoji-frown":62237,"emoji-heart-eyes-fill":62238,"emoji-heart-eyes":62239,"emoji-laughing-fill":62240,"emoji-laughing":62241,"emoji-neutral-fill":62242,"emoji-neutral":62243,"emoji-smile-fill":62244,"emoji-smile-upside-down-fill":62245,"emoji-smile-upside-down":62246,"emoji-smile":62247,"emoji-sunglasses-fill":62248,"emoji-sunglasses":62249,"emoji-wink-fill":62250,"emoji-wink":62251,"envelope-fill":62252,"envelope-open-fill":62253,"envelope-open":62254,envelope:Xl,"eraser-fill":62256,eraser:es,"exclamation-circle-fill":62258,"exclamation-circle":62259,"exclamation-diamond-fill":62260,"exclamation-diamond":62261,"exclamation-octagon-fill":62262,"exclamation-octagon":62263,"exclamation-square-fill":62264,"exclamation-square":62265,"exclamation-triangle-fill":62266,"exclamation-triangle":62267,exclamation:ts,exclude:ls,"eye-fill":62270,"eye-slash-fill":62271,"eye-slash":62272,eye:ss,eyedropper:os,eyeglasses:is,facebook:as,"file-arrow-down-fill":62277,"file-arrow-down":62278,"file-arrow-up-fill":62279,"file-arrow-up":62280,"file-bar-graph-fill":62281,"file-bar-graph":62282,"file-binary-fill":62283,"file-binary":62284,"file-break-fill":62285,"file-break":62286,"file-check-fill":62287,"file-check":62288,"file-code-fill":62289,"file-code":62290,"file-diff-fill":62291,"file-diff":62292,"file-earmark-arrow-down-fill":62293,"file-earmark-arrow-down":62294,"file-earmark-arrow-up-fill":62295,"file-earmark-arrow-up":62296,"file-earmark-bar-graph-fill":62297,"file-earmark-bar-graph":62298,"file-earmark-binary-fill":62299,"file-earmark-binary":62300,"file-earmark-break-fill":62301,"file-earmark-break":62302,"file-earmark-check-fill":62303,"file-earmark-check":62304,"file-earmark-code-fill":62305,"file-earmark-code":62306,"file-earmark-diff-fill":62307,"file-earmark-diff":62308,"file-earmark-easel-fill":62309,"file-earmark-easel":62310,"file-earmark-excel-fill":62311,"file-earmark-excel":62312,"file-earmark-fill":62313,"file-earmark-font-fill":62314,"file-earmark-font":62315,"file-earmark-image-fill":62316,"file-earmark-image":62317,"file-earmark-lock-fill":62318,"file-earmark-lock":62319,"file-earmark-lock2-fill":62320,"file-earmark-lock2":62321,"file-earmark-medical-fill":62322,"file-earmark-medical":62323,"file-earmark-minus-fill":62324,"file-earmark-minus":62325,"file-earmark-music-fill":62326,"file-earmark-music":62327,"file-earmark-person-fill":62328,"file-earmark-person":62329,"file-earmark-play-fill":62330,"file-earmark-play":62331,"file-earmark-plus-fill":62332,"file-earmark-plus":62333,"file-earmark-post-fill":62334,"file-earmark-post":62335,"file-earmark-ppt-fill":62336,"file-earmark-ppt":62337,"file-earmark-richtext-fill":62338,"file-earmark-richtext":62339,"file-earmark-ruled-fill":62340,"file-earmark-ruled":62341,"file-earmark-slides-fill":62342,"file-earmark-slides":62343,"file-earmark-spreadsheet-fill":62344,"file-earmark-spreadsheet":62345,"file-earmark-text-fill":62346,"file-earmark-text":62347,"file-earmark-word-fill":62348,"file-earmark-word":62349,"file-earmark-x-fill":62350,"file-earmark-x":62351,"file-earmark-zip-fill":62352,"file-earmark-zip":62353,"file-earmark":62354,"file-easel-fill":62355,"file-easel":62356,"file-excel-fill":62357,"file-excel":62358,"file-fill":62359,"file-font-fill":62360,"file-font":62361,"file-image-fill":62362,"file-image":62363,"file-lock-fill":62364,"file-lock":62365,"file-lock2-fill":62366,"file-lock2":62367,"file-medical-fill":62368,"file-medical":62369,"file-minus-fill":62370,"file-minus":62371,"file-music-fill":62372,"file-music":62373,"file-person-fill":62374,"file-person":62375,"file-play-fill":62376,"file-play":62377,"file-plus-fill":62378,"file-plus":62379,"file-post-fill":62380,"file-post":62381,"file-ppt-fill":62382,"file-ppt":62383,"file-richtext-fill":62384,"file-richtext":62385,"file-ruled-fill":62386,"file-ruled":62387,"file-slides-fill":62388,"file-slides":62389,"file-spreadsheet-fill":62390,"file-spreadsheet":62391,"file-text-fill":62392,"file-text":62393,"file-word-fill":62394,"file-word":62395,"file-x-fill":62396,"file-x":62397,"file-zip-fill":62398,"file-zip":62399,file:ns,"files-alt":62401,files:rs,film:ds,"filter-circle-fill":62404,"filter-circle":62405,"filter-left":62406,"filter-right":62407,"filter-square-fill":62408,"filter-square":62409,filter:cs,"flag-fill":62411,flag:us,flower1:fs,flower2:ps,flower3:ms,"folder-check":62416,"folder-fill":62417,"folder-minus":62418,"folder-plus":62419,"folder-symlink-fill":62420,"folder-symlink":62421,"folder-x":62422,folder:gs,"folder2-open":62424,folder2:hs,fonts:bs,"forward-fill":62427,forward:vs,front:ks,"fullscreen-exit":62430,fullscreen:ws,"funnel-fill":62432,funnel:ys,"gear-fill":62434,"gear-wide-connected":62435,"gear-wide":62436,gear:xs,gem:$s,"geo-alt-fill":62439,"geo-alt":62440,"geo-fill":62441,geo:_s,"gift-fill":62443,gift:Ps,github:Cs,globe:Ss,globe2:Ds,google:Os,"graph-down":62449,"graph-up":62450,"grid-1x2-fill":62451,"grid-1x2":62452,"grid-3x2-gap-fill":62453,"grid-3x2-gap":62454,"grid-3x2":62455,"grid-3x3-gap-fill":62456,"grid-3x3-gap":62457,"grid-3x3":62458,"grid-fill":62459,grid:qs,"grip-horizontal":62461,"grip-vertical":62462,hammer:Ms,"hand-index-fill":62464,"hand-index-thumb-fill":62465,"hand-index-thumb":62466,"hand-index":62467,"hand-thumbs-down-fill":62468,"hand-thumbs-down":62469,"hand-thumbs-up-fill":62470,"hand-thumbs-up":62471,"handbag-fill":62472,handbag:Is,hash:Ts,"hdd-fill":62475,"hdd-network-fill":62476,"hdd-network":62477,"hdd-rack-fill":62478,"hdd-rack":62479,"hdd-stack-fill":62480,"hdd-stack":62481,hdd:js,headphones:Bs,headset:Ls,"heart-fill":62485,"heart-half":62486,heart:Rs,"heptagon-fill":62488,"heptagon-half":62489,heptagon:As,"hexagon-fill":62491,"hexagon-half":62492,hexagon:Ns,"hourglass-bottom":62494,"hourglass-split":62495,"hourglass-top":62496,hourglass:Es,"house-door-fill":62498,"house-door":62499,"house-fill":62500,house:Fs,hr:zs,hurricane:Hs,"image-alt":62504,"image-fill":62505,image:Ys,images:Gs,"inbox-fill":62508,inbox:Vs,"inboxes-fill":62510,inboxes:Js,"info-circle-fill":62512,"info-circle":62513,"info-square-fill":62514,"info-square":62515,info:Us,"input-cursor-text":62517,"input-cursor":62518,instagram:Ws,intersect:Qs,"journal-album":62521,"journal-arrow-down":62522,"journal-arrow-up":62523,"journal-bookmark-fill":62524,"journal-bookmark":62525,"journal-check":62526,"journal-code":62527,"journal-medical":62528,"journal-minus":62529,"journal-plus":62530,"journal-richtext":62531,"journal-text":62532,"journal-x":62533,journal:Ks,journals:Zs,joystick:Xs,"justify-left":62537,"justify-right":62538,justify:eo,"kanban-fill":62540,kanban:to,"key-fill":62542,key:lo,"keyboard-fill":62544,keyboard:so,ladder:oo,"lamp-fill":62547,lamp:io,"laptop-fill":62549,laptop:ao,"layer-backward":62551,"layer-forward":62552,"layers-fill":62553,"layers-half":62554,layers:no,"layout-sidebar-inset-reverse":62556,"layout-sidebar-inset":62557,"layout-sidebar-reverse":62558,"layout-sidebar":62559,"layout-split":62560,"layout-text-sidebar-reverse":62561,"layout-text-sidebar":62562,"layout-text-window-reverse":62563,"layout-text-window":62564,"layout-three-columns":62565,"layout-wtf":62566,"life-preserver":62567,"lightbulb-fill":62568,"lightbulb-off-fill":62569,"lightbulb-off":62570,lightbulb:ro,"lightning-charge-fill":62572,"lightning-charge":62573,"lightning-fill":62574,lightning:co,"link-45deg":62576,link:uo,linkedin:fo,"list-check":62579,"list-nested":62580,"list-ol":62581,"list-stars":62582,"list-task":62583,"list-ul":62584,list:po,"lock-fill":62586,lock:mo,mailbox:go,mailbox2:ho,"map-fill":62590,map:bo,"markdown-fill":62592,markdown:vo,mask:ko,"megaphone-fill":62595,megaphone:wo,"menu-app-fill":62597,"menu-app":62598,"menu-button-fill":62599,"menu-button-wide-fill":62600,"menu-button-wide":62601,"menu-button":62602,"menu-down":62603,"menu-up":62604,"mic-fill":62605,"mic-mute-fill":62606,"mic-mute":62607,mic:yo,"minecart-loaded":62609,minecart:xo,moisture:$o,"moon-fill":62612,"moon-stars-fill":62613,"moon-stars":62614,moon:_o,"mouse-fill":62616,mouse:Po,"mouse2-fill":62618,mouse2:Co,"mouse3-fill":62620,mouse3:So,"music-note-beamed":62622,"music-note-list":62623,"music-note":62624,"music-player-fill":62625,"music-player":62626,newspaper:Do,"node-minus-fill":62628,"node-minus":62629,"node-plus-fill":62630,"node-plus":62631,"nut-fill":62632,nut:Oo,"octagon-fill":62634,"octagon-half":62635,octagon:qo,option:Mo,outlet:Io,"paint-bucket":62639,"palette-fill":62640,palette:To,palette2:jo,paperclip:Bo,paragraph:Lo,"patch-check-fill":62645,"patch-check":62646,"patch-exclamation-fill":62647,"patch-exclamation":62648,"patch-minus-fill":62649,"patch-minus":62650,"patch-plus-fill":62651,"patch-plus":62652,"patch-question-fill":62653,"patch-question":62654,"pause-btn-fill":62655,"pause-btn":62656,"pause-circle-fill":62657,"pause-circle":62658,"pause-fill":62659,pause:Ro,"peace-fill":62661,peace:Ao,"pen-fill":62663,pen:No,"pencil-fill":62665,"pencil-square":62666,pencil:Eo,"pentagon-fill":62668,"pentagon-half":62669,pentagon:Fo,"people-fill":62671,people:zo,percent:Ho,"person-badge-fill":62674,"person-badge":62675,"person-bounding-box":62676,"person-check-fill":62677,"person-check":62678,"person-circle":62679,"person-dash-fill":62680,"person-dash":62681,"person-fill":62682,"person-lines-fill":62683,"person-plus-fill":62684,"person-plus":62685,"person-square":62686,"person-x-fill":62687,"person-x":62688,person:Yo,"phone-fill":62690,"phone-landscape-fill":62691,"phone-landscape":62692,"phone-vibrate-fill":62693,"phone-vibrate":62694,phone:Go,"pie-chart-fill":62696,"pie-chart":62697,"pin-angle-fill":62698,"pin-angle":62699,"pin-fill":62700,pin:Vo,"pip-fill":62702,pip:Jo,"play-btn-fill":62704,"play-btn":62705,"play-circle-fill":62706,"play-circle":62707,"play-fill":62708,play:Uo,"plug-fill":62710,plug:Wo,"plus-circle-dotted":62712,"plus-circle-fill":62713,"plus-circle":62714,"plus-square-dotted":62715,"plus-square-fill":62716,"plus-square":62717,plus:Qo,power:Ko,"printer-fill":62720,printer:Zo,"puzzle-fill":62722,puzzle:Xo,"question-circle-fill":62724,"question-circle":62725,"question-diamond-fill":62726,"question-diamond":62727,"question-octagon-fill":62728,"question-octagon":62729,"question-square-fill":62730,"question-square":62731,question:ei,rainbow:ti,"receipt-cutoff":62734,receipt:li,"reception-0":62736,"reception-1":62737,"reception-2":62738,"reception-3":62739,"reception-4":62740,"record-btn-fill":62741,"record-btn":62742,"record-circle-fill":62743,"record-circle":62744,"record-fill":62745,record:si,"record2-fill":62747,record2:oi,"reply-all-fill":62749,"reply-all":62750,"reply-fill":62751,reply:ii,"rss-fill":62753,rss:ai,rulers:ni,"save-fill":62756,save:ri,"save2-fill":62758,save2:di,scissors:ci,screwdriver:ui,search:fi,"segmented-nav":62763,server:pi,"share-fill":62765,share:mi,"shield-check":62767,"shield-exclamation":62768,"shield-fill-check":62769,"shield-fill-exclamation":62770,"shield-fill-minus":62771,"shield-fill-plus":62772,"shield-fill-x":62773,"shield-fill":62774,"shield-lock-fill":62775,"shield-lock":62776,"shield-minus":62777,"shield-plus":62778,"shield-shaded":62779,"shield-slash-fill":62780,"shield-slash":62781,"shield-x":62782,shield:gi,"shift-fill":62784,shift:hi,"shop-window":62786,shop:bi,shuffle:vi,"signpost-2-fill":62789,"signpost-2":62790,"signpost-fill":62791,"signpost-split-fill":62792,"signpost-split":62793,signpost:ki,"sim-fill":62795,sim:wi,"skip-backward-btn-fill":62797,"skip-backward-btn":62798,"skip-backward-circle-fill":62799,"skip-backward-circle":62800,"skip-backward-fill":62801,"skip-backward":62802,"skip-end-btn-fill":62803,"skip-end-btn":62804,"skip-end-circle-fill":62805,"skip-end-circle":62806,"skip-end-fill":62807,"skip-end":62808,"skip-forward-btn-fill":62809,"skip-forward-btn":62810,"skip-forward-circle-fill":62811,"skip-forward-circle":62812,"skip-forward-fill":62813,"skip-forward":62814,"skip-start-btn-fill":62815,"skip-start-btn":62816,"skip-start-circle-fill":62817,"skip-start-circle":62818,"skip-start-fill":62819,"skip-start":62820,slack:yi,"slash-circle-fill":62822,"slash-circle":62823,"slash-square-fill":62824,"slash-square":62825,slash:xi,sliders:$i,smartwatch:_i,snow:Pi,snow2:Ci,snow3:Si,"sort-alpha-down-alt":62832,"sort-alpha-down":62833,"sort-alpha-up-alt":62834,"sort-alpha-up":62835,"sort-down-alt":62836,"sort-down":62837,"sort-numeric-down-alt":62838,"sort-numeric-down":62839,"sort-numeric-up-alt":62840,"sort-numeric-up":62841,"sort-up-alt":62842,"sort-up":62843,soundwave:Di,"speaker-fill":62845,speaker:Oi,speedometer:qi,speedometer2:Mi,spellcheck:Ii,"square-fill":62850,"square-half":62851,square:Ti,stack:ji,"star-fill":62854,"star-half":62855,star:Bi,stars:Li,"stickies-fill":62858,stickies:Ri,"sticky-fill":62860,sticky:Ai,"stop-btn-fill":62862,"stop-btn":62863,"stop-circle-fill":62864,"stop-circle":62865,"stop-fill":62866,stop:Ni,"stoplights-fill":62868,stoplights:Ei,"stopwatch-fill":62870,stopwatch:Fi,subtract:zi,"suit-club-fill":62873,"suit-club":62874,"suit-diamond-fill":62875,"suit-diamond":62876,"suit-heart-fill":62877,"suit-heart":62878,"suit-spade-fill":62879,"suit-spade":62880,"sun-fill":62881,sun:Hi,sunglasses:Yi,"sunrise-fill":62884,sunrise:Gi,"sunset-fill":62886,sunset:Vi,"symmetry-horizontal":62888,"symmetry-vertical":62889,table:Ji,"tablet-fill":62891,"tablet-landscape-fill":62892,"tablet-landscape":62893,tablet:Ui,"tag-fill":62895,tag:Wi,"tags-fill":62897,tags:Qi,telegram:Ki,"telephone-fill":62900,"telephone-forward-fill":62901,"telephone-forward":62902,"telephone-inbound-fill":62903,"telephone-inbound":62904,"telephone-minus-fill":62905,"telephone-minus":62906,"telephone-outbound-fill":62907,"telephone-outbound":62908,"telephone-plus-fill":62909,"telephone-plus":62910,"telephone-x-fill":62911,"telephone-x":62912,telephone:Zi,"terminal-fill":62914,terminal:Xi,"text-center":62916,"text-indent-left":62917,"text-indent-right":62918,"text-left":62919,"text-paragraph":62920,"text-right":62921,"textarea-resize":62922,"textarea-t":62923,textarea:ea,"thermometer-half":62925,"thermometer-high":62926,"thermometer-low":62927,"thermometer-snow":62928,"thermometer-sun":62929,thermometer:ta,"three-dots-vertical":62931,"three-dots":62932,"toggle-off":62933,"toggle-on":62934,"toggle2-off":62935,"toggle2-on":62936,toggles:la,toggles2:sa,tools:oa,tornado:ia,"trash-fill":62941,trash:aa,"trash2-fill":62943,trash2:na,"tree-fill":62945,tree:ra,"triangle-fill":62947,"triangle-half":62948,triangle:da,"trophy-fill":62950,trophy:ca,"tropical-storm":62952,"truck-flatbed":62953,truck:ua,tsunami:fa,"tv-fill":62956,tv:pa,twitch:ma,twitter:ga,"type-bold":62960,"type-h1":62961,"type-h2":62962,"type-h3":62963,"type-italic":62964,"type-strikethrough":62965,"type-underline":62966,type:ha,"ui-checks-grid":62968,"ui-checks":62969,"ui-radios-grid":62970,"ui-radios":62971,"umbrella-fill":62972,umbrella:ba,union:va,"unlock-fill":62975,unlock:ka,"upc-scan":62977,upc:wa,upload:ya,"vector-pen":62980,"view-list":62981,"view-stacked":62982,"vinyl-fill":62983,vinyl:xa,voicemail:$a,"volume-down-fill":62986,"volume-down":62987,"volume-mute-fill":62988,"volume-mute":62989,"volume-off-fill":62990,"volume-off":62991,"volume-up-fill":62992,"volume-up":62993,vr:_a,"wallet-fill":62995,wallet:Pa,wallet2:Ca,watch:Sa,water:Da,whatsapp:Oa,"wifi-1":63001,"wifi-2":63002,"wifi-off":63003,wifi:qa,wind:Ma,"window-dock":63006,"window-sidebar":63007,window:Ia,wrench:Ta,"x-circle-fill":63010,"x-circle":63011,"x-diamond-fill":63012,"x-diamond":63013,"x-octagon-fill":63014,"x-octagon":63015,"x-square-fill":63016,"x-square":63017,x:ja,youtube:Ba,"zoom-in":63020,"zoom-out":63021,bank:La,bank2:Ra,"bell-slash-fill":63024,"bell-slash":63025,"cash-coin":63026,"check-lg":63027,coin:Aa,"currency-bitcoin":63029,"currency-dollar":63030,"currency-euro":63031,"currency-exchange":63032,"currency-pound":63033,"currency-yen":63034,"dash-lg":63035,"exclamation-lg":63036,"file-earmark-pdf-fill":63037,"file-earmark-pdf":63038,"file-pdf-fill":63039,"file-pdf":63040,"gender-ambiguous":63041,"gender-female":63042,"gender-male":63043,"gender-trans":63044,"headset-vr":63045,"info-lg":63046,mastodon:Na,messenger:Ea,"piggy-bank-fill":63049,"piggy-bank":63050,"pin-map-fill":63051,"pin-map":63052,"plus-lg":63053,"question-lg":63054,recycle:Fa,reddit:za,"safe-fill":63057,"safe2-fill":63058,safe2:Ha,"sd-card-fill":63060,"sd-card":63061,skype:Ya,"slash-lg":63063,translate:Ga,"x-lg":63065,safe:Va,apple:Ja,microsoft:Ua,windows:Wa,behance:Qa,dribbble:Ka,line:Za,medium:Xa,paypal:en,pinterest:tn,signal:ln,snapchat:sn,spotify:on,"stack-overflow":63079,strava:an,wordpress:nn,vimeo:rn,activity:dn,"easel2-fill":63084,easel2:cn,"easel3-fill":63086,easel3:un,fan:fn,fingerprint:pn,"graph-down-arrow":63090,"graph-up-arrow":63091,hypnotize:mn,magic:gn,"person-rolodex":63094,"person-video":63095,"person-video2":63096,"person-video3":63097,"person-workspace":63098,radioactive:hn,"webcam-fill":63100,webcam:bn,"yin-yang":63102,"bandaid-fill":63104,bandaid:vn,bluetooth:kn,"body-text":63107,boombox:wn,boxes:yn,"dpad-fill":63110,dpad:xn,"ear-fill":63112,ear:$n,"envelope-check-fill":63115,"envelope-check":63116,"envelope-dash-fill":63118,"envelope-dash":63119,"envelope-exclamation-fill":63121,"envelope-exclamation":63122,"envelope-plus-fill":63123,"envelope-plus":63124,"envelope-slash-fill":63126,"envelope-slash":63127,"envelope-x-fill":63129,"envelope-x":63130,"explicit-fill":63131,explicit:_n,git:Pn,infinity:Cn,"list-columns-reverse":63135,"list-columns":63136,meta:Sn,"nintendo-switch":63140,"pc-display-horizontal":63141,"pc-display":63142,"pc-horizontal":63143,pc:Dn,playstation:On,"plus-slash-minus":63146,"projector-fill":63147,projector:qn,"qr-code-scan":63149,"qr-code":63150,quora:Mn,quote:In,robot:Tn,"send-check-fill":63154,"send-check":63155,"send-dash-fill":63156,"send-dash":63157,"send-exclamation-fill":63159,"send-exclamation":63160,"send-fill":63161,"send-plus-fill":63162,"send-plus":63163,"send-slash-fill":63164,"send-slash":63165,"send-x-fill":63166,"send-x":63167,send:jn,steam:Bn,"terminal-dash":63171,"terminal-plus":63172,"terminal-split":63173,"ticket-detailed-fill":63174,"ticket-detailed":63175,"ticket-fill":63176,"ticket-perforated-fill":63177,"ticket-perforated":63178,ticket:Ln,tiktok:Rn,"window-dash":63181,"window-desktop":63182,"window-fullscreen":63183,"window-plus":63184,"window-split":63185,"window-stack":63186,"window-x":63187,xbox:An,ethernet:Nn,"hdmi-fill":63190,hdmi:En,"usb-c-fill":63192,"usb-c":63193,"usb-fill":63194,"usb-plug-fill":63195,"usb-plug":63196,"usb-symbol":63197,usb:Fn,"boombox-fill":63199,displayport:zn,"gpu-card":63202,memory:Hn,"modem-fill":63204,modem:Yn,"motherboard-fill":63206,motherboard:Gn,"optical-audio-fill":63208,"optical-audio":63209,"pci-card":63210,"router-fill":63211,router:Vn,"thunderbolt-fill":63215,thunderbolt:Jn,"usb-drive-fill":63217,"usb-drive":63218,"usb-micro-fill":63219,"usb-micro":63220,"usb-mini-fill":63221,"usb-mini":63222,"cloud-haze2":63223,"device-hdd-fill":63224,"device-hdd":63225,"device-ssd-fill":63226,"device-ssd":63227,"displayport-fill":63228,"mortarboard-fill":63229,mortarboard:Un,"terminal-x":63231,"arrow-through-heart-fill":63232,"arrow-through-heart":63233,"badge-sd-fill":63234,"badge-sd":63235,"bag-heart-fill":63236,"bag-heart":63237,"balloon-fill":63238,"balloon-heart-fill":63239,"balloon-heart":63240,balloon:Wn,"box2-fill":63242,"box2-heart-fill":63243,"box2-heart":63244,box2:Qn,"braces-asterisk":63246,"calendar-heart-fill":63247,"calendar-heart":63248,"calendar2-heart-fill":63249,"calendar2-heart":63250,"chat-heart-fill":63251,"chat-heart":63252,"chat-left-heart-fill":63253,"chat-left-heart":63254,"chat-right-heart-fill":63255,"chat-right-heart":63256,"chat-square-heart-fill":63257,"chat-square-heart":63258,"clipboard-check-fill":63259,"clipboard-data-fill":63260,"clipboard-fill":63261,"clipboard-heart-fill":63262,"clipboard-heart":63263,"clipboard-minus-fill":63264,"clipboard-plus-fill":63265,"clipboard-pulse":63266,"clipboard-x-fill":63267,"clipboard2-check-fill":63268,"clipboard2-check":63269,"clipboard2-data-fill":63270,"clipboard2-data":63271,"clipboard2-fill":63272,"clipboard2-heart-fill":63273,"clipboard2-heart":63274,"clipboard2-minus-fill":63275,"clipboard2-minus":63276,"clipboard2-plus-fill":63277,"clipboard2-plus":63278,"clipboard2-pulse-fill":63279,"clipboard2-pulse":63280,"clipboard2-x-fill":63281,"clipboard2-x":63282,clipboard2:Kn,"emoji-kiss-fill":63284,"emoji-kiss":63285,"envelope-heart-fill":63286,"envelope-heart":63287,"envelope-open-heart-fill":63288,"envelope-open-heart":63289,"envelope-paper-fill":63290,"envelope-paper-heart-fill":63291,"envelope-paper-heart":63292,"envelope-paper":63293,"filetype-aac":63294,"filetype-ai":63295,"filetype-bmp":63296,"filetype-cs":63297,"filetype-css":63298,"filetype-csv":63299,"filetype-doc":63300,"filetype-docx":63301,"filetype-exe":63302,"filetype-gif":63303,"filetype-heic":63304,"filetype-html":63305,"filetype-java":63306,"filetype-jpg":63307,"filetype-js":63308,"filetype-jsx":63309,"filetype-key":63310,"filetype-m4p":63311,"filetype-md":63312,"filetype-mdx":63313,"filetype-mov":63314,"filetype-mp3":63315,"filetype-mp4":63316,"filetype-otf":63317,"filetype-pdf":63318,"filetype-php":63319,"filetype-png":63320,"filetype-ppt":63322,"filetype-psd":63323,"filetype-py":63324,"filetype-raw":63325,"filetype-rb":63326,"filetype-sass":63327,"filetype-scss":63328,"filetype-sh":63329,"filetype-svg":63330,"filetype-tiff":63331,"filetype-tsx":63332,"filetype-ttf":63333,"filetype-txt":63334,"filetype-wav":63335,"filetype-woff":63336,"filetype-xls":63338,"filetype-xml":63339,"filetype-yml":63340,"heart-arrow":63341,"heart-pulse-fill":63342,"heart-pulse":63343,"heartbreak-fill":63344,heartbreak:Zn,hearts:Xn,"hospital-fill":63347,hospital:er,"house-heart-fill":63349,"house-heart":63350,incognito:tr,"magnet-fill":63352,magnet:lr,"person-heart":63354,"person-hearts":63355,"phone-flip":63356,plugin:sr,"postage-fill":63358,"postage-heart-fill":63359,"postage-heart":63360,postage:or,"postcard-fill":63362,"postcard-heart-fill":63363,"postcard-heart":63364,postcard:ir,"search-heart-fill":63366,"search-heart":63367,"sliders2-vertical":63368,sliders2:ar,"trash3-fill":63370,trash3:nr,valentine:rr,valentine2:dr,"wrench-adjustable-circle-fill":63374,"wrench-adjustable-circle":63375,"wrench-adjustable":63376,"filetype-json":63377,"filetype-pptx":63378,"filetype-xlsx":63379,"1-circle-fill":63382,"1-circle":63383,"1-square-fill":63384,"1-square":63385,"2-circle-fill":63388,"2-circle":63389,"2-square-fill":63390,"2-square":63391,"3-circle-fill":63394,"3-circle":63395,"3-square-fill":63396,"3-square":63397,"4-circle-fill":63400,"4-circle":63401,"4-square-fill":63402,"4-square":63403,"5-circle-fill":63406,"5-circle":63407,"5-square-fill":63408,"5-square":63409,"6-circle-fill":63412,"6-circle":63413,"6-square-fill":63414,"6-square":63415,"7-circle-fill":63418,"7-circle":63419,"7-square-fill":63420,"7-square":63421,"8-circle-fill":63424,"8-circle":63425,"8-square-fill":63426,"8-square":63427,"9-circle-fill":63430,"9-circle":63431,"9-square-fill":63432,"9-square":63433,"airplane-engines-fill":63434,"airplane-engines":63435,"airplane-fill":63436,airplane:cr,alexa:ur,alipay:fr,android:pr,android2:mr,"box-fill":63442,"box-seam-fill":63443,"browser-chrome":63444,"browser-edge":63445,"browser-firefox":63446,"browser-safari":63447,"c-circle-fill":63450,"c-circle":63451,"c-square-fill":63452,"c-square":63453,"capsule-pill":63454,capsule:gr,"car-front-fill":63456,"car-front":63457,"cassette-fill":63458,cassette:hr,"cc-circle-fill":63462,"cc-circle":63463,"cc-square-fill":63464,"cc-square":63465,"cup-hot-fill":63466,"cup-hot":63467,"currency-rupee":63468,dropbox:br,escape:63470,"fast-forward-btn-fill":63471,"fast-forward-btn":63472,"fast-forward-circle-fill":63473,"fast-forward-circle":63474,"fast-forward-fill":63475,"fast-forward":63476,"filetype-sql":63477,fire:vr,"google-play":63479,"h-circle-fill":63482,"h-circle":63483,"h-square-fill":63484,"h-square":63485,indent:kr,"lungs-fill":63487,lungs:wr,"microsoft-teams":63489,"p-circle-fill":63492,"p-circle":63493,"p-square-fill":63494,"p-square":63495,"pass-fill":63496,pass:yr,prescription:xr,prescription2:$r,"r-circle-fill":63502,"r-circle":63503,"r-square-fill":63504,"r-square":63505,"repeat-1":63506,repeat:_r,"rewind-btn-fill":63508,"rewind-btn":63509,"rewind-circle-fill":63510,"rewind-circle":63511,"rewind-fill":63512,rewind:Pr,"train-freight-front-fill":63514,"train-freight-front":63515,"train-front-fill":63516,"train-front":63517,"train-lightrail-front-fill":63518,"train-lightrail-front":63519,"truck-front-fill":63520,"truck-front":63521,ubuntu:Cr,unindent:Sr,unity:Dr,"universal-access-circle":63525,"universal-access":63526,virus:Or,virus2:qr,wechat:Mr,yelp:Ir,"sign-stop-fill":63531,"sign-stop-lights-fill":63532,"sign-stop-lights":63533,"sign-stop":63534,"sign-turn-left-fill":63535,"sign-turn-left":63536,"sign-turn-right-fill":63537,"sign-turn-right":63538,"sign-turn-slight-left-fill":63539,"sign-turn-slight-left":63540,"sign-turn-slight-right-fill":63541,"sign-turn-slight-right":63542,"sign-yield-fill":63543,"sign-yield":63544,"ev-station-fill":63545,"ev-station":63546,"fuel-pump-diesel-fill":63547,"fuel-pump-diesel":63548,"fuel-pump-fill":63549,"fuel-pump":63550,"0-circle-fill":63551,"0-circle":63552,"0-square-fill":63553,"0-square":63554,"rocket-fill":63555,"rocket-takeoff-fill":63556,"rocket-takeoff":63557,rocket:Tr,stripe:jr,subscript:Br,superscript:Lr,trello:Rr,"envelope-at-fill":63563,"envelope-at":63564,regex:Ar,"text-wrap":63566,"sign-dead-end-fill":63567,"sign-dead-end":63568,"sign-do-not-enter-fill":63569,"sign-do-not-enter":63570,"sign-intersection-fill":63571,"sign-intersection-side-fill":63572,"sign-intersection-side":63573,"sign-intersection-t-fill":63574,"sign-intersection-t":63575,"sign-intersection-y-fill":63576,"sign-intersection-y":63577,"sign-intersection":63578,"sign-merge-left-fill":63579,"sign-merge-left":63580,"sign-merge-right-fill":63581,"sign-merge-right":63582,"sign-no-left-turn-fill":63583,"sign-no-left-turn":63584,"sign-no-parking-fill":63585,"sign-no-parking":63586,"sign-no-right-turn-fill":63587,"sign-no-right-turn":63588,"sign-railroad-fill":63589,"sign-railroad":63590,"building-add":63591,"building-check":63592,"building-dash":63593,"building-down":63594,"building-exclamation":63595,"building-fill-add":63596,"building-fill-check":63597,"building-fill-dash":63598,"building-fill-down":63599,"building-fill-exclamation":63600,"building-fill-gear":63601,"building-fill-lock":63602,"building-fill-slash":63603,"building-fill-up":63604,"building-fill-x":63605,"building-fill":63606,"building-gear":63607,"building-lock":63608,"building-slash":63609,"building-up":63610,"building-x":63611,"buildings-fill":63612,buildings:Nr,"bus-front-fill":63614,"bus-front":63615,"ev-front-fill":63616,"ev-front":63617,"globe-americas":63618,"globe-asia-australia":63619,"globe-central-south-asia":63620,"globe-europe-africa":63621,"house-add-fill":63622,"house-add":63623,"house-check-fill":63624,"house-check":63625,"house-dash-fill":63626,"house-dash":63627,"house-down-fill":63628,"house-down":63629,"house-exclamation-fill":63630,"house-exclamation":63631,"house-gear-fill":63632,"house-gear":63633,"house-lock-fill":63634,"house-lock":63635,"house-slash-fill":63636,"house-slash":63637,"house-up-fill":63638,"house-up":63639,"house-x-fill":63640,"house-x":63641,"person-add":63642,"person-down":63643,"person-exclamation":63644,"person-fill-add":63645,"person-fill-check":63646,"person-fill-dash":63647,"person-fill-down":63648,"person-fill-exclamation":63649,"person-fill-gear":63650,"person-fill-lock":63651,"person-fill-slash":63652,"person-fill-up":63653,"person-fill-x":63654,"person-gear":63655,"person-lock":63656,"person-slash":63657,"person-up":63658,scooter:Er,"taxi-front-fill":63660,"taxi-front":63661,amd:Fr,"database-add":63663,"database-check":63664,"database-dash":63665,"database-down":63666,"database-exclamation":63667,"database-fill-add":63668,"database-fill-check":63669,"database-fill-dash":63670,"database-fill-down":63671,"database-fill-exclamation":63672,"database-fill-gear":63673,"database-fill-lock":63674,"database-fill-slash":63675,"database-fill-up":63676,"database-fill-x":63677,"database-fill":63678,"database-gear":63679,"database-lock":63680,"database-slash":63681,"database-up":63682,"database-x":63683,database:zr,"houses-fill":63685,houses:Hr,nvidia:Yr,"person-vcard-fill":63688,"person-vcard":63689,"sina-weibo":63690,"tencent-qq":63691,wikipedia:Gr,"alphabet-uppercase":62117,alphabet:Vr,amazon:Jr,"arrows-collapse-vertical":63120,"arrows-expand-vertical":63125,"arrows-vertical":63128,arrows:Ur,"ban-fill":63139,ban:Wr,bing:Qr,cake:Kr,cake2:Zr,cookie:Xr,copy:ed,crosshair:td,crosshair2:ld,"emoji-astonished-fill":63381,"emoji-astonished":63386,"emoji-grimace-fill":63387,"emoji-grimace":63392,"emoji-grin-fill":63393,"emoji-grin":63398,"emoji-surprise-fill":63399,"emoji-surprise":63404,"emoji-tear-fill":63405,"emoji-tear":63410,"envelope-arrow-down-fill":63411,"envelope-arrow-down":63416,"envelope-arrow-up-fill":63417,"envelope-arrow-up":63422,feather:sd,feather2:od,"floppy-fill":63429,floppy:id,"floppy2-fill":63449,floppy2:ad,gitlab:nd,highlighter:rd,"marker-tip":63490,"nvme-fill":63491,nvme:dd,opencollective:cd,"pci-card-network":63693,"pci-card-sound":63694,radar:ud,"send-arrow-down-fill":63696,"send-arrow-down":63697,"send-arrow-up-fill":63698,"send-arrow-up":63699,"sim-slash-fill":63700,"sim-slash":63701,sourceforge:fd,substack:pd,"threads-fill":63704,threads:md,transparency:gd,"twitter-x":63707,"type-h4":63708,"type-h5":63709,"type-h6":63710,"backpack-fill":63711,backpack:hd,"backpack2-fill":63713,backpack2:bd,"backpack3-fill":63715,backpack3:vd,"backpack4-fill":63717,backpack4:kd,brilliance:wd,"cake-fill":63720,"cake2-fill":63721,"duffle-fill":63722,duffle:yd,exposure:xd,"gender-neuter":63725,highlights:$d,"luggage-fill":63727,luggage:_d,"mailbox-flag":63729,"mailbox2-flag":63730,"noise-reduction":63731,"passport-fill":63732,passport:Pd,"person-arms-up":63734,"person-raised-hand":63735,"person-standing-dress":63736,"person-standing":63737,"person-walking":63738,"person-wheelchair":63739,shadows:Cd,"suitcase-fill":63741,"suitcase-lg-fill":63742,"suitcase-lg":63743,suitcase:Sd,"suitcase2-fill":63745,suitcase2:Dd,vignette:Od,bluesky:qd,tux:Md,"beaker-fill":63749,beaker:Id,"flask-fill":63751,"flask-florence-fill":63752,"flask-florence":63753,flask:Td,"leaf-fill":63755,leaf:jd,"measuring-cup-fill":63757,"measuring-cup":63758,"unlock2-fill":63759,unlock2:Bd,"battery-low":63761,anthropic:Ld,"apple-music":63763,claude:Rd,openai:Ad,perplexity:Nd,css:Ed,javascript:Fd,typescript:zd,"fork-knife":63770,"globe-americas-fill":63771,"globe-asia-australia-fill":63772,"globe-central-south-asia-fill":63773,"globe-europe-africa-fill":63774},Hd={class:"border rounded-3 p-2"},Yd={class:"align-items-center overflow-scroll d-flex gap-2 position-relative"},Gd=["aria-label"],Vd={key:1,style:{"white-space":"nowrap"}},Jd=["disabled","placeholder"],Ud=U({__name:"peerTagSetting",props:["group","edit","groupId"],emits:["delete","iconPickerOpen","colorPickerOpen","toggle"],setup(l,{emit:t}){const a=ie(),s=l,m=t,r=q(s.group.GroupName),u=()=>{a.Filter.HiddenTags.includes(s.groupId)?a.Filter.HiddenTags=a.Filter.HiddenTags.filter(_=>_!==s.groupId):a.Filter.HiddenTags.push(s.groupId)};return(_,g)=>(o(),c("div",Hd,[e("div",Yd,[e("button",{onClick:g[0]||(g[0]=d=>m("iconPickerOpen")),"aria-label":"Pick icon button",class:L([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"])},[l.group.Icon?(o(),c("i",{key:0,class:L(["bi","bi-"+l.group.Icon]),"aria-label":l.group.Icon},null,10,Gd)):(o(),c("span",Vd,[n(x,{t:"No Icon"})]))],2),e("button",{class:L([{disabled:!l.edit},"d-flex align-items-center p-2 btn btn-sm border rounded-2"]),"aria-label":"Pick color button",onClick:g[1]||(g[1]=d=>m("colorPickerOpen")),style:pe({"background-color":l.group.BackgroundColor,color:j(a).colorText(l.group.BackgroundColor)})},[...g[6]||(g[6]=[e("i",{class:"bi bi-eyedropper"},null,-1)])],6),de(e("input",{disabled:!l.edit,"onUpdate:modelValue":g[2]||(g[2]=d=>r.value=d),onChange:g[3]||(g[3]=d=>l.group.GroupName=r.value),placeholder:j(H)("Tag Name"),class:"form-control form-control-sm p-2 rounded-2 w-100"},null,40,Jd),[[ke,r.value]]),l.edit?(o(),c("button",{key:0,"aria-label":"Delete Tag Button",onClick:g[4]||(g[4]=d=>m("delete")),class:"rounded-2 border p-2 btn btn-sm btn-outline-danger"},[...g[7]||(g[7]=[e("i",{class:"bi bi-trash-fill"},null,-1)])])):(o(),c("button",{key:1,"aria-label":"Show / Hide Button",style:{"white-space":"nowrap"},class:L([{active:!j(a).Filter.HiddenTags.includes(l.groupId)},"rounded-2 p-2 btn btn-sm btn-outline-primary"]),onClick:g[5]||(g[5]=d=>u())},[e("i",{class:L(["bi",[j(a).Filter.HiddenTags.includes(l.groupId)?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)],2))])]))}}),Wd={class:"w-100 bg-body top-0 border rounded-2"},Qd={class:"p-2 d-flex align-items-center gap-2 border-bottom"},Kd=["placeholder"],Zd={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},Xd=["onClick"],ec={class:"p-2 border-top d-flex gap-2"},tc=U({__name:"peerTagIconPicker",props:["group"],emits:["close","select"],setup(l,{emit:t}){const a=t;ne(()=>{let r=document.querySelector(".icon-grid div.active");r&&(r.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)});const s=q(""),m=N(()=>s.value?[...Object.keys(ve).filter(r=>r.includes(s.value.toLowerCase()))]:Object.keys(ve));return(r,u)=>(o(),c("div",Wd,[e("div",Qd,[u[3]||(u[3]=e("label",null,[e("i",{class:"bi bi-search"})],-1)),de(e("input",{"onUpdate:modelValue":u[0]||(u[0]=_=>s.value=_),placeholder:j(H)("Search Icon"),class:"form-control form-control-sm rounded-2"},null,8,Kd),[[ke,s.value]])]),e("div",Zd,[(o(!0),c(F,null,G(m.value,_=>(o(),c("div",{class:L(["rounded-1 border icon d-flex",{"text-bg-success active":l.group.Icon===_}]),style:{cursor:"pointer"},key:_,onClick:g=>l.group.Icon=_},[e("i",{class:L(["bi m-auto","bi-"+_])},null,2)],10,Xd))),128))]),e("div",ec,[e("button",{onClick:u[1]||(u[1]=_=>l.group.Icon=""),class:"btn btn-sm btn-secondary rounded-2 ms-auto"},[n(x,{t:"Remove Icon"})]),e("button",{class:"btn btn-sm btn-success rounded-2",onClick:u[2]||(u[2]=_=>a("close"))},[n(x,{t:"Done"})])])]))}}),lc=K(tc,[["__scopeId","data-v-3c48f50e"]]),sc={class:"w-100 bg-body top-0 border rounded-2"},oc={class:"p-2 d-grid icon-grid",style:{"grid-template-columns":"repeat(auto-fit, minmax(30px, 30px))",gap:"3px","max-height":"300px","overflow-y":"scroll"}},ic=["aria-label","onClick"],ac={class:"p-2 border-top d-flex gap-2"},nc=U({__name:"peerTagColorPicker",props:["colors","group"],emits:["close","select",""],setup(l,{emit:t}){const a=t;q("");const s=ie();return ne(()=>{let m=document.querySelector(".icon-grid div.active");m&&(m.parentElement.scrollTop=document.querySelector(".icon-grid div.active").offsetTop-60)}),(m,r)=>(o(),c("div",sc,[e("div",oc,[(o(!0),c(F,null,G(l.colors,(u,_)=>(o(),c("div",{class:L(["rounded-1 border icon d-flex",{active:l.group.BackgroundColor===u}]),style:pe([{cursor:"pointer"},{"background-color":u}]),"aria-label":_,key:u,onClick:g=>l.group.BackgroundColor=u},[l.group.BackgroundColor===u?(o(),c("i",{key:0,style:pe({color:j(s).colorText(u)}),class:"bi bi-check-circle m-auto"},null,4)):O("",!0)],14,ic))),128))]),e("div",ac,[e("button",{class:"btn btn-sm btn-success rounded-2 ms-auto",onClick:r[0]||(r[0]=u=>a("close"))},[n(x,{t:"Done"})])])]))}}),rc=K(nc,[["__scopeId","data-v-accdf15e"]]),dc={class:"card shadow rounded-3",id:"peerTag"},cc={class:"card-header"},uc={class:"form-check form-switch"},fc={class:"form-check-label",for:"showAllPeers"},pc={class:"card-body p-2"},mc={key:0},gc={key:0,class:"text-center text-muted"},hc={key:1,class:"d-flex flex-column gap-2"},bc={class:"card-footer p-2 d-flex gap-2"},vc=U({__name:"peerTag",props:["configuration"],emits:["close","update"],setup(l,{emit:t}){const a={"blue-100":"#cfe2ff","blue-200":"#9ec5fe","blue-300":"#6ea8fe","blue-400":"#3d8bfd","blue-500":"#0d6efd","blue-600":"#0a58ca","blue-700":"#084298","blue-800":"#052c65","blue-900":"#031633","indigo-100":"#e0cffc","indigo-200":"#c29ffa","indigo-300":"#a370f7","indigo-400":"#8540f5","indigo-500":"#6610f2","indigo-600":"#520dc2","indigo-700":"#3d0a91","indigo-800":"#290661","indigo-900":"#140330","purple-100":"#e2d9f3","purple-200":"#c5b3e6","purple-300":"#a98eda","purple-400":"#8c68cd","purple-500":"#6f42c1","purple-600":"#59359a","purple-700":"#432874","purple-800":"#2c1a4d","purple-900":"#160d27","pink-100":"#f7d6e6","pink-200":"#efadce","pink-300":"#e685b5","pink-400":"#de5c9d","pink-500":"#d63384","pink-600":"#ab296a","pink-700":"#801f4f","pink-800":"#561435","pink-900":"#2b0a1a","red-100":"#f8d7da","red-200":"#f1aeb5","red-300":"#ea868f","red-400":"#e35d6a","red-500":"#dc3545","red-600":"#b02a37","red-700":"#842029","red-800":"#58151c","red-900":"#2c0b0e","orange-100":"#ffe5d0","orange-200":"#fecba1","orange-300":"#feb272","orange-400":"#fd9843","orange-500":"#fd7e14","orange-600":"#ca6510","orange-700":"#984c0c","orange-800":"#653208","orange-900":"#331904","yellow-100":"#fff3cd","yellow-200":"#ffe69c","yellow-300":"#ffda6a","yellow-400":"#ffcd39","yellow-500":"#ffc107","yellow-600":"#cc9a06","yellow-700":"#997404","yellow-800":"#664d03","yellow-900":"#332701","green-100":"#d1e7dd","green-200":"#a3cfbb","green-300":"#75b798","green-400":"#479f76","green-500":"#198754","green-600":"#146c43","green-700":"#0f5132","green-800":"#0a3622","green-900":"#051b11","teal-100":"#d2f4ea","teal-200":"#a6e9d5","teal-300":"#79dfc1","teal-400":"#4dd4ac","teal-500":"#20c997","teal-600":"#1aa179","teal-700":"#13795b","teal-800":"#0d503c","teal-900":"#06281e","cyan-100":"#cff4fc","cyan-200":"#9eeaf9","cyan-300":"#6edff6","cyan-400":"#3dd5f3","cyan-500":"#0dcaf0","cyan-600":"#0aa2c0","cyan-700":"#087990","cyan-800":"#055160","cyan-900":"#032830","gray-100":"#f8f9fa","gray-200":"#e9ecef","gray-300":"#dee2e6","gray-400":"#ced4da","gray-500":"#adb5bd","gray-600":"#6c757d","gray-700":"#495057","gray-800":"#343a40","gray-900":"#212529",white:"#fff",black:"#000"},s=ie(),m=l,r=_e({...m.configuration.Info.PeerGroups}),u=()=>{r[ze().toString()]={GroupName:"",Description:"",BackgroundColor:_(),Icon:g(),Peers:[]}},_=()=>{const S=Object.keys(a),b=Math.floor(Math.random()*S.length)+1;return a[S[b]]},g=()=>{const S=Object.keys(ve),b=Math.floor(Math.random()*S.length)+1;return S[b]},d=q(!1),f=q(!1),v=q(""),w=t;se(()=>r,S=>{X("/api/updateWireguardConfigurationInfo",{Name:m.configuration.Name,Key:"PeerGroups",Value:S},b=>{b.status&&w("update",r)})},{deep:!0});const $=q(!1);return(S,b)=>(o(),c("div",dc,[e("div",cc,[e("div",uc,[de(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"showAllPeers","onUpdate:modelValue":b[0]||(b[0]=y=>j(s).Filter.ShowAllPeersWhenHiddenTags=y)},null,512),[[Pe,j(s).Filter.ShowAllPeersWhenHiddenTags]]),e("label",fc,[e("small",null,[n(x,{t:"Show All Peers"})])])])]),e("div",pc,[n(ae,{name:"zoom",mode:"out-in"},{default:W(()=>[!d.value&&!f.value?(o(),c("div",mc,[Object.keys(r).length===0?(o(),c("div",gc,[e("small",null,[n(x,{t:"No tag"})])])):(o(),c("div",hc,[n(me,{name:"slide-fade"},{default:W(()=>[(o(!0),c(F,null,G(r,(y,C)=>(o(),I(Ud,{groupId:C,onDelete:M=>{delete r[C],j(s).Filter.HiddenTags=j(s).Filter.HiddenTags.filter(z=>z!==C)},onColorPickerOpen:M=>{f.value=!0,v.value=C},onIconPickerOpen:M=>{d.value=!0,v.value=C},key:C,edit:$.value,group:y},null,8,["groupId","onDelete","onColorPickerOpen","onIconPickerOpen","edit","group"]))),128))]),_:1})]))])):d.value?(o(),I(lc,{key:1,onClose:b[1]||(b[1]=y=>d.value=!1),group:r[v.value]},null,8,["group"])):f.value?(o(),I(rc,{key:2,colors:a,onClose:b[2]||(b[2]=y=>f.value=!1),group:r[v.value]},null,8,["group"])):O("",!0)]),_:1})]),e("div",bc,[$.value?(o(),c(F,{key:1},[e("button",{onClick:u,class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[e("small",null,[b[7]||(b[7]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),n(x,{t:"Tag"})])]),e("button",{onClick:b[5]||(b[5]=y=>$.value=!1),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3 ms-auto"},[e("small",null,[n(x,{t:"Done"})])])],64)):(o(),c(F,{key:0},[e("button",{onClick:b[3]||(b[3]=y=>w("close")),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[e("small",null,[n(x,{t:"Close"})])]),e("button",{onClick:b[4]||(b[4]=y=>$.value=!0),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 ms-auto"},[e("small",null,[b[6]||(b[6]=e("i",{class:"bi bi-pen me-2"},null,-1)),n(x,{t:"Edit"})])])],64))])]))}}),kc=K(vc,[["__scopeId","data-v-ab3e5c4e"]]),wc={name:"peerSearch",components:{PeerTag:kc,LocaleText:x},setup(){const l=oe(),t=ie();return{store:l,wireguardConfigurationStore:t}},props:{configuration:Object,displayTags:Array},data(){return{sort:{status:H("Status"),name:H("Name"),allowed_ip:H("Allowed IPs"),restricted:H("Restricted")},interval:{5e3:H("5 Seconds"),1e4:H("10 Seconds"),3e4:H("30 Seconds"),6e4:H("1 Minutes")},display:{grid:H("Grid"),list:H("List")},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1,tagManager:!1}},methods:{updateSort(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:l},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:l},t=>{t.status&&this.store.getConfiguration()})},updateDisplay(l){X("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_peer_list_display",value:l},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){ee(`/api/downloadAllPeers/${this.configuration.Name}`,{},l=>{l.data.forEach(t=>{t.fileName=t.fileName+".conf"}),window.wireguard.generateZipFiles(l,this.configuration.Name)})}}},yc={class:"d-flex flex-column gap-2 my-4"},xc={class:"d-flex gap-2 peerSearchContainer"},$c={class:"dropdown"},_c={"data-bs-toggle":"dropdown",class:"btn w-100 btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Pc={class:"badge text-bg-primary ms-2"},Cc={class:"dropdown-menu rounded-3"},Sc=["onClick"],Dc={class:"ms-auto"},Oc={key:0,class:"bi bi-check-circle-fill"},qc={class:"dropdown"},Mc={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Ic={class:"badge text-bg-primary ms-2"},Tc={class:"dropdown-menu rounded-3"},jc=["onClick"],Bc={class:"ms-auto"},Lc={key:0,class:"bi bi-check-circle-fill"},Rc={class:"dropdown"},Ac={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},Nc={class:"badge text-bg-primary ms-2"},Ec={class:"dropdown-menu rounded-3"},Fc=["onClick"],zc={class:"ms-auto"},Hc={key:0,class:"bi bi-check-circle-fill"},Yc={class:"position-relative"};function Gc(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerTag");return o(),c("div",yc,[e("div",xc,[e("div",$c,[e("button",_c,[t[7]||(t[7]=e("i",{class:"bi bi-sort-up me-2"},null,-1)),n(u,{t:"Sort By"}),e("span",Pc,D(this.sort[s.store.Configuration.Server.dashboard_sort]),1)]),e("ul",Cc,[(o(!0),c(F,null,G(this.sort,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateSort(d)},[e("small",null,D(g),1),e("small",Dc,[s.store.Configuration.Server.dashboard_sort===d?(o(),c("i",Oc)):O("",!0)])],8,Sc)]))),256))])]),e("div",qc,[e("button",Mc,[t[8]||(t[8]=e("i",{class:"bi bi-arrow-repeat me-2"},null,-1)),n(u,{t:"Refresh Interval"}),e("span",Ic,D(this.interval[s.store.Configuration.Server.dashboard_refresh_interval]),1)]),e("ul",Tc,[(o(!0),c(F,null,G(this.interval,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateRefreshInterval(d)},[e("small",null,D(g),1),e("small",Bc,[s.store.Configuration.Server.dashboard_refresh_interval===d?(o(),c("i",Lc)):O("",!0)])],8,jc)]))),256))])]),e("div",Rc,[e("button",Ac,[e("i",{class:L(["bi me-2","bi-"+s.store.Configuration.Server.dashboard_peer_list_display])},null,2),n(u,{t:"Display"}),e("span",Nc,D(this.display[s.store.Configuration.Server.dashboard_peer_list_display]),1)]),e("ul",Ec,[(o(!0),c(F,null,G(this.display,(g,d)=>(o(),c("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:f=>this.updateDisplay(d)},[e("small",null,D(g),1),e("small",zc,[s.store.Configuration.Server.dashboard_peer_list_display===d?(o(),c("i",Hc)):O("",!0)])],8,Fc)]))),256))])]),e("div",Yc,[e("button",{onClick:t[0]||(t[0]=g=>m.tagManager=!m.tagManager),class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},[t[9]||(t[9]=e("i",{class:"bi me-2 bi-tag"},null,-1)),n(u,{t:"Tags"})]),n(ae,{name:"slide-fade"},{default:W(()=>[this.tagManager?(o(),I(_,{key:0,onUpdate:t[1]||(t[1]=g=>a.configuration.Info.PeerGroups=g),onClose:t[2]||(t[2]=g=>this.tagManager=!1),configuration:a.configuration},null,8,["configuration"])):O("",!0)]),_:1})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle ms-lg-auto",onClick:t[3]||(t[3]=g=>this.$emit("search"))},[t[10]||(t[10]=e("i",{class:"bi bi-search me-2"},null,-1)),n(u,{t:"Search"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[4]||(t[4]=g=>this.downloadAllPeer())},[t[11]||(t[11]=e("i",{class:"bi bi-download me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Download All",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[5]||(t[5]=g=>this.$emit("selectPeers"))},[t[12]||(t[12]=e("i",{class:"bi bi-check2-all me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Select Peers",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[6]||(t[6]=g=>this.$emit("jobsAll")),type:"button","aria-expanded":"false"},[t[13]||(t[13]=e("i",{class:"bi bi-person-walking me-2 me-lg-0 me-xl-2"},null,-1)),n(u,{t:"Active Jobs",class:"d-sm-block d-lg-none d-xl-block"})])])])}const Vc=K(wc,[["render",Gc],["__scopeId","data-v-71502547"]]),Jc={key:0,class:"position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow"},Uc={__name:"peerSettingsDropdownTool",props:{icon:String,title:String},emits:["click"],setup(l,{emit:t}){const a=t,s=q(!1);return(m,r)=>(o(),c("a",{class:"dropdown-item text-center px-0 rounded-3 position-relative",role:"button",onMouseenter:r[0]||(r[0]=u=>s.value=!0),onMouseleave:r[1]||(r[1]=u=>s.value=!1),onClick:r[2]||(r[2]=u=>a("click"))},[e("i",{class:L(["me-auto bi",l.icon])},null,2),n(ae,{name:"zoomReversed"},{default:W(()=>[s.value?(o(),c("span",Jc,[e("small",null,[n(x,{t:l.title},null,8,["t"])])])):O("",!0)]),_:1})],32))}},Wc=K(Uc,[["__scopeId","data-v-d4e41a56"]]),Qc={class:"mb-0"},Ne=U({__name:"peerTagBadge",props:["BackgroundColor","GroupName","Icon"],setup(l){const t=ie();return(a,s)=>(o(),c("h6",Qc,[e("span",{class:"badge rounded-3 shadow",style:pe({"background-color":l.BackgroundColor,color:j(t).colorText(l.BackgroundColor)})},[l.Icon?(o(),c("i",{key:0,class:L(["bi",[l.Icon,l.GroupName?"me-2":""]])},null,2)):O("",!0),E(D(l.GroupName),1)],4)]))}}),Kc={class:"dropdown-menu"},Zc=["onClick"],Xc={key:0,class:"bi bi-check-circle-fill"},e6={key:1,class:"bi bi-circle"},t6=U({__name:"peerTagSelectDropdown",props:["Peer","ConfigurationInfo"],emits:["update"],setup(l,{emit:t}){const a=l,s=_e({...a.ConfigurationInfo.Info.PeerGroups}),m=t;se(()=>s,u=>{X("/api/updateWireguardConfigurationInfo",{Name:a.ConfigurationInfo.Name,Key:"PeerGroups",Value:u},_=>{_.status&&m("update",s)})},{deep:!0});const r=(u,_)=>{s[u].Peers.includes(_)?s[u].Peers=s[u].Peers.filter(g=>g!==_):s[u].Peers.push(_)};return(u,_)=>(o(),c("ul",Kc,[(o(!0),c(F,null,G(s,(g,d)=>(o(),c("li",null,[e("a",{role:"button",onClick:f=>r(d,l.Peer.id),class:"dropdown-item d-flex align-items-center"},[g.Peers.includes(l.Peer.id)?(o(),c("i",Xc)):(o(),c("i",e6)),n(Ne,{class:"ms-auto",BackgroundColor:g.BackgroundColor,GroupName:g.GroupName,Icon:"bi-"+g.Icon},null,8,["BackgroundColor","GroupName","Icon"])],8,Zc)]))),256))]))}}),l6={name:"peerSettingsDropdown",components:{PeerTagSelectDropdown:t6,PeerSettingsDropdownTool:Wc,LocaleText:x},setup(){return{dashboardStore:oe()}},props:{Peer:Object,ConfigurationInfo:Object,dropup:Boolean},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1,confirmDelete:!1,height:0}},mounted(){this.height=document.querySelector("#peerDropdown").clientHeight},methods:{downloadPeer(){ee("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},l=>{if(l.status){const t=new Blob([l.data.file],{type:"text/conf"}),a=URL.createObjectURL(t),s=`${l.data.fileName}.conf`,m=document.createElement("a");m.href=a,m.download=s,m.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",l.message,"danger")})},downloadQRCode(l){ee("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},t=>{t.status?this.$emit(l,t.data.file):this.dashboardStore.newMessage("Server",t.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,X(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,X(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,X(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},l=>{this.dashboardStore.newMessage("Server",l.message,l.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},s6={style:{"font-size":"0.8rem","padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},o6={class:"text-body d-flex"},i6={class:"ms-auto"},a6={key:1},n6={class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},r6={key:2},d6={class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},c6={class:"dropdown dropstart"},u6={class:"dropdown-item d-flex",role:"button","data-bs-auto-close":"outside","data-bs-toggle":"dropdown"},f6={key:1,class:"confirmDelete"},p6={style:{"white-space":"break-spaces"},class:"mb-2 d-block fw-bold"},m6={class:"d-flex w-100 gap-2"},g6=["disabled"],h6=["disabled"],b6={key:1};function v6(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerSettingsDropdownTool"),g=le("PeerTagSelectDropdown");return o(),c("ul",{class:L([{dropup:a.dropup},"dropdown-menu mt-2 shadow-lg d-block rounded-3"]),id:"peerDropdown",style:{"max-width":"200px"}},[this.Peer.restricted?(o(),c("li",b6,[e("a",{class:L(["dropdown-item d-flex text-warning",{disabled:this.allowAccessBtnDisabled}]),onClick:t[12]||(t[12]=d=>this.allowAccessPeer()),role:"button"},[t[28]||(t[28]=e("i",{class:"me-auto bi bi-unlock"},null,-1)),this.allowAccessBtnDisabled?(o(),I(u,{key:1,t:"Allowing Access..."})):(o(),I(u,{key:0,t:"Allow Access"}))],2)])):(o(),c(F,{key:0},[this.confirmDelete?(o(),c("li",f6,[e("p",p6,[n(u,{t:"Are you sure to delete this peer?"})]),e("div",m6,[e("button",{onClick:t[10]||(t[10]=d=>this.deletePeer()),disabled:this.deleteBtnDisabled,class:"flex-grow-1 ms-auto btn btn-sm bg-danger"},[n(u,{t:"Yes"})],8,g6),e("button",{disabled:this.deleteBtnDisabled,onClick:t[11]||(t[11]=d=>this.confirmDelete=!1),class:"flex-grow-1 btn btn-sm bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle"},[n(u,{t:"No"})],8,h6)])])):(o(),c(F,{key:0},[this.Peer.status==="running"?(o(),c(F,{key:0},[e("li",s6,[e("span",o6,[t[13]||(t[13]=e("i",{class:"bi bi-box-arrow-in-right"},null,-1)),e("span",i6,D(this.Peer.endpoint),1)])]),t[14]||(t[14]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1))],64)):O("",!0),this.Peer.private_key?(o(),c("li",r6,[t[15]||(t[15]=e("div",{class:"text-center text-muted"},null,-1)),e("div",d6,[n(_,{icon:"bi-download",title:"Download",onClick:t[0]||(t[0]=d=>this.downloadPeer())}),n(_,{icon:"bi-qr-code",title:"QR Code",onClick:t[1]||(t[1]=d=>this.$emit("qrcode"))}),n(_,{icon:"bi-body-text",title:"Configuration File",onClick:t[2]||(t[2]=d=>this.$emit("configurationFile"))}),n(_,{icon:"bi-share",title:"Share Peer",onClick:t[3]||(t[3]=d=>this.$emit("share"))})])])):(o(),c("li",a6,[e("small",n6,[n(u,{t:"Download & QR Code is not available due to no private key set for this peer"})])])),t[26]||(t[26]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=d=>this.$emit("setting"))},[t[16]||(t[16]=e("i",{class:"me-auto bi bi-pen"},null,-1)),t[17]||(t[17]=E()),n(u,{t:"Peer Settings"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[5]||(t[5]=d=>this.$emit("jobs"))},[t[18]||(t[18]=e("i",{class:"me-auto bi bi-app-indicator"},null,-1)),t[19]||(t[19]=E()),n(u,{t:"Schedule Jobs"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[6]||(t[6]=d=>this.$emit("assign"))},[t[20]||(t[20]=e("i",{class:"me-auto bi bi-diagram-2"},null,-1)),t[21]||(t[21]=E()),n(u,{t:"Assign Peer"})])]),e("li",c6,[e("a",u6,[t[22]||(t[22]=e("i",{class:"me-auto bi bi-tag"},null,-1)),t[23]||(t[23]=E()),n(u,{t:"Tag Peer"})]),n(g,{onUpdate:t[7]||(t[7]=d=>this.$emit("refresh")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo},null,8,["Peer","ConfigurationInfo"])]),t[27]||(t[27]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:L(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[8]||(t[8]=d=>this.restrictPeer()),role:"button"},[t[24]||(t[24]=e("i",{class:"me-auto bi bi-lock"},null,-1)),this.restrictBtnDisabled?(o(),I(u,{key:1,t:"Restricting..."})):(o(),I(u,{key:0,t:"Restrict Access"}))],2)]),e("li",null,[e("a",{class:L(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[9]||(t[9]=d=>this.confirmDelete=!0),role:"button"},[t[25]||(t[25]=e("i",{class:"me-auto bi bi-trash"},null,-1)),this.deleteBtnDisabled?(o(),I(u,{key:1,t:"Deleting..."})):(o(),I(u,{key:0,t:"Delete"}))],2)])],64))],64))],2)}const k6=K(l6,[["render",v6],["__scopeId","data-v-18549c26"]]),w6={name:"peer",methods:{GetLocale:H},components:{PeerTagBadge:Ne,LocaleText:x,PeerSettingsDropdown:k6},props:{Peer:Object,ConfigurationInfo:Object,order:Number,searchPeersLength:Number},setup(){const l=q(null),t=q(!1),a=oe();return Je(l,s=>{t.value=!1}),{target:l,subMenuOpened:t,dashboardStore:a}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake},getDropup(){return this.searchPeersLength-this.order<=3}}},y6=["id"],x6={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},$6={key:0,style:{"font-size":"0.8rem",color:"#28a745"},class:"d-flex align-items-center"},_6={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},P6={class:"text-primary"},C6={class:"text-success"},S6={key:0,class:"text-secondary"},D6={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},O6={class:"card-body pt-1",style:{"font-size":"0.9rem"}},q6={class:"text-muted"},M6={class:"d-block"},I6={class:"text-muted"},T6={class:"d-block"},j6={class:"d-flex align-items-center"};function B6(l,t,a,s,m,r){const u=le("LocaleText"),_=le("PeerTagBadge"),g=le("PeerSettingsDropdown");return o(),c("div",{class:L(["card shadow-sm rounded-3 peerCard",{"border-warning":a.Peer.restricted}]),id:"peer_"+a.Peer.id},[e("div",null,[a.Peer.restricted?(o(),c("div",D6,[t[15]||(t[15]=e("i",{class:"bi-lock-fill me-2"},null,-1)),n(u,{t:"Access Restricted"})])):(o(),c("div",x6,[e("div",{class:L(["dot ms-0",{active:a.Peer.status==="running"}])},null,2),s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"&&a.Peer.status==="running"?(o(),c("div",$6,[t[9]||(t[9]=e("i",{class:"bi bi-box-arrow-in-right me-2"},null,-1)),e("span",null,D(a.Peer.endpoint),1)])):O("",!0),e("div",_6,[e("span",P6,[t[10]||(t[10]=e("i",{class:"bi bi-arrow-down"},null,-1)),e("strong",null,D((a.Peer.cumu_receive+a.Peer.total_receive).toFixed(4)),1),t[11]||(t[11]=E(" GB ",-1))]),e("span",C6,[t[12]||(t[12]=e("i",{class:"bi bi-arrow-up"},null,-1)),e("strong",null,D((a.Peer.cumu_sent+a.Peer.total_sent).toFixed(4)),1),t[13]||(t[13]=E(" GB ",-1))]),a.Peer.latest_handshake!=="No Handshake"?(o(),c("span",S6,[t[14]||(t[14]=e("i",{class:"bi bi-arrows-angle-contract"},null,-1)),E(" "+D(r.getLatestHandshake)+" ago ",1)])):O("",!0)])]))]),e("div",O6,[e("h6",null,D(a.Peer.name?a.Peer.name:r.GetLocale("Untitled Peer")),1),e("div",{class:L(["d-flex",[s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:L({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",q6,[n(u,{t:"Public Key"})]),e("small",M6,[e("samp",null,D(a.Peer.id),1)])],2),e("div",{class:L({"d-flex gap-2 align-items-center":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",I6,[n(u,{t:"Allowed IPs"})]),e("small",T6,[e("samp",null,D(a.Peer.allowed_ip),1)])],2),e("div",{class:L(["d-flex align-items-center gap-1",{"ms-auto":s.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"}])},[(o(!0),c(F,null,G(Object.values(a.ConfigurationInfo.Info.PeerGroups).filter(d=>d.Peers.includes(a.Peer.id)),d=>(o(),I(_,{BackgroundColor:d.BackgroundColor,GroupName:d.GroupName,Icon:"bi-"+d.Icon},null,8,["BackgroundColor","GroupName","Icon"]))),256)),e("div",{class:L(["ms-auto px-2 rounded-3 subMenuBtn position-relative",{active:this.subMenuOpened}])},[e("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=d=>this.subMenuOpened=!0)},[...t[16]||(t[16]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-three-dots"})],-1)])]),n(ae,{name:"slide-fade"},{default:W(()=>[this.subMenuOpened?(o(),I(g,{key:0,dropup:r.getDropup,onQrcode:t[1]||(t[1]=d=>this.$emit("qrcode")),onConfigurationFile:t[2]||(t[2]=d=>this.$emit("configurationFile")),onSetting:t[3]||(t[3]=d=>this.$emit("setting")),onJobs:t[4]||(t[4]=d=>this.$emit("jobs")),onRefresh:t[5]||(t[5]=d=>this.$emit("refresh")),onShare:t[6]||(t[6]=d=>this.$emit("share")),onAssign:t[7]||(t[7]=d=>this.$emit("assign")),Peer:a.Peer,ConfigurationInfo:a.ConfigurationInfo,ref:"target"},null,8,["dropup","Peer","ConfigurationInfo"])):O("",!0)]),_:1})],2)],2)],2)]),e("div",{class:"card-footer",role:"button",onClick:t[8]||(t[8]=d=>l.$emit("details"))},[e("small",j6,[n(u,{t:"Details"}),t[17]||(t[17]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])])],10,y6)}const L6=K(w6,[["render",B6],["__scopeId","data-v-06609b08"]]),R6={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(l,{emit:t}){const a=t,s=V(()=>J(()=>import("./peerAssignModal-iLrnQUJy.js"),__vite__mapDeps([0,1,2,3,4,5]))),m=V(()=>J(()=>import("./peerShareLinkModal-BFYJpVZm.js"),__vite__mapDeps([6,2,3,7,8,9,1,10]))),r=V(()=>J(()=>import("./peerJobs-BmncqYw7.js"),__vite__mapDeps([11,12,2,3,8,9,7,1,13,14]))),u=V(()=>J(()=>import("./peerQRCode-C3UfG2HU.js"),__vite__mapDeps([15,16,2,3,17,1,18]))),_=V(()=>J(()=>import("./peerConfigurationFile-BVFVwJdN.js"),__vite__mapDeps([19,2,3,1,16,17,20]))),g=V(()=>J(()=>import("./peerSettings-B48PQaPb.js"),__vite__mapDeps([21,2,3,1,22])));return(d,f)=>(o(),I(me,{name:"zoom"},{default:W(()=>[l.configurationModals.peerSetting.modalOpen?(o(),I(j(g),{key:"PeerSettingsModal",selectedPeer:l.configurationModalSelectedPeer,onRefresh:f[0]||(f[0]=v=>a("refresh")),onClose:f[1]||(f[1]=v=>l.configurationModals.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerQRCode.modalOpen?(o(),I(j(u),{key:"PeerQRCodeModal",selectedPeer:l.configurationModalSelectedPeer,onClose:f[2]||(f[2]=v=>l.configurationModals.peerQRCode.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerScheduleJobs.modalOpen?(o(),I(j(r),{key:"PeerJobsModal",onRefresh:f[3]||(f[3]=v=>a("refresh")),selectedPeer:l.configurationModalSelectedPeer,onClose:f[4]||(f[4]=v=>l.configurationModals.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerShare.modalOpen?(o(),I(j(m),{key:"PeerShareLinkModal",onClose:f[5]||(f[5]=v=>{l.configurationModals.peerShare.modalOpen=!1}),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):O("",!0),l.configurationModals.peerConfigurationFile.modalOpen?(o(),I(j(_),{key:"PeerConfigurationFileModal",onClose:f[6]||(f[6]=v=>l.configurationModals.peerConfigurationFile.modalOpen=!1),selectedPeer:l.configurationModalSelectedPeer},null,8,["selectedPeer"])):O("",!0),l.configurationModals.assignPeer.modalOpen?(o(),I(j(s),{key:"PeerAssignModal",selectedPeer:l.configurationModalSelectedPeer,onClose:f[7]||(f[7]=v=>l.configurationModals.assignPeer.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0)]),_:1}))}},A6={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},N6={__name:"peerIntersectionObserver",props:["peerListLength","showPeersCount"],emits:["loadMore"],setup(l,{emit:t}){const a=q(void 0),s=t;return ne(()=>{a.value=new IntersectionObserver(m=>{m.forEach(r=>{r.isIntersecting&&s("loadMore")})},{rootMargin:"20px",threshold:1}),a.value.observe(document.querySelector("#loadMore"))}),re(()=>{a.value.disconnect()}),(m,r)=>(o(),c("div",A6))}},E6={class:"d-flex gap-1 flex-column"},F6=U({__name:"configurationDescription",props:["configuration"],setup(l){const t=l,a=q(t.configuration.Info.Description),s=q(!1),m=q(!1),r=async()=>{await X("/api/updateWireguardConfigurationInfo",{Name:t.configuration.Name,Key:"Description",Value:a.value},_=>{m.value=_.status,u()})},u=()=>{s.value=!0,setTimeout(()=>{s.value=!1},3e3)};return(_,g)=>(o(),c("div",E6,[g[2]||(g[2]=e("label",{for:"configurationDescription"},[e("small",{style:{"white-space":"nowrap"},class:"text-muted"},[e("i",{class:"bi bi-pencil-fill me-2"}),E("Notes ")])],-1)),de(e("input",{type:"text",class:L([[s.value?[m.value?"is-valid":"is-invalid"]:void 0],"form-control rounded-3 bg-transparent form-control-sm"]),id:"configurationDescription","onUpdate:modelValue":g[0]||(g[0]=d=>a.value=d),onChange:g[1]||(g[1]=d=>r())},null,34),[[ke,a.value]])]))}});var ue={exports:{}},z6=ue.exports,ye;function H6(){return ye||(ye=1,(function(l,t){(function(a,s){l.exports=s()})(z6,(function(){return function(a,s){s.prototype.isSameOrBefore=function(m,r){return this.isSame(m,r)||this.isBefore(m,r)}}}))})(ue)),ue.exports}var Y6=H6();const Ee=Ce(Y6);var fe={exports:{}},G6=fe.exports,xe;function V6(){return xe||(xe=1,(function(l,t){(function(a,s){l.exports=s()})(G6,(function(){var a,s,m=1e3,r=6e4,u=36e5,_=864e5,g=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=31536e6,f=2628e6,v=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,w={years:d,months:f,days:_,hours:u,minutes:r,seconds:m,milliseconds:1,weeks:6048e5},$=function(T){return T instanceof te},S=function(T,P,h){return new te(T,h,P.$l)},b=function(T){return s.p(T)+"s"},y=function(T){return T<0},C=function(T){return y(T)?Math.ceil(T):Math.floor(T)},M=function(T){return Math.abs(T)},z=function(T,P){return T?y(T)?{negative:!0,format:""+M(T)+P}:{negative:!1,format:""+T+P}:{negative:!1,format:""}},te=(function(){function T(h,B,A){var R=this;if(this.$d={},this.$l=A,h===void 0&&(this.$ms=0,this.parseFromMilliseconds()),B)return S(h*w[b(B)],this);if(typeof h=="number")return this.$ms=h,this.parseFromMilliseconds(),this;if(typeof h=="object")return Object.keys(h).forEach((function(p){R.$d[b(p)]=h[p]})),this.calMilliseconds(),this;if(typeof h=="string"){var k=h.match(v);if(k){var i=k.slice(2).map((function(p){return p!=null?Number(p):0}));return this.$d.years=i[0],this.$d.months=i[1],this.$d.weeks=i[2],this.$d.days=i[3],this.$d.hours=i[4],this.$d.minutes=i[5],this.$d.seconds=i[6],this.calMilliseconds(),this}}return this}var P=T.prototype;return P.calMilliseconds=function(){var h=this;this.$ms=Object.keys(this.$d).reduce((function(B,A){return B+(h.$d[A]||0)*w[A]}),0)},P.parseFromMilliseconds=function(){var h=this.$ms;this.$d.years=C(h/d),h%=d,this.$d.months=C(h/f),h%=f,this.$d.days=C(h/_),h%=_,this.$d.hours=C(h/u),h%=u,this.$d.minutes=C(h/r),h%=r,this.$d.seconds=C(h/m),h%=m,this.$d.milliseconds=h},P.toISOString=function(){var h=z(this.$d.years,"Y"),B=z(this.$d.months,"M"),A=+this.$d.days||0;this.$d.weeks&&(A+=7*this.$d.weeks);var R=z(A,"D"),k=z(this.$d.hours,"H"),i=z(this.$d.minutes,"M"),p=this.$d.seconds||0;this.$d.milliseconds&&(p+=this.$d.milliseconds/1e3,p=Math.round(1e3*p)/1e3);var Y=z(p,"S"),Z=h.negative||B.negative||R.negative||k.negative||i.negative||Y.negative,Fe=k.format||i.format||Y.format?"T":"",he=(Z?"-":"")+"P"+h.format+B.format+R.format+Fe+k.format+i.format+Y.format;return he==="P"||he==="-P"?"P0D":he},P.toJSON=function(){return this.toISOString()},P.format=function(h){var B=h||"YYYY-MM-DDTHH:mm:ss",A={Y:this.$d.years,YY:s.s(this.$d.years,2,"0"),YYYY:s.s(this.$d.years,4,"0"),M:this.$d.months,MM:s.s(this.$d.months,2,"0"),D:this.$d.days,DD:s.s(this.$d.days,2,"0"),H:this.$d.hours,HH:s.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,"0"),SSS:s.s(this.$d.milliseconds,3,"0")};return B.replace(g,(function(R,k){return k||String(A[R])}))},P.as=function(h){return this.$ms/w[b(h)]},P.get=function(h){var B=this.$ms,A=b(h);return A==="milliseconds"?B%=1e3:B=A==="weeks"?C(B/w[A]):this.$d[A],B||0},P.add=function(h,B,A){var R;return R=B?h*w[b(B)]:$(h)?h.$ms:S(h,this).$ms,S(this.$ms+R*(A?-1:1),this)},P.subtract=function(h,B){return this.add(h,B,!0)},P.locale=function(h){var B=this.clone();return B.$l=h,B},P.clone=function(){return S(this.$ms,this)},P.humanize=function(h){return a().add(this.$ms,"ms").locale(this.$l).fromNow(!h)},P.valueOf=function(){return this.asMilliseconds()},P.milliseconds=function(){return this.get("milliseconds")},P.asMilliseconds=function(){return this.as("milliseconds")},P.seconds=function(){return this.get("seconds")},P.asSeconds=function(){return this.as("seconds")},P.minutes=function(){return this.get("minutes")},P.asMinutes=function(){return this.as("minutes")},P.hours=function(){return this.get("hours")},P.asHours=function(){return this.as("hours")},P.days=function(){return this.get("days")},P.asDays=function(){return this.as("days")},P.weeks=function(){return this.get("weeks")},P.asWeeks=function(){return this.as("weeks")},P.months=function(){return this.get("months")},P.asMonths=function(){return this.as("months")},P.years=function(){return this.get("years")},P.asYears=function(){return this.as("years")},T})(),ce=function(T,P,h){return T.add(P.years()*h,"y").add(P.months()*h,"M").add(P.days()*h,"d").add(P.hours()*h,"h").add(P.minutes()*h,"m").add(P.seconds()*h,"s").add(P.milliseconds()*h,"ms")};return function(T,P,h){a=h,s=h().$utils(),h.duration=function(R,k){var i=h.locale();return S(R,{$l:i},k)},h.isDuration=$;var B=P.prototype.add,A=P.prototype.subtract;P.prototype.add=function(R,k){return $(R)?ce(this,R,1):B.bind(this)(R,k)},P.prototype.subtract=function(R,k){return $(R)?ce(this,R,-1):A.bind(this)(R,k)}}}))})(fe)),fe.exports}var J6=V6();const U6=Ce(J6),W6={key:0,class:"sessions-label"},Q6={class:"d-flex flex-wrap gap-1 session-dot"},K6={class:"bg-warning",style:{height:"5px",width:"5px","border-radius":"100%","vertical-align":"top"}},Z6={class:"p-1 badge text-bg-warning text-start session-badge-list"},X6={class:"mt-1"},eu=U({__name:"peerSessionCalendarDay",props:["sessions","day"],emits:["openDetails"],setup(l){const t=l;Q.extend(Ee),Q.extend(U6);const a=N(()=>{let s=t.sessions.map(r=>Q(r)).filter(r=>r.isSame(t.day,"D")).reverse(),m=[];if(s.length>1){let r=[s[0]];for(let u of s.slice(1))u.isSameOrBefore(r[r.length-1].add(3,"minute"))?r.push(u):(m.push({timestamps:r,duration:Q.duration(r[r.length-1].diff(r[0]))}),r=[u]);m.push({timestamps:r,duration:Q.duration(r[r.length-1].diff(r[0]))})}return m});return(s,m)=>(o(),c("div",{class:"d-flex gap-1 flex-column session-list",onClick:m[0]||(m[0]=r=>s.$emit("openDetails",a.value))},[a.value.length>0?(o(),c("small",W6,[n(x,{t:a.value.length+" Session"+(a.value.length>1?"s":"")},null,8,["t"])])):O("",!0),e("div",Q6,[(o(!0),c(F,null,G(a.value.length,r=>(o(),c("div",K6))),256))]),(o(!0),c(F,null,G(a.value,r=>(o(),c("div",Z6,[e("div",null,[m[1]||(m[1]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(D(r.timestamps[0].format("HH:mm:ss")),1),m[2]||(m[2]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(D(r.timestamps[r.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",X6,[n(x,{t:"Duration:"}),E(" "+D(r.duration.format("HH:mm:ss")),1)])]))),256))]))}}),tu=K(eu,[["__scopeId","data-v-5178a57b"]]),lu={class:"card rounded-3 bg-transparent"},su={class:"card-header d-flex align-items-center"},ou={class:"mx-auto mb-0 text-center"},iu={class:"text-muted",style:{"font-size":"0.9rem"}},au={class:"card-body p-0 position-relative"},nu={class:"calendar-grid"},ru=["onClick"],du={class:"d-flex day-label"},cu={key:0,class:"bi bi-check-circle-fill ms-auto"},uu={key:0,class:"position-absolute rounded-bottom-3 dayDetail p-3",style:{bottom:"0",height:"100%",width:"100%","z-index":"9999",background:"#00000050","backdrop-filter":"blur(8px)",overflow:"scroll"}},fu={class:"d-flex mb-3"},pu={class:"mb-0"},mu={class:"d-flex flex-column gap-2"},gu={class:"p-1 badge text-bg-warning text-start session-list d-flex align-items-center"},hu={class:"ms-auto"},bu=U({__name:"peerSessions",props:["selectedPeer","selectedDate"],emits:["selectDate"],setup(l,{emit:t}){const a=l;oe();const s=q([]);Q.extend(Ee);const m=q(void 0),r=q(0),u=q(Q()),_=N(()=>Q().add(r.value,"month")),g=N(()=>_.value.startOf("month")),d=N(()=>_.value.endOf("month")),f=N(()=>g.value.startOf("week")),v=N(()=>d.value.endOf("week")),w=N(()=>{let y=[],C=f.value;for(;C.isSameOrBefore(v.value,"day");)y.push(C),C=C.add(1,"day");if(y.length<42){let M=42-y.length;for(let z=0;z{await ee("/api/getPeerSessions",{configurationName:a.selectedPeer.configuration.Name,id:a.selectedPeer.id,startDate:f.value.format("YYYY-MM-DD"),endDate:v.value.format("YYYY-MM-DD")},y=>{s.value=y.data.reverse()})};$(),m.value=setInterval(async()=>{await $()},6e4),re(()=>{clearInterval(m.value)}),se(()=>_.value,()=>$());const S=q(!1),b=q(void 0);return(y,C)=>(o(),c("div",null,[e("div",lu,[e("div",su,[e("button",{class:"btn btn-sm rounded-3",onClick:C[0]||(C[0]=M=>r.value-=1)},[...C[5]||(C[5]=[e("i",{class:"bi bi-chevron-left"},null,-1)])]),r.value!==0?(o(),c("button",{key:0,class:"btn btn-sm rounded-3",onClick:C[1]||(C[1]=M=>{r.value=0,y.$emit("selectDate",y.day)})},[n(x,{t:"Today"})])):O("",!0),e("h5",ou,[e("small",iu,[n(x,{t:"Peer Historical Sessions"})]),C[6]||(C[6]=e("br",null,null,-1)),E(" "+D(_.value.format("YYYY / MM")),1)]),r.value!==0?(o(),c("button",{key:1,class:"btn btn-sm rounded-3",onClick:C[2]||(C[2]=M=>{r.value=0,y.$emit("selectDate",y.day)})},[n(x,{t:"Today"})])):O("",!0),e("button",{class:"btn btn-sm rounded-3",onClick:C[3]||(C[3]=M=>r.value+=1)},[...C[7]||(C[7]=[e("i",{class:"bi bi-chevron-right"},null,-1)])])]),e("div",au,[e("div",nu,[(o(!0),c(F,null,G(w.value,(M,z)=>(o(),c("div",{class:L(["calendar-day p-2 d-flex flex-column",{"bg-body-secondary":M.isSame(u.value,"D"),"border-end":M.day()<6,"border-bottom":zy.$emit("selectDate",M),style:{cursor:"pointer"}},[e("h6",du,[E(D(M.format("D"))+" ",1),l.selectedDate&&l.selectedDate.isSame(M,"D")?(o(),c("i",cu)):O("",!0)]),(o(),I(tu,{class:"flex-grow-1",onOpenDetails:te=>{b.value={day:M,details:te},S.value=!0},sessions:s.value,day:M,key:M},null,8,["onOpenDetails","sessions","day"]))],10,ru))),128))]),n(ae,{name:"zoom"},{default:W(()=>[S.value?(o(),c("div",uu,[e("div",fu,[e("h5",pu,D(b.value.day.format("YYYY-MM-DD")),1),e("a",{role:"button",class:"ms-auto text-white",onClick:C[4]||(C[4]=M=>S.value=!1)},[...C[8]||(C[8]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-x-lg"})],-1)])])]),e("div",mu,[(o(!0),c(F,null,G(b.value.details,M=>(o(),c("div",gu,[e("div",null,[C[9]||(C[9]=e("i",{class:"bi bi-stopwatch me-1"},null,-1)),E(D(M.timestamps[0].format("HH:mm:ss")),1),C[10]||(C[10]=e("i",{class:"bi bi-arrow-right mx-1"},null,-1)),E(D(M.timestamps[M.timestamps.length-1].format("HH:mm:ss")),1)]),e("div",hu,[n(x,{t:"Duration:"}),E(" "+D(M.duration.format("HH:mm:ss")),1)])]))),256))])])):O("",!0)]),_:1})])])]))}}),vu=K(bu,[["__scopeId","data-v-3b03c7a5"]]),ku={class:"card rounded-3 bg-transparent"},wu={class:"card-body"},yu={class:"text-muted"},xu={class:"d-flex flex-column gap-3"},$u=U({__name:"peerTraffics",props:["selectedDate","selectedPeer"],setup(l){const t=l;oe();const a=N(()=>t.selectedDate?t.selectedDate:Q()),s=q([]),m=async()=>{await ee("/api/getPeerTraffics",{configurationName:t.selectedPeer.configuration.Name,id:t.selectedPeer.id,startDate:a.value.format("YYYY-MM-DD"),endDate:a.value.format("YYYY-MM-DD")},v=>{s.value=v.data})},r=q(void 0);m(),r.value=setInterval(async()=>{await m()},6e4),re(()=>{clearInterval(r.value)}),se(()=>a.value,()=>{m()});const u=N(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:v=>`${v.formattedValue} MB`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:v=>`${v.toFixed(4)} MB`},grid:{display:!0}}}})),_=N(()=>{let v=s.value.map($=>$.cumu_sent+$.total_sent),w=[0];if(v.length>1)for(let $=1;$=v[$-1]?w.push((v[$]-v[$-1])*1024):w.push(v[$]*1024);return w}),g=N(()=>{let v=s.value.map($=>$.cumu_receive+$.total_receive),w=[0];if(v.length>1)for(let $=1;$=v[$-1]?w.push((v[$]-v[$-1])*1024):w.push(v[$]*1024);return w}),d=N(()=>({labels:s.value.map(v=>v.time),datasets:[{label:H("Data Sent"),data:_.value,fill:"start",borderColor:"#198754",backgroundColor:"#19875490",tension:0,pointRadius:2,borderWidth:1}]})),f=N(()=>({labels:s.value.map(v=>v.time),datasets:[{label:H("Data Received"),data:g.value,fill:"start",borderColor:"#0d6efd",backgroundColor:"#0d6efd90",tension:.3,pointRadius:2,borderWidth:1}]}));return(v,w)=>(o(),c("div",ku,[e("div",wu,[e("h6",yu,[n(x,{t:"Peer Historical Data Usage of "+a.value.format("YYYY-MM-DD")},null,8,["t"])]),e("div",xu,[e("div",null,[e("p",null,[n(x,{t:"Data Received"})]),n(j(ge),{options:u.value,data:f.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])]),e("div",null,[e("p",null,[n(x,{t:"Data Sent"})]),n(j(ge),{options:u.value,data:d.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])])]))}}),_u={class:"card rounded-3 bg-transparent"},Pu={class:"card-header text-muted"},Cu={class:"card-body"},Su={class:"bg-body-tertiary p-3 d-flex rounded-3"},Du={key:0,class:"m-auto"},Ou={key:1,class:"m-auto"},qu={key:2,class:"w-100 d-flex flex-column gap-3"},Mu={class:"bg-body d-flex w-100 rounded-3",style:{height:"500px"},id:"map"},Iu={key:0,class:"m-auto"},Tu={key:0},ju={key:1,class:"text-muted"},Bu={class:"table table-hover"},Lu={key:0},Ru=["onClick"],Au={key:0},Nu=U({__name:"peerEndpoints",props:["selectedPeer"],setup(l){const t=l,a=q(!1),s=q(void 0),m=q(void 0),r=q(void 0),u=async()=>{await ee("/api/getPeerHistoricalEndpoints",{id:t.selectedPeer.id,configurationName:t.selectedPeer.configuration.Name},async d=>{if(d.status&&(s.value=d.data),a.value=!0,s.value.geolocation)try{if(await fetch("https://tile.openstreetmap.org/",{signal:AbortSignal.timeout(1500)}),m.value=!0,r.value=new Ue({target:"map",layers:[new Qe({source:new Ke})],view:new We({center:be([17.64,16.35]),zoom:0})}),s.value.geolocation){const f=new Ze;s.value.geolocation.filter(w=>w.lat&&w.lon).forEach(w=>{f.addFeature(new we({geometry:new Xe(be([w.lon,w.lat]))}))}),f.addFeature(new we({})),r.value.addLayer(new et({source:f,style:()=>new tt({image:new lt({radius:10,fill:new ot({color:"#0d6efd"}),stroke:new st({color:"white",width:5})})})}))}}catch(f){console.log(f),m.value=!1}})};ne(()=>u());const _=d=>{if(s.value.geolocation){let f=s.value.geolocation.find(v=>v.query===d);if(f){let v=[f.city,f.country];return v.filter(w=>w!==void 0).length===0&&v.push("Private Address"),v.filter(w=>w!==void 0).join(", ")}}},g=d=>{if(s.value.geolocation){let f=s.value.geolocation.find(v=>v.query===d);f&&f.lon&&f.lat&&r.value.getView().animate({zoom:4},{center:be([f.lon,f.lat])},{easing:it})}};return(d,f)=>(o(),c("div",_u,[e("div",Pu,[n(x,{t:"Peer Historical Endpoints"})]),e("div",Cu,[e("div",Su,[a.value?a.value&&s.value.endpoints.length===0?(o(),c("div",Ou,[n(x,{t:"No Historical Endpoints"})])):a.value&&s.value.endpoints.length>0?(o(),c("div",qu,[e("div",Mu,[m.value?O("",!0):(o(),c("div",Iu,[m.value===void 0?(o(),c("div",Tu,[f[1]||(f[1]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),n(x,{t:"Loading Map..."})])):O("",!0),m.value===!1?(o(),c("div",ju,[n(x,{t:"Map is not available"})])):O("",!0)]))]),e("table",Bu,[e("thead",null,[e("tr",null,[e("th",null,[n(x,{t:"Endpoint"})]),s.value.geolocation?(o(),c("th",Lu,[n(x,{t:"Geolocation"})])):O("",!0)])]),e("tbody",null,[(o(!0),c(F,null,G(s.value.endpoints,v=>(o(),c("tr",{onClick:w=>g(v.endpoint),style:{cursor:"pointer"}},[e("td",null,D(v.endpoint),1),s.value.geolocation?(o(),c("td",Au,D(_(v.endpoint)),1)):O("",!0)],8,Ru))),256))])])])):O("",!0):(o(),c("div",Du,[f[0]||(f[0]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),n(x,{t:"Loading..."})]))])])]))}}),Eu={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},Fu={class:"d-flex h-100 w-100 pb-2"},zu={class:"m-auto w-100 p-2"},Hu={class:"card rounded-3 shadow h-100"},Yu={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},Gu={class:"mb-0 fw-normal"},Vu={class:"card-body px-4"},Ju={class:"mb-0 text-muted"},Uu={class:"row mt-3 gy-2 gx-2 mb-2"},Wu={class:"col-12 col-lg-3"},Qu={class:"card rounded-3 bg-transparent h-100"},Ku={class:"card-body py-2 d-flex flex-column justify-content-center"},Zu={class:"mb-0 text-muted"},Xu={class:"d-flex align-items-center"},e2={class:"col-12 col-lg-3"},t2={class:"card rounded-3 bg-transparent h-100"},l2={class:"card-body py-2 d-flex flex-column justify-content-center"},s2={class:"mb-0 text-muted"},o2={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},i2={class:"card rounded-3 bg-transparent h-100"},a2={class:"card-body py-2 d-flex flex-column justify-content-center"},n2={class:"mb-0 text-muted"},r2={class:"col-12 col-lg-3"},d2={class:"card rounded-3 bg-transparent h-100"},c2={class:"card-body d-flex"},u2={class:"mb-0 text-muted"},f2={class:"h4"},p2={class:"col-12 col-lg-3"},m2={class:"card rounded-3 bg-transparent h-100"},g2={class:"card-body d-flex"},h2={class:"mb-0 text-muted"},b2={class:"h4 text-warning"},v2={class:"col-12 col-lg-3"},k2={class:"card rounded-3 bg-transparent h-100"},w2={class:"card-body d-flex"},y2={class:"mb-0 text-muted"},x2={class:"h4 text-primary"},$2={class:"col-12 col-lg-3"},_2={class:"card rounded-3 bg-transparent h-100"},P2={class:"card-body d-flex"},C2={class:"mb-0 text-muted"},S2={class:"h4 text-success"},D2={class:"col-12"},O2={class:"col-12"},q2={class:"col-12"},M2=U({__name:"peerDetailsModal",props:["selectedPeer"],emits:["close"],setup(l){Se.register(De,Oe,qe,Me,Ie,Te,je,Be,Le,Re,Ae);const t=q(void 0);return(a,s)=>(o(),c("div",Eu,[e("div",Fu,[e("div",zu,[e("div",Hu,[e("div",Yu,[e("h4",Gu,[n(x,{t:"Peer Details"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=m=>a.$emit("close"))})]),e("div",Vu,[e("div",null,[e("p",Ju,[e("small",null,[n(x,{t:"Peer"})])]),e("h2",null,D(l.selectedPeer.name),1)]),e("div",Uu,[e("div",Wu,[e("div",Qu,[e("div",Ku,[e("p",Zu,[e("small",null,[n(x,{t:"Status"})])]),e("div",Xu,[e("span",{class:L(["dot ms-0 me-2",{active:l.selectedPeer.status==="running"}])},null,2),l.selectedPeer.status==="running"?(o(),I(x,{key:0,t:"Connected"})):(o(),I(x,{key:1,t:"Disconnected"}))])])])]),e("div",e2,[e("div",t2,[e("div",l2,[e("p",s2,[e("small",null,[n(x,{t:"Allowed IPs"})])]),E(" "+D(l.selectedPeer.allowed_ip),1)])])]),e("div",o2,[e("div",i2,[e("div",a2,[e("p",n2,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,D(l.selectedPeer.id),1)])])]),e("div",r2,[e("div",d2,[e("div",c2,[e("div",null,[e("p",u2,[e("small",null,[n(x,{t:"Latest Handshake Time"})])]),e("strong",f2,[n(x,{t:l.selectedPeer.latest_handshake!=="No Handshake"?l.selectedPeer.latest_handshake+" ago":"No Handshake"},null,8,["t"])])]),s[2]||(s[2]=e("i",{class:"bi bi-person-raised-hand ms-auto h2 text-muted"},null,-1))])])]),e("div",p2,[e("div",m2,[e("div",g2,[e("div",null,[e("p",h2,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",b2,D((l.selectedPeer.total_data+l.selectedPeer.cumu_data).toFixed(4))+" GB ",1)]),s[3]||(s[3]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",v2,[e("div",k2,[e("div",w2,[e("div",null,[e("p",y2,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",x2,D((l.selectedPeer.total_receive+l.selectedPeer.cumu_receive).toFixed(4))+" GB",1)]),s[4]||(s[4]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",$2,[e("div",_2,[e("div",P2,[e("div",null,[e("p",C2,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",S2,D((l.selectedPeer.total_sent+l.selectedPeer.cumu_sent).toFixed(4))+" GB",1)]),s[5]||(s[5]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])]),e("div",D2,[n($u,{selectedDate:t.value,selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",O2,[n(vu,{selectedDate:t.value,onSelectDate:s[1]||(s[1]=m=>t.value=m),selectedPeer:l.selectedPeer},null,8,["selectedDate","selectedPeer"])]),e("div",q2,[n(Nu,{selectedPeer:l.selectedPeer},null,8,["selectedPeer"])])])])])])])]))}}),I2={class:"container-fluid"},T2={class:"d-flex align-items-sm-start flex-column flex-sm-row gap-3"},j2={class:"text-muted d-flex align-items-center gap-2"},B2={class:"mb-0"},L2={class:"d-flex align-items-center gap-3"},R2={class:"mb-0 display-4"},A2={class:"ms-sm-auto d-flex gap-2 flex-column"},N2={class:"card rounded-3 bg-transparent"},E2={class:"card-body py-2 d-flex align-items-center"},F2={class:"text-muted"},z2={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},H2=["for"],Y2={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},G2=["disabled","id"],V2={class:"d-flex gap-2"},J2={class:"row mt-3 gy-2 gx-2 mb-2"},U2={class:"col-12 col-lg-3"},W2={class:"card rounded-3 bg-transparent h-100"},Q2={class:"card-body py-2 d-flex flex-column justify-content-center"},K2={class:"mb-0 text-muted"},Z2={class:"col-12 col-lg-3"},X2={class:"card rounded-3 bg-transparent h-100"},ef={class:"card-body py-2 d-flex flex-column justify-content-center"},tf={class:"mb-0 text-muted"},lf={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},sf={class:"card rounded-3 bg-transparent h-100"},of={class:"card-body py-2 d-flex flex-column justify-content-center"},af={class:"mb-0 text-muted"},nf={class:"row gx-2 gy-2 mb-2"},rf={class:"col-12 col-lg-3"},df={class:"card rounded-3 bg-transparent h-100"},cf={class:"card-body d-flex"},uf={class:"mb-0 text-muted"},ff={class:"h4"},pf={class:"col-12 col-lg-3"},mf={class:"card rounded-3 bg-transparent h-100"},gf={class:"card-body d-flex"},hf={class:"mb-0 text-muted"},bf={class:"h4"},vf={class:"col-12 col-lg-3"},kf={class:"card rounded-3 bg-transparent h-100"},wf={class:"card-body d-flex"},yf={class:"mb-0 text-muted"},xf={class:"h4 text-primary"},$f={class:"col-12 col-lg-3"},_f={class:"card rounded-3 bg-transparent h-100"},Pf={class:"card-body d-flex"},Cf={class:"mb-0 text-muted"},Sf={class:"h4 text-success"},Df={style:{"margin-bottom":"10rem"}},Of=20,qf={__name:"peerList",async setup(l){let t,a;const s=V(()=>J(()=>import("./peerSearchBar-CYMBLuYC.js"),__vite__mapDeps([23,2,3,24]))),m=V(()=>J(()=>import("./peerJobsAllModal-DIT3P4rK.js"),__vite__mapDeps([25,12,2,3,8,9,7,1,13]))),r=V(()=>J(()=>import("./peerJobsLogsModal-B9bMnZ51.js"),__vite__mapDeps([26,7,2,3,1]))),u=V(()=>J(()=>import("./editConfiguration-BS8eInHi.js"),__vite__mapDeps([27,2,3,1,7,28]))),_=V(()=>J(()=>import("./selectPeers-DJXcezaU.js"),__vite__mapDeps([29,2,3,1,30]))),g=V(()=>J(()=>import("./peerAddModal-DHfWN2bR.js"),__vite__mapDeps([31,2,3,1,32]))),d=oe(),f=ie(),v=$e(),w=q({}),$=q([]),S=q(!1),b=q({}),y=q({peerNew:{modalOpen:!1},peerSetting:{modalOpen:!1},peerScheduleJobs:{modalOpen:!1},peerQRCode:{modalOpen:!1},peerConfigurationFile:{modalOpen:!1},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1},editConfiguration:{modalOpen:!1},selectPeers:{modalOpen:!1},backupRestore:{modalOpen:!1},deleteConfiguration:{modalOpen:!1},editRawConfigurationFile:{modalOpen:!1},assignPeer:{modalOpen:!1},peerDetails:{modalOpen:!1}}),C=q(!1),M=async()=>{await ee("/api/getWireguardConfigurationInfo",{configurationName:v.params.id},k=>{k.status&&(w.value=k.data.configurationInfo,$.value=k.data.configurationPeers,$.value.forEach(i=>{i.restricted=!1}),k.data.configurationRestrictedPeers.forEach(i=>{i.restricted=!0,$.value.push(i)}))})};[t,a]=He(()=>M()),await t,a();const z=q(void 0),te=()=>{clearInterval(z.value),z.value=setInterval(async()=>{await M()},parseInt(d.Configuration.Server.dashboard_refresh_interval))};te(),re(()=>{clearInterval(z.value),z.value=void 0,f.Filter.HiddenTags=[]}),se(()=>d.Configuration.Server.dashboard_refresh_interval,()=>{te()});const ce=async()=>{S.value=!0,await ee("/api/toggleWireguardConfiguration",{configurationName:w.value.Name},k=>{k.status?d.newMessage("Server",`${w.value.Name} ${k.data?"is on":"is off"}`,"success"):d.newMessage("Server",k.message,"danger"),f.Configurations.find(i=>i.Name===w.value.Name).Status=k.data,w.value.Status=k.data,S.value=!1})},T=N(()=>({connectedPeers:$.value.filter(k=>k.status==="running").length,totalUsage:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_data+k.cumu_data).reduce((k,i)=>k+i,0).toFixed(4):0,totalReceive:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_receive+k.cumu_receive).reduce((k,i)=>k+i,0).toFixed(4):0,totalSent:$.value.length>0?$.value.filter(k=>!k.restricted).map(k=>k.total_sent+k.cumu_sent).reduce((k,i)=>k+i,0).toFixed(4):0})),P=q(10),h=N(()=>f.Filter.HiddenTags.map(k=>w.value.Info.PeerGroups[k].Peers).flat()),B=N(()=>Object.values(w.value.Info.PeerGroups).map(k=>k.Peers).flat()),A=k=>{try{return at(k.replace(" ","").split(",")[0]).start}catch{return 0}},R=N(()=>{const k=f.searchString?$.value.filter(p=>(p.name.includes(f.searchString)||p.id.includes(f.searchString)||p.allowed_ip.includes(f.searchString))&&!h.value.includes(p.id)&&(f.Filter.ShowAllPeersWhenHiddenTags||!f.Filter.ShowAllPeersWhenHiddenTags&&B.value.includes(p.id))):$.value.filter(p=>!h.value.includes(p.id)&&(f.Filter.ShowAllPeersWhenHiddenTags||!f.Filter.ShowAllPeersWhenHiddenTags&&B.value.includes(p.id)));if(d.Configuration.Server.dashboard_sort==="restricted")return k.sort((p,Y)=>p[d.Configuration.Server.dashboard_sort]Y[d.Configuration.Server.dashboard_sort]?-1:0).slice(0,P.value);let i=[];return d.Configuration.Server.dashboard_sort==="allowed_ip"?i=k.sort((p,Y)=>A(p[d.Configuration.Server.dashboard_sort])A(Y[d.Configuration.Server.dashboard_sort])?1:0).slice(0,P.value):i=k.sort((p,Y)=>p[d.Configuration.Server.dashboard_sort]Y[d.Configuration.Server.dashboard_sort]?1:0).slice(0,P.value),i});return se(()=>v.query.id,k=>{k?f.searchString=k:f.searchString=void 0},{immediate:!0}),(k,i)=>(o(),c("div",I2,[e("div",T2,[e("div",null,[e("div",j2,[e("h5",B2,[n(Ge,{protocol:w.value.Protocol},null,8,["protocol"])])]),e("div",L2,[e("h1",R2,[e("samp",null,D(w.value.Name),1)])])]),e("div",A2,[e("div",N2,[e("div",E2,[e("small",F2,[n(x,{t:"Status"})]),e("div",{class:L(["dot ms-2",{active:w.value.Status}])},null,2),e("div",z2,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+w.value.id},[w.value.Status&&!S.value?(o(),I(x,{key:0,t:"On"})):!w.value.Status&&!S.value?(o(),I(x,{key:1,t:"Off"})):O("",!0),S.value?(o(),c("span",Y2)):O("",!0)],8,H2),de(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:S.value,type:"checkbox",role:"switch",id:"switch"+w.value.id,onChange:i[0]||(i[0]=p=>ce()),"onUpdate:modelValue":i[1]||(i[1]=p=>w.value.Status=p)},null,40,G2),[[Pe,w.value.Status]])])])]),e("div",V2,[e("a",{role:"button",onClick:i[2]||(i[2]=p=>y.value.peerNew.modalOpen=!0),class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},[i[30]||(i[30]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),n(x,{t:"Peer"})]),e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:i[3]||(i[3]=p=>y.value.editConfiguration.modalOpen=!0),type:"button","aria-expanded":"false"},[i[31]||(i[31]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),n(x,{t:"Configuration Settings"})])])])]),i[36]||(i[36]=e("hr",null,null,-1)),n(F6,{configuration:w.value},null,8,["configuration"]),e("div",J2,[e("div",U2,[e("div",W2,[e("div",Q2,[e("p",K2,[e("small",null,[n(x,{t:"Address"})])]),E(" "+D(w.value.Address),1)])])]),e("div",Z2,[e("div",X2,[e("div",ef,[e("p",tf,[e("small",null,[n(x,{t:"Listen Port"})])]),E(" "+D(w.value.ListenPort),1)])])]),e("div",lf,[e("div",sf,[e("div",of,[e("p",af,[e("small",null,[n(x,{t:"Public Key"})])]),e("samp",null,D(w.value.PublicKey),1)])])])]),e("div",nf,[e("div",rf,[e("div",df,[e("div",cf,[e("div",null,[e("p",uf,[e("small",null,[n(x,{t:"Connected Peers"})])]),e("strong",ff,D(T.value.connectedPeers)+" / "+D($.value.length),1)]),i[32]||(i[32]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",pf,[e("div",mf,[e("div",gf,[e("div",null,[e("p",hf,[e("small",null,[n(x,{t:"Total Usage"})])]),e("strong",bf,D(T.value.totalUsage)+" GB",1)]),i[33]||(i[33]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",vf,[e("div",kf,[e("div",wf,[e("div",null,[e("p",yf,[e("small",null,[n(x,{t:"Total Received"})])]),e("strong",xf,D(T.value.totalReceive)+" GB",1)]),i[34]||(i[34]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",$f,[e("div",_f,[e("div",Pf,[e("div",null,[e("p",Cf,[e("small",null,[n(x,{t:"Total Sent"})])]),e("strong",Sf,D(T.value.totalSent)+" GB",1)]),i[35]||(i[35]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])])]),n(Pt,{configurationPeers:$.value,configurationInfo:w.value},null,8,["configurationPeers","configurationInfo"]),i[37]||(i[37]=e("hr",null,null,-1)),e("div",Df,[$.value.length>0?(o(),I(Vc,{key:0,onSearch:i[4]||(i[4]=p=>C.value=!C.value),onJobsAll:i[5]||(i[5]=p=>y.value.peerScheduleJobsAll.modalOpen=!0),onJobLogs:i[6]||(i[6]=p=>y.value.peerScheduleJobsLogs.modalOpen=!0),onEditConfiguration:i[7]||(i[7]=p=>y.value.editConfiguration.modalOpen=!0),onSelectPeers:i[8]||(i[8]=p=>y.value.selectPeers.modalOpen=!0),onBackupRestore:i[9]||(i[9]=p=>y.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[10]||(i[10]=p=>y.value.deleteConfiguration.modalOpen=!0),configuration:w.value},null,8,["configuration"])):O("",!0),n(me,{name:"peerList",tag:"div",class:"row gx-2 gy-2 z-0 position-relative"},{default:W(()=>[(o(!0),c(F,null,G(R.value,(p,Y)=>(o(),c("div",{class:L(["col-12",{"col-lg-6 col-xl-4":j(d).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:p.id},[n(L6,{Peer:p,searchPeersLength:R.value.length,order:Y,ConfigurationInfo:w.value,onDetails:Z=>{y.value.peerDetails.modalOpen=!0,b.value=p},onShare:Z=>{y.value.peerShare.modalOpen=!0,b.value=p},onRefresh:i[11]||(i[11]=Z=>M()),onJobs:Z=>{y.value.peerScheduleJobs.modalOpen=!0,b.value=p},onSetting:Z=>{y.value.peerSetting.modalOpen=!0,b.value=p},onQrcode:Z=>{b.value=p,y.value.peerQRCode.modalOpen=!0},onConfigurationFile:Z=>{b.value=p,y.value.peerConfigurationFile.modalOpen=!0},onAssign:Z=>{b.value=p,y.value.assignPeer.modalOpen=!0}},null,8,["Peer","searchPeersLength","order","ConfigurationInfo","onDetails","onShare","onJobs","onSetting","onQrcode","onConfigurationFile","onAssign"])],2))),128))]),_:1})]),n(ae,{name:"slide-fade"},{default:W(()=>[C.value?(o(),I(j(s),{key:0,ConfigurationInfo:w.value,onClose:i[12]||(i[12]=p=>C.value=!1)},null,8,["ConfigurationInfo"])):O("",!0)]),_:1}),n(R6,{configurationModals:y.value,configurationModalSelectedPeer:b.value,onRefresh:i[13]||(i[13]=p=>M())},null,8,["configurationModals","configurationModalSelectedPeer"]),n(me,{name:"zoom"},{default:W(()=>[(o(),I(Ye,{key:"PeerAddModal"},{default:W(()=>[y.value.peerNew.modalOpen?(o(),I(j(g),{key:0,onClose:i[14]||(i[14]=p=>y.value.peerNew.modalOpen=!1),onAddedPeers:i[15]||(i[15]=p=>{y.value.peerNew.modalOpen=!1,M()})})):O("",!0)]),_:1})),y.value.peerScheduleJobsAll.modalOpen?(o(),I(j(m),{key:"PeerJobsAllModal",onRefresh:i[16]||(i[16]=p=>M()),onAllLogs:i[17]||(i[17]=p=>y.value.peerScheduleJobsLogs.modalOpen=!0),onClose:i[18]||(i[18]=p=>y.value.peerScheduleJobsAll.modalOpen=!1),configurationPeers:$.value},null,8,["configurationPeers"])):O("",!0),y.value.peerScheduleJobsLogs.modalOpen?(o(),I(j(r),{key:"PeerJobsLogsModal",onClose:i[19]||(i[19]=p=>y.value.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:w.value},null,8,["configurationInfo"])):O("",!0),y.value.editConfiguration.modalOpen?(o(),I(j(u),{key:"EditConfigurationModal",onEditRaw:i[20]||(i[20]=p=>y.value.editRawConfigurationFile.modalOpen=!0),onClose:i[21]||(i[21]=p=>y.value.editConfiguration.modalOpen=!1),onDataChanged:i[22]||(i[22]=p=>w.value=p),onRefresh:i[23]||(i[23]=p=>M()),onBackupRestore:i[24]||(i[24]=p=>y.value.backupRestore.modalOpen=!0),onDeleteConfiguration:i[25]||(i[25]=p=>y.value.deleteConfiguration.modalOpen=!0),configurationInfo:w.value},null,8,["configurationInfo"])):O("",!0),y.value.selectPeers.modalOpen?(o(),I(j(_),{key:3,onRefresh:i[26]||(i[26]=p=>M()),configurationPeers:$.value,onClose:i[27]||(i[27]=p=>y.value.selectPeers.modalOpen=!1)},null,8,["configurationPeers"])):O("",!0),y.value.peerDetails.modalOpen?(o(),I(M2,{key:"PeerDetailsModal",selectedPeer:R.value.find(p=>p.id===b.value.id),onClose:i[28]||(i[28]=p=>y.value.peerDetails.modalOpen=!1)},null,8,["selectedPeer"])):O("",!0)]),_:1}),n(N6,{showPeersCount:P.value,peerListLength:R.value.length,onLoadMore:i[29]||(i[29]=p=>P.value+=Of)},null,8,["showPeersCount","peerListLength"])]))}},Nf=K(qf,[["__scopeId","data-v-b4fba9bc"]]);export{Nf as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-Bfo15_ll.js b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-C3UfG2HU.js similarity index 93% rename from src/static/dist/WGDashboardAdmin/assets/peerQRCode-Bfo15_ll.js rename to src/static/dist/WGDashboardAdmin/assets/peerQRCode-C3UfG2HU.js index f96b9a5f..49404203 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerQRCode-Bfo15_ll.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerQRCode-C3UfG2HU.js @@ -1 +1 @@ -import{Q as l}from"./browser-LdOMKRZX.js";import{L as _}from"./localeText-Cd7vLnRM.js";import{_ as h,h as f,c,f as s,a as e,b as p,d as i,j as m,n as u,g,D as v}from"./index-DYYtDSji.js";import"./galois-field-I2lBzzs-.js";const w={name:"peerQRCode",components:{LocaleText:_},props:{selectedPeer:Object},setup(){return{dashboardStore:v()}},data(){return{loading:!0}},mounted(){g("/api/downloadPeer/"+this.$route.params.id,{id:this.selectedPeer.id},o=>{if(this.loading=!1,o.status){let t="";if(this.selectedPeer.configuration.Protocol==="awg"){let a={containers:[{awg:{isThirdPartyConfig:!0,last_config:o.data.file,port:this.selectedPeer.configuration.ListenPort,transport_proto:"udp"},container:"amnezia-awg"}],defaultContainer:"amnezia-awg",description:this.selectedPeer.name,hostName:this.dashboardStore.Configuration.Peers.remote_endpoint};l.toCanvas(document.querySelector("#awg_vpn_qrcode"),btoa(JSON.stringify(a)),d=>{d&&console.error(d)})}t=o.data.file,l.toCanvas(document.querySelector("#qrcode"),t,a=>{a&&console.error(a)})}else this.dashboardStore.newMessage("Server",o.message,"danger")})}},b={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},x={class:"container d-flex h-100 w-100"},P={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},C={class:"card rounded-3 shadow"},y={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},S={class:"mb-0"},k={class:"card-body p-4"},q={class:"d-flex gap-2 flex-column"},L={class:"d-flex flex-column gap-2 align-items-center"},N={key:0,class:"d-flex flex-column gap-2 align-items-center"},Q={key:1,class:"spinner-border m-auto",role:"status"};function z(o,t,a,d,r,A){const n=f("LocaleText");return s(),c("div",b,[e("div",x,[e("div",P,[e("div",C,[e("div",y,[e("h4",S,[p(n,{t:"QR Code"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=R=>this.$emit("close"))})]),e("div",k,[e("div",q,[e("div",L,[e("canvas",{id:"qrcode",style:{width:"200px !important",height:"200px !important"},class:u(["rounded-3 shadow animate__animated animate__fadeIn animate__faster qrcode",{"d-none":r.loading}])},null,2),this.selectedPeer.configuration.Protocol==="wg"?(s(),m(n,{key:0,t:"Scan with WireGuard App",class:"text-muted"})):i("",!0),this.selectedPeer.configuration.Protocol==="awg"?(s(),m(n,{key:1,t:"Scan with AmneziaWG App",class:"text-muted"})):i("",!0)]),this.selectedPeer.configuration.Protocol==="awg"?(s(),c("div",N,[e("canvas",{id:"awg_vpn_qrcode",class:u(["rounded-3 shadow animate__animated animate__fadeIn animate__faster qrcode",{"d-none":r.loading}])},null,2),p(n,{t:"Scan with AmneziaVPN App",class:"text-muted"})])):i("",!0),r.loading?(s(),c("div",Q,[...t[1]||(t[1]=[e("span",{class:"visually-hidden"},"Loading...",-1)])])):i("",!0)])])])])])])}const $=h(w,[["render",z],["__scopeId","data-v-02f2240d"]]);export{$ as default}; +import{Q as l}from"./browser-QmM-r3j5.js";import{L as _}from"./localeText-DcQapG1o.js";import{_ as h,h as f,c,f as s,a as e,b as p,d as i,j as m,n as u,g,D as v}from"./index-Y3pG9DoR.js";import"./galois-field-I2lBzzs-.js";const w={name:"peerQRCode",components:{LocaleText:_},props:{selectedPeer:Object},setup(){return{dashboardStore:v()}},data(){return{loading:!0}},mounted(){g("/api/downloadPeer/"+this.$route.params.id,{id:this.selectedPeer.id},o=>{if(this.loading=!1,o.status){let t="";if(this.selectedPeer.configuration.Protocol==="awg"){let a={containers:[{awg:{isThirdPartyConfig:!0,last_config:o.data.file,port:this.selectedPeer.configuration.ListenPort,transport_proto:"udp"},container:"amnezia-awg"}],defaultContainer:"amnezia-awg",description:this.selectedPeer.name,hostName:this.dashboardStore.Configuration.Peers.remote_endpoint};l.toCanvas(document.querySelector("#awg_vpn_qrcode"),btoa(JSON.stringify(a)),d=>{d&&console.error(d)})}t=o.data.file,l.toCanvas(document.querySelector("#qrcode"),t,a=>{a&&console.error(a)})}else this.dashboardStore.newMessage("Server",o.message,"danger")})}},b={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},x={class:"container d-flex h-100 w-100"},P={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},C={class:"card rounded-3 shadow"},y={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},S={class:"mb-0"},k={class:"card-body p-4"},q={class:"d-flex gap-2 flex-column"},L={class:"d-flex flex-column gap-2 align-items-center"},N={key:0,class:"d-flex flex-column gap-2 align-items-center"},Q={key:1,class:"spinner-border m-auto",role:"status"};function z(o,t,a,d,r,A){const n=f("LocaleText");return s(),c("div",b,[e("div",x,[e("div",P,[e("div",C,[e("div",y,[e("h4",S,[p(n,{t:"QR Code"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=R=>this.$emit("close"))})]),e("div",k,[e("div",q,[e("div",L,[e("canvas",{id:"qrcode",style:{width:"200px !important",height:"200px !important"},class:u(["rounded-3 shadow animate__animated animate__fadeIn animate__faster qrcode",{"d-none":r.loading}])},null,2),this.selectedPeer.configuration.Protocol==="wg"?(s(),m(n,{key:0,t:"Scan with WireGuard App",class:"text-muted"})):i("",!0),this.selectedPeer.configuration.Protocol==="awg"?(s(),m(n,{key:1,t:"Scan with AmneziaWG App",class:"text-muted"})):i("",!0)]),this.selectedPeer.configuration.Protocol==="awg"?(s(),c("div",N,[e("canvas",{id:"awg_vpn_qrcode",class:u(["rounded-3 shadow animate__animated animate__fadeIn animate__faster qrcode",{"d-none":r.loading}])},null,2),p(n,{t:"Scan with AmneziaVPN App",class:"text-muted"})])):i("",!0),r.loading?(s(),c("div",Q,[...t[1]||(t[1]=[e("span",{class:"visually-hidden"},"Loading...",-1)])])):i("",!0)])])])])])])}const $=h(w,[["render",z],["__scopeId","data-v-02f2240d"]]);export{$ as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-BGxtkCCT.js b/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-CYMBLuYC.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/peerSearchBar-BGxtkCCT.js rename to src/static/dist/WGDashboardAdmin/assets/peerSearchBar-CYMBLuYC.js index b04174c9..a5c24195 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-BGxtkCCT.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerSearchBar-CYMBLuYC.js @@ -1 +1 @@ -import{_ as p,q as m,G as f,W as h,r as u,a0 as _,L as v,K as g,o as x,a1 as S,c as y,d as b,f as B,a as s,m as w,y as T}from"./index-DYYtDSji.js";const q={key:0,class:"fixed-bottom w-100 bottom-0 z-2 p-3",style:{"z-index":"1"}},C={class:"d-flex flex-column searchPeersContainer ms-auto p-2 rounded-5",style:{width:"300px"}},P={class:"rounded-5 border border-white p-2 d-flex align-items-center gap-1 w-100"},R=["placeholder"],k={__name:"peerSearchBar",props:["ConfigurationInfo"],emits:["close"],setup(V,{emit:z}){const l=m(()=>f("Search Peers..."));let r;const t=h(),e=u(t.searchString),d=()=>{r?(clearTimeout(r),r=setTimeout(()=>{t.searchString=e.value},300)):r=setTimeout(()=>{t.searchString=e.value},300)};_("searchBar");const a=v(),i=g();a.query.peer&&(e.value=a.query.peer,i.replace({query:null}));const n=u(!0);return x(()=>{document.querySelector("#searchPeers").focus()}),S(()=>{n.value=!1}),(G,o)=>n.value?(B(),y("div",q,[s("div",C,[s("div",P,[w(s("input",{ref:"searchBar",class:"flex-grow-1 form-control form-control-sm rounded-5 bg-transparent border-0 border-secondary-subtle",placeholder:l.value,id:"searchPeers",onKeyup:o[0]||(o[0]=c=>d()),"onUpdate:modelValue":o[1]||(o[1]=c=>e.value=c)},null,40,R),[[T,e.value]])])])])):b("",!0)}},K=p(k,[["__scopeId","data-v-576347d8"]]);export{K as default}; +import{_ as p,q as m,G as f,W as h,r as u,a0 as _,L as v,K as g,o as x,a1 as S,c as y,d as b,f as B,a as s,m as w,y as T}from"./index-Y3pG9DoR.js";const q={key:0,class:"fixed-bottom w-100 bottom-0 z-2 p-3",style:{"z-index":"1"}},C={class:"d-flex flex-column searchPeersContainer ms-auto p-2 rounded-5",style:{width:"300px"}},P={class:"rounded-5 border border-white p-2 d-flex align-items-center gap-1 w-100"},R=["placeholder"],k={__name:"peerSearchBar",props:["ConfigurationInfo"],emits:["close"],setup(V,{emit:z}){const l=m(()=>f("Search Peers..."));let r;const t=h(),e=u(t.searchString),d=()=>{r?(clearTimeout(r),r=setTimeout(()=>{t.searchString=e.value},300)):r=setTimeout(()=>{t.searchString=e.value},300)};_("searchBar");const a=v(),i=g();a.query.peer&&(e.value=a.query.peer,i.replace({query:null}));const n=u(!0);return x(()=>{document.querySelector("#searchPeers").focus()}),S(()=>{n.value=!1}),(G,o)=>n.value?(B(),y("div",q,[s("div",C,[s("div",P,[w(s("input",{ref:"searchBar",class:"flex-grow-1 form-control form-control-sm rounded-5 bg-transparent border-0 border-secondary-subtle",placeholder:l.value,id:"searchPeers",onKeyup:o[0]||(o[0]=c=>d()),"onUpdate:modelValue":o[1]||(o[1]=c=>e.value=c)},null,40,R),[[T,e.value]])])])])):b("",!0)}},K=p(k,[["__scopeId","data-v-576347d8"]]);export{K as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerSettings-1ZLfa-ii.js b/src/static/dist/WGDashboardAdmin/assets/peerSettings-B48PQaPb.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/peerSettings-1ZLfa-ii.js rename to src/static/dist/WGDashboardAdmin/assets/peerSettings-B48PQaPb.js index 1d2dbe07..460e4f39 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerSettings-1ZLfa-ii.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerSettings-B48PQaPb.js @@ -1 +1 @@ -import{_ as u,h as c,c as n,f as r,a as e,d as m,b as a,t as h,m as i,y as d,n as b,$ as _,z as p,D as f}from"./index-DYYtDSji.js";import{L as g}from"./localeText-Cd7vLnRM.js";const v={name:"peerSettings",components:{LocaleText:g},props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:f()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,p(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,l=>{this.saving=!1,l.status?this.dashboardConfigurationStore.newMessage("Server","Peer saved","success"):this.dashboardConfigurationStore.newMessage("Server",l.message,"danger"),this.$emit("refresh")})},resetPeerData(l){this.saving=!0,p(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:l},t=>{this.saving=!1,t.status?this.dashboardConfigurationStore.newMessage("Server","Peer data usage reset successfully","success"):this.dashboardConfigurationStore.newMessage("Server",t.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(l=>{l.addEventListener("change",()=>{this.dataChanged=!0})})}},x={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},w={class:"m-auto modal-dialog-centered dashboardModal"},S={class:"card rounded-3 shadow flex-grow-1"},C={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},k={class:"mb-0"},P={key:0,class:"card-body px-4"},$={class:"d-flex flex-column gap-2 mb-4"},D={class:"d-flex align-items-center"},N={class:"text-muted"},V={class:"ms-auto"},K={for:"peer_name_textbox",class:"form-label"},U={class:"text-muted"},M=["disabled"],A={class:"d-flex position-relative"},R={for:"peer_private_key_textbox",class:"form-label"},O={class:"text-muted"},T=["type","disabled"],L={for:"peer_allowed_ip_textbox",class:"form-label"},q={class:"text-muted"},E=["disabled"],B={for:"peer_endpoint_allowed_ips",class:"form-label"},I={class:"text-muted"},z=["disabled"],J={for:"peer_DNS_textbox",class:"form-label"},j={class:"text-muted"},Q=["disabled"],F={class:"accordion my-3",id:"peerSettingsAccordion"},G={class:"accordion-item"},H={class:"accordion-header"},W={class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"},X={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},Y={class:"accordion-body d-flex flex-column gap-2 mb-2"},Z={for:"peer_preshared_key_textbox",class:"form-label"},ee={class:"text-muted"},te=["disabled"],se={for:"peer_mtu",class:"form-label"},oe={class:"text-muted"},ae=["disabled"],le={for:"peer_keep_alive",class:"form-label"},ie={class:"text-muted"},de=["disabled"],ne={class:"d-flex align-items-center gap-2"},re=["disabled"],pe=["disabled"],ue={class:"d-flex gap-2 align-items-center"},ce={class:"d-flex gap-2 ms-auto"};function me(l,t,he,be,_e,fe){const o=c("LocaleText");return r(),n("div",x,[e("div",y,[e("div",w,[e("div",S,[e("div",C,[e("h4",k,[a(o,{t:"Peer Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),this.data?(r(),n("div",P,[e("div",$,[e("div",D,[e("small",N,[a(o,{t:"Public Key"})]),e("small",V,[e("samp",null,h(this.data.id),1)])]),e("div",null,[e("label",K,[e("small",U,[a(o,{t:"Name"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=s=>this.data.name=s),id:"peer_name_textbox",placeholder:""},null,8,M),[[d,this.data.name]])]),e("div",null,[e("div",A,[e("label",R,[e("small",O,[a(o,{t:"Private Key"}),e("code",null,[a(o,{t:"(Required for QR Code and Download)"})])])]),e("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=s=>this.showKey=!this.showKey)},[e("i",{class:b(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),i(e("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=s=>this.data.private_key=s),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,T),[[_,this.data.private_key]])]),e("div",null,[e("label",L,[e("small",q,[a(o,{t:"Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=s=>this.data.allowed_ip=s),id:"peer_allowed_ip_textbox"},null,8,E),[[d,this.data.allowed_ip]])]),e("div",null,[e("label",B,[e("small",I,[a(o,{t:"Endpoint Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=s=>this.data.endpoint_allowed_ip=s),id:"peer_endpoint_allowed_ips"},null,8,z),[[d,this.data.endpoint_allowed_ip]])]),e("div",null,[e("label",J,[e("small",j,[a(o,{t:"DNS"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=s=>this.data.DNS=s),id:"peer_DNS_textbox"},null,8,Q),[[d,this.data.DNS]])]),e("div",F,[e("div",G,[e("h2",H,[e("button",W,[a(o,{t:"Optional Settings"})])]),e("div",X,[e("div",Y,[e("div",null,[e("label",Z,[e("small",ee,[a(o,{t:"Pre-Shared Key"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=s=>this.data.preshared_key=s),id:"peer_preshared_key_textbox"},null,8,te),[[d,this.data.preshared_key]])]),e("div",null,[e("label",se,[e("small",oe,[a(o,{t:"MTU"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=s=>this.data.mtu=s),id:"peer_mtu"},null,8,ae),[[d,this.data.mtu]])]),e("div",null,[e("label",le,[e("small",ie,[a(o,{t:"Persistent Keepalive"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=s=>this.data.keepalive=s),id:"peer_keep_alive"},null,8,de),[[d,this.data.keepalive]])])])])])]),e("div",ne,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",onClick:t[10]||(t[10]=s=>this.reset()),disabled:!this.dataChanged||this.saving},[t[15]||(t[15]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),a(o,{t:"Reset"})],8,re),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[11]||(t[11]=s=>this.savePeer())},[t[16]||(t[16]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),a(o,{t:"Save"})],8,pe)]),t[20]||(t[20]=e("hr",null,null,-1)),e("div",ue,[e("strong",null,[a(o,{t:"Reset Data Usage"})]),e("div",ce,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[12]||(t[12]=s=>this.resetPeerData("total"))},[t[17]||(t[17]=e("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),a(o,{t:"Total"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[13]||(t[13]=s=>this.resetPeerData("receive"))},[t[18]||(t[18]=e("i",{class:"bi bi-arrow-down me-2"},null,-1)),a(o,{t:"Received"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[14]||(t[14]=s=>this.resetPeerData("sent"))},[t[19]||(t[19]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),a(o,{t:"Sent"})])])])])])):m("",!0)])])])])}const xe=u(v,[["render",me],["__scopeId","data-v-12b3ae8e"]]);export{xe as default}; +import{_ as u,h as c,c as n,f as r,a as e,d as m,b as a,t as h,m as i,y as d,n as b,$ as _,z as p,D as f}from"./index-Y3pG9DoR.js";import{L as g}from"./localeText-DcQapG1o.js";const v={name:"peerSettings",components:{LocaleText:g},props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:f()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,p(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,l=>{this.saving=!1,l.status?this.dashboardConfigurationStore.newMessage("Server","Peer saved","success"):this.dashboardConfigurationStore.newMessage("Server",l.message,"danger"),this.$emit("refresh")})},resetPeerData(l){this.saving=!0,p(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:l},t=>{this.saving=!1,t.status?this.dashboardConfigurationStore.newMessage("Server","Peer data usage reset successfully","success"):this.dashboardConfigurationStore.newMessage("Server",t.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(l=>{l.addEventListener("change",()=>{this.dataChanged=!0})})}},x={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},y={class:"container d-flex h-100 w-100"},w={class:"m-auto modal-dialog-centered dashboardModal"},S={class:"card rounded-3 shadow flex-grow-1"},C={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},k={class:"mb-0"},P={key:0,class:"card-body px-4"},$={class:"d-flex flex-column gap-2 mb-4"},D={class:"d-flex align-items-center"},N={class:"text-muted"},V={class:"ms-auto"},K={for:"peer_name_textbox",class:"form-label"},U={class:"text-muted"},M=["disabled"],A={class:"d-flex position-relative"},R={for:"peer_private_key_textbox",class:"form-label"},O={class:"text-muted"},T=["type","disabled"],L={for:"peer_allowed_ip_textbox",class:"form-label"},q={class:"text-muted"},E=["disabled"],B={for:"peer_endpoint_allowed_ips",class:"form-label"},I={class:"text-muted"},z=["disabled"],J={for:"peer_DNS_textbox",class:"form-label"},j={class:"text-muted"},Q=["disabled"],F={class:"accordion my-3",id:"peerSettingsAccordion"},G={class:"accordion-item"},H={class:"accordion-header"},W={class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"},X={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},Y={class:"accordion-body d-flex flex-column gap-2 mb-2"},Z={for:"peer_preshared_key_textbox",class:"form-label"},ee={class:"text-muted"},te=["disabled"],se={for:"peer_mtu",class:"form-label"},oe={class:"text-muted"},ae=["disabled"],le={for:"peer_keep_alive",class:"form-label"},ie={class:"text-muted"},de=["disabled"],ne={class:"d-flex align-items-center gap-2"},re=["disabled"],pe=["disabled"],ue={class:"d-flex gap-2 align-items-center"},ce={class:"d-flex gap-2 ms-auto"};function me(l,t,he,be,_e,fe){const o=c("LocaleText");return r(),n("div",x,[e("div",y,[e("div",w,[e("div",S,[e("div",C,[e("h4",k,[a(o,{t:"Peer Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),this.data?(r(),n("div",P,[e("div",$,[e("div",D,[e("small",N,[a(o,{t:"Public Key"})]),e("small",V,[e("samp",null,h(this.data.id),1)])]),e("div",null,[e("label",K,[e("small",U,[a(o,{t:"Name"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=s=>this.data.name=s),id:"peer_name_textbox",placeholder:""},null,8,M),[[d,this.data.name]])]),e("div",null,[e("div",A,[e("label",R,[e("small",O,[a(o,{t:"Private Key"}),e("code",null,[a(o,{t:"(Required for QR Code and Download)"})])])]),e("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=s=>this.showKey=!this.showKey)},[e("i",{class:b(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),i(e("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=s=>this.data.private_key=s),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,T),[[_,this.data.private_key]])]),e("div",null,[e("label",L,[e("small",q,[a(o,{t:"Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=s=>this.data.allowed_ip=s),id:"peer_allowed_ip_textbox"},null,8,E),[[d,this.data.allowed_ip]])]),e("div",null,[e("label",B,[e("small",I,[a(o,{t:"Endpoint Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=s=>this.data.endpoint_allowed_ip=s),id:"peer_endpoint_allowed_ips"},null,8,z),[[d,this.data.endpoint_allowed_ip]])]),e("div",null,[e("label",J,[e("small",j,[a(o,{t:"DNS"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=s=>this.data.DNS=s),id:"peer_DNS_textbox"},null,8,Q),[[d,this.data.DNS]])]),e("div",F,[e("div",G,[e("h2",H,[e("button",W,[a(o,{t:"Optional Settings"})])]),e("div",X,[e("div",Y,[e("div",null,[e("label",Z,[e("small",ee,[a(o,{t:"Pre-Shared Key"})])]),i(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=s=>this.data.preshared_key=s),id:"peer_preshared_key_textbox"},null,8,te),[[d,this.data.preshared_key]])]),e("div",null,[e("label",se,[e("small",oe,[a(o,{t:"MTU"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=s=>this.data.mtu=s),id:"peer_mtu"},null,8,ae),[[d,this.data.mtu]])]),e("div",null,[e("label",le,[e("small",ie,[a(o,{t:"Persistent Keepalive"})])]),i(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=s=>this.data.keepalive=s),id:"peer_keep_alive"},null,8,de),[[d,this.data.keepalive]])])])])])]),e("div",ne,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",onClick:t[10]||(t[10]=s=>this.reset()),disabled:!this.dataChanged||this.saving},[t[15]||(t[15]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),a(o,{t:"Reset"})],8,re),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[11]||(t[11]=s=>this.savePeer())},[t[16]||(t[16]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),a(o,{t:"Save"})],8,pe)]),t[20]||(t[20]=e("hr",null,null,-1)),e("div",ue,[e("strong",null,[a(o,{t:"Reset Data Usage"})]),e("div",ce,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[12]||(t[12]=s=>this.resetPeerData("total"))},[t[17]||(t[17]=e("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),a(o,{t:"Total"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[13]||(t[13]=s=>this.resetPeerData("receive"))},[t[18]||(t[18]=e("i",{class:"bi bi-arrow-down me-2"},null,-1)),a(o,{t:"Received"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[14]||(t[14]=s=>this.resetPeerData("sent"))},[t[19]||(t[19]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),a(o,{t:"Sent"})])])])])])):m("",!0)])])])])}const xe=u(v,[["render",me],["__scopeId","data-v-12b3ae8e"]]);export{xe as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-CCIM9t_8.js b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-BFYJpVZm.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-CCIM9t_8.js rename to src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-BFYJpVZm.js index 50d37900..50fa5868 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-CCIM9t_8.js +++ b/src/static/dist/WGDashboardAdmin/assets/peerShareLinkModal-BFYJpVZm.js @@ -1 +1 @@ -import{_ as T,r as y,E as N,I as W,c as u,f as o,a as e,d as k,t as M,e as L,b as l,n as w,z as P,g as Y,D as j,J as U,h as S,m as _,y as C,u as $,G as E,v as H,w as B,s as R,j as x,S as A}from"./index-DYYtDSji.js";import{d as D}from"./dayjs.min-WRW_FTL4.js";import{Z as J}from"./vue-datepicker-Cw5Y4tvU.js";import{L as h}from"./localeText-Cd7vLnRM.js";import"./index-DPa-4xgI.js";const O={class:"card rounded-0 border-start-0 border-bottom-0 bg-body-secondary",style:{height:"400px",overflow:"scroll"}},q={class:"card-body"},z={key:0,class:"alert alert-danger rounded-3"},G={class:"font-monospace"},Z={key:0},F=["innerText"],K={__name:"peerShareWithEmailBodyPreview",props:["email","selectedPeer"],async setup(s){let t,v;const p=s,d=y(""),b=y(!1),r=y(""),n=async()=>{p.email&&(b.value=!1,await P("/api/email/preview",{Subject:p.email.Subject,Body:p.email.Body,ConfigurationName:p.selectedPeer.configuration.Name,Peer:p.selectedPeer.id},i=>{i.status?d.value=i.data:(d.value="",r.value=i.message),b.value=!i.status}))};[t,v]=N(()=>n()),await t,v();let c;return W(()=>p.email,async()=>{c===void 0?c=setTimeout(async()=>{await n()},500):(clearTimeout(c),c=setTimeout(async()=>{await n()},500))},{deep:!0}),(i,f)=>(o(),u("div",O,[e("div",q,[b.value&&s.email.Body?(o(),u("div",z,[f[0]||(f[0]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),e("span",G,M(r.value),1)])):k("",!0),e("div",null,[d.value?(o(),u("div",Z,[e("strong",null,[l(h,{t:"Subject"}),f[1]||(f[1]=L(": ",-1))]),L(M(d.value.Subject),1)])):k("",!0),f[2]||(f[2]=e("hr",null,null,-1)),e("div",{class:w({"opacity-50":b.value}),innerText:d.value.Body},null,10,F)])])]))}},Q=T(K,[["__scopeId","data-v-1a7765d4"]]),X={key:0},ee={class:"d-flex mb-3 align-items-center"},te={class:"mb-0 ms-auto"},se={class:"position-relative"},ae=["disabled","placeholder"],ie={class:"position-relative"},oe=["placeholder","disabled"],le={class:"row g-0"},re=["disabled","placeholder"],ne={key:0,class:"col-6"},de={class:"card border-top-0 rounded-top-0 rounded-bottom-3 bg-body-tertiary",style:{border:"var(--bs-border-width) solid var(--bs-border-color)"}},ce={class:"card-body d-flex flex-column gap-2"},ue={class:"form-check form-switch ms-auto"},me={class:"form-check-label",for:"livePreview"},pe={class:"form-check form-switch"},he={class:"form-check-label",for:"includeAttachment"},be=["disabled"],fe={key:0},ve={key:1},ye={key:1},ge={__name:"peerShareWithEmail",props:["dataCopy","selectedPeer"],emits:["fullscreen","hide"],async setup(s,{emit:t}){let v,p;const d=s,b=y(!1);[v,p]=N(()=>Y("/api/email/ready",{},g=>{b.value=g.status})),await v,p();const r=j(),n=U({Receiver:"",Body:r.Configuration.Email.email_template,Subject:"",IncludeAttachment:!1,ConfigurationName:d.selectedPeer.configuration.Name,Peer:d.selectedPeer.id}),c=y(!1),i=y(!1),f=async()=>{i.value=!0,await P("/api/email/send",n,g=>{g.status?r.newMessage("Server","Email sent successfully!","success"):r.newMessage("Server",`Email sent failed! Reason: ${g.message}`,"danger"),i.value=!1})},V=t;return W(c,()=>{V("fullscreen",c.value)}),(g,a)=>{const I=S("RouterLink");return b.value?(o(),u("div",X,[e("div",ee,[e("a",{role:"button",class:"d-flex text-decoration-none text-body text-muted",onClick:a[0]||(a[0]=m=>V("hide"))},[...a[7]||(a[7]=[e("i",{class:"bi bi-chevron-left me-2"},null,-1),L(" Back ",-1)])]),e("h6",te,[l(h,{t:"Share with Email"})])]),e("form",{class:"d-flex gap-3 flex-column",onSubmit:a[6]||(a[6]=m=>{m.preventDefault(),f()})},[e("div",null,[e("div",se,[a[8]||(a[8]=e("i",{class:"bi bi-person-circle",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"email",class:"form-control rounded-top-3 rounded-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},"onUpdate:modelValue":a[1]||(a[1]=m=>n.Receiver=m),disabled:i.value,placeholder:$(E)("Who are you sending to?"),required:"",id:"email_receiver","aria-describedby":"emailHelp"},null,8,ae),[[C,n.Receiver]])]),e("div",ie,[a[9]||(a[9]=e("i",{class:"bi bi-hash",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"text",class:"form-control rounded-0 border-top-0 border-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},placeholder:$(E)("What's the subject?"),disabled:i.value,"onUpdate:modelValue":a[2]||(a[2]=m=>n.Subject=m),id:"email_subject","aria-describedby":"emailHelp"},null,8,oe),[[C,n.Subject]])]),e("div",le,[e("div",{class:w([c.value?"col-6":"col-12"])},[_(e("textarea",{class:"form-control rounded-top-0 rounded-bottom-0 font-monospace border-bottom-0","onUpdate:modelValue":a[3]||(a[3]=m=>n.Body=m),disabled:i.value,placeholder:$(E)("What's the body?"),style:{height:"400px","max-height":"400px"}},null,8,re),[[C,n.Body]])],2),c.value?(o(),u("div",ne,[l(Q,{email:n,selectedPeer:s.selectedPeer},null,8,["email","selectedPeer"])])):k("",!0)]),e("div",de,[e("div",ce,[e("div",ue,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[4]||(a[4]=m=>c.value=m),role:"switch",id:"livePreview"},null,512),[[H,c.value]]),e("label",me,[l(h,{t:"Live Preview"})])])])])]),e("div",pe,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[5]||(a[5]=m=>n.IncludeAttachment=m),role:"switch",id:"includeAttachment"},null,512),[[H,n.IncludeAttachment]]),e("label",he,[l(h,{t:"Include configuration file as an attachment"})])]),e("button",{disabled:i.value,class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[i.value?(o(),u("span",ve,[a[11]||(a[11]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),l(h,{t:"Sending..."})])):(o(),u("span",fe,[a[10]||(a[10]=e("i",{class:"bi bi-send me-2"},null,-1)),l(h,{t:"Send"})]))],8,be)],32)])):(o(),u("div",ye,[e("small",null,[l(h,{t:"SMTP is not configured, please navigate to "}),l(I,{to:"/settings"},{default:B(()=>[l(h,{t:"Settings"})]),_:1}),l(h,{t:" to finish setup"})])]))}}},_e=T(ge,[["__scopeId","data-v-01e380d2"]]),xe={name:"peerShareLinkModal",props:{selectedPeer:Object},components:{PeerShareWithEmail:_e,LocaleText:h,VueDatePicker:J},data(){return{dataCopy:void 0,loading:!1,fullscreen:!1,shareWithEmail:!1}},setup(){return{store:j()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0)},watch:{"selectedPeer.ShareLink":{deep:!0,handler(s,t){t.length!==s.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,P("/api/sharePeer/create",{Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,ExpireDate:D().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},s=>{s.status?(this.selectedPeer.ShareLink=s.data,this.dataCopy=s.data.at(0)):this.store.newMessage("Server","Share link failed to create. Reason: "+s.message,"danger"),this.loading=!1})},updateLinkExpireDate(){P("/api/sharePeer/update",this.dataCopy,s=>{s.status?(this.dataCopy=s.data.at(0),this.selectedPeer.ShareLink=s.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+s.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=D().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(s){s?this.dataCopy.ExpireDate=D(s).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const s=this.store.getActiveCrossServer();return s?`${s.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},Se={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ke={class:"container d-flex h-100 w-100"},we={class:"card rounded-3 shadow flex-grow-1"},Pe={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Ce={class:"mb-0"},$e={key:0,class:"card-body px-4 pb-4"},Ee={key:0},De={class:"mb-3 text-muted"},Me=["disabled"],Le={key:1},Be={key:0},Te={class:"d-flex gap-2 mb-4"},Ve=["href"],He={class:"d-flex flex-column gap-2 mb-3"},Ne={class:"d-flex gap-2 flex-column flex-sm-row"},We=["disabled"],je={class:"text-muted"};function Ie(s,t,v,p,d,b){const r=S("LocaleText"),n=S("VueDatePicker"),c=S("PeerShareWithEmail");return o(),u("div",Se,[e("div",ke,[e("div",{class:"m-auto modal-dialog-centered dashboardModal",style:R([this.fullscreen?"width: 100%":"width: 700px"])},[e("div",we,[e("div",Pe,[e("h4",Ce,[l(r,{t:"Share Peer"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=i=>this.$emit("close"))})]),this.selectedPeer.ShareLink?(o(),u("div",$e,[this.dataCopy?(o(),u("div",Le,[d.shareWithEmail?(o(),x(A,{key:1},{fallback:B(()=>[e("h6",je,[t[11]||(t[11]=e("span",{class:"spinner-border me-2 spinner-border-sm",role:"status"},null,-1)),l(r,{t:"Checking SMTP Configuration..."})])]),default:B(()=>[l(c,{onHide:t[4]||(t[4]=i=>d.shareWithEmail=!1),onFullscreen:t[5]||(t[5]=i=>{this.fullscreen=i}),selectedPeer:v.selectedPeer,dataCopy:d.dataCopy},null,8,["selectedPeer","dataCopy"])]),_:1})):(o(),u("div",Be,[e("div",Te,[t[7]||(t[7]=e("i",{class:"bi bi-link-45deg"},null,-1)),e("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},M(b.getUrl),9,Ve)]),e("div",He,[e("small",null,[t[8]||(t[8]=e("i",{class:"bi bi-calendar me-2"},null,-1)),l(r,{t:"Expire At"})]),l(n,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),e("div",Ne,[e("button",{style:{flex:"1 1 0"},onClick:t[2]||(t[2]=i=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},[...t[9]||(t[9]=[e("i",{class:"bi bi-send-slash-fill me-2"},null,-1)])],2),this.loading?(o(),x(r,{key:0,t:"Stop Sharing..."})):(o(),x(r,{key:1,t:"Stop Sharing"}))],8,We),e("button",{style:{flex:"1 1 0"},onClick:t[3]||(t[3]=i=>d.shareWithEmail=!0),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[t[10]||(t[10]=e("i",{class:"bi bi-envelope me-2"},null,-1)),l(r,{t:"Share with Email"})])])]))])):(o(),u("div",Ee,[e("h6",De,[l(r,{t:"Currently the peer is not sharing"})]),e("button",{onClick:t[1]||(t[1]=i=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},[...t[6]||(t[6]=[e("i",{class:"bi bi-send-fill me-2"},null,-1)])],2),this.loading?(o(),x(r,{key:0,t:"Sharing..."})):(o(),x(r,{key:1,t:"Start Sharing"}))],8,Me)]))])):k("",!0)])],4)])])}const Oe=T(xe,[["render",Ie]]);export{Oe as default}; +import{_ as T,r as y,E as N,I as W,c as u,f as o,a as e,d as k,t as M,e as L,b as l,n as w,z as P,g as Y,D as j,J as U,h as S,m as _,y as C,u as $,G as E,v as H,w as B,s as R,j as x,S as A}from"./index-Y3pG9DoR.js";import{d as D}from"./dayjs.min-BxkQs1mo.js";import{Z as J}from"./vue-datepicker-BOhP7hRx.js";import{L as h}from"./localeText-DcQapG1o.js";import"./index-DLUQT8ia.js";const O={class:"card rounded-0 border-start-0 border-bottom-0 bg-body-secondary",style:{height:"400px",overflow:"scroll"}},q={class:"card-body"},z={key:0,class:"alert alert-danger rounded-3"},G={class:"font-monospace"},Z={key:0},F=["innerText"],K={__name:"peerShareWithEmailBodyPreview",props:["email","selectedPeer"],async setup(s){let t,v;const p=s,d=y(""),b=y(!1),r=y(""),n=async()=>{p.email&&(b.value=!1,await P("/api/email/preview",{Subject:p.email.Subject,Body:p.email.Body,ConfigurationName:p.selectedPeer.configuration.Name,Peer:p.selectedPeer.id},i=>{i.status?d.value=i.data:(d.value="",r.value=i.message),b.value=!i.status}))};[t,v]=N(()=>n()),await t,v();let c;return W(()=>p.email,async()=>{c===void 0?c=setTimeout(async()=>{await n()},500):(clearTimeout(c),c=setTimeout(async()=>{await n()},500))},{deep:!0}),(i,f)=>(o(),u("div",O,[e("div",q,[b.value&&s.email.Body?(o(),u("div",z,[f[0]||(f[0]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),e("span",G,M(r.value),1)])):k("",!0),e("div",null,[d.value?(o(),u("div",Z,[e("strong",null,[l(h,{t:"Subject"}),f[1]||(f[1]=L(": ",-1))]),L(M(d.value.Subject),1)])):k("",!0),f[2]||(f[2]=e("hr",null,null,-1)),e("div",{class:w({"opacity-50":b.value}),innerText:d.value.Body},null,10,F)])])]))}},Q=T(K,[["__scopeId","data-v-1a7765d4"]]),X={key:0},ee={class:"d-flex mb-3 align-items-center"},te={class:"mb-0 ms-auto"},se={class:"position-relative"},ae=["disabled","placeholder"],ie={class:"position-relative"},oe=["placeholder","disabled"],le={class:"row g-0"},re=["disabled","placeholder"],ne={key:0,class:"col-6"},de={class:"card border-top-0 rounded-top-0 rounded-bottom-3 bg-body-tertiary",style:{border:"var(--bs-border-width) solid var(--bs-border-color)"}},ce={class:"card-body d-flex flex-column gap-2"},ue={class:"form-check form-switch ms-auto"},me={class:"form-check-label",for:"livePreview"},pe={class:"form-check form-switch"},he={class:"form-check-label",for:"includeAttachment"},be=["disabled"],fe={key:0},ve={key:1},ye={key:1},ge={__name:"peerShareWithEmail",props:["dataCopy","selectedPeer"],emits:["fullscreen","hide"],async setup(s,{emit:t}){let v,p;const d=s,b=y(!1);[v,p]=N(()=>Y("/api/email/ready",{},g=>{b.value=g.status})),await v,p();const r=j(),n=U({Receiver:"",Body:r.Configuration.Email.email_template,Subject:"",IncludeAttachment:!1,ConfigurationName:d.selectedPeer.configuration.Name,Peer:d.selectedPeer.id}),c=y(!1),i=y(!1),f=async()=>{i.value=!0,await P("/api/email/send",n,g=>{g.status?r.newMessage("Server","Email sent successfully!","success"):r.newMessage("Server",`Email sent failed! Reason: ${g.message}`,"danger"),i.value=!1})},V=t;return W(c,()=>{V("fullscreen",c.value)}),(g,a)=>{const I=S("RouterLink");return b.value?(o(),u("div",X,[e("div",ee,[e("a",{role:"button",class:"d-flex text-decoration-none text-body text-muted",onClick:a[0]||(a[0]=m=>V("hide"))},[...a[7]||(a[7]=[e("i",{class:"bi bi-chevron-left me-2"},null,-1),L(" Back ",-1)])]),e("h6",te,[l(h,{t:"Share with Email"})])]),e("form",{class:"d-flex gap-3 flex-column",onSubmit:a[6]||(a[6]=m=>{m.preventDefault(),f()})},[e("div",null,[e("div",se,[a[8]||(a[8]=e("i",{class:"bi bi-person-circle",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"email",class:"form-control rounded-top-3 rounded-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},"onUpdate:modelValue":a[1]||(a[1]=m=>n.Receiver=m),disabled:i.value,placeholder:$(E)("Who are you sending to?"),required:"",id:"email_receiver","aria-describedby":"emailHelp"},null,8,ae),[[C,n.Receiver]])]),e("div",ie,[a[9]||(a[9]=e("i",{class:"bi bi-hash",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"text",class:"form-control rounded-0 border-top-0 border-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},placeholder:$(E)("What's the subject?"),disabled:i.value,"onUpdate:modelValue":a[2]||(a[2]=m=>n.Subject=m),id:"email_subject","aria-describedby":"emailHelp"},null,8,oe),[[C,n.Subject]])]),e("div",le,[e("div",{class:w([c.value?"col-6":"col-12"])},[_(e("textarea",{class:"form-control rounded-top-0 rounded-bottom-0 font-monospace border-bottom-0","onUpdate:modelValue":a[3]||(a[3]=m=>n.Body=m),disabled:i.value,placeholder:$(E)("What's the body?"),style:{height:"400px","max-height":"400px"}},null,8,re),[[C,n.Body]])],2),c.value?(o(),u("div",ne,[l(Q,{email:n,selectedPeer:s.selectedPeer},null,8,["email","selectedPeer"])])):k("",!0)]),e("div",de,[e("div",ce,[e("div",ue,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[4]||(a[4]=m=>c.value=m),role:"switch",id:"livePreview"},null,512),[[H,c.value]]),e("label",me,[l(h,{t:"Live Preview"})])])])])]),e("div",pe,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[5]||(a[5]=m=>n.IncludeAttachment=m),role:"switch",id:"includeAttachment"},null,512),[[H,n.IncludeAttachment]]),e("label",he,[l(h,{t:"Include configuration file as an attachment"})])]),e("button",{disabled:i.value,class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[i.value?(o(),u("span",ve,[a[11]||(a[11]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),l(h,{t:"Sending..."})])):(o(),u("span",fe,[a[10]||(a[10]=e("i",{class:"bi bi-send me-2"},null,-1)),l(h,{t:"Send"})]))],8,be)],32)])):(o(),u("div",ye,[e("small",null,[l(h,{t:"SMTP is not configured, please navigate to "}),l(I,{to:"/settings"},{default:B(()=>[l(h,{t:"Settings"})]),_:1}),l(h,{t:" to finish setup"})])]))}}},_e=T(ge,[["__scopeId","data-v-01e380d2"]]),xe={name:"peerShareLinkModal",props:{selectedPeer:Object},components:{PeerShareWithEmail:_e,LocaleText:h,VueDatePicker:J},data(){return{dataCopy:void 0,loading:!1,fullscreen:!1,shareWithEmail:!1}},setup(){return{store:j()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0)},watch:{"selectedPeer.ShareLink":{deep:!0,handler(s,t){t.length!==s.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,P("/api/sharePeer/create",{Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,ExpireDate:D().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},s=>{s.status?(this.selectedPeer.ShareLink=s.data,this.dataCopy=s.data.at(0)):this.store.newMessage("Server","Share link failed to create. Reason: "+s.message,"danger"),this.loading=!1})},updateLinkExpireDate(){P("/api/sharePeer/update",this.dataCopy,s=>{s.status?(this.dataCopy=s.data.at(0),this.selectedPeer.ShareLink=s.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+s.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=D().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(s){s?this.dataCopy.ExpireDate=D(s).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const s=this.store.getActiveCrossServer();return s?`${s.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},Se={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ke={class:"container d-flex h-100 w-100"},we={class:"card rounded-3 shadow flex-grow-1"},Pe={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Ce={class:"mb-0"},$e={key:0,class:"card-body px-4 pb-4"},Ee={key:0},De={class:"mb-3 text-muted"},Me=["disabled"],Le={key:1},Be={key:0},Te={class:"d-flex gap-2 mb-4"},Ve=["href"],He={class:"d-flex flex-column gap-2 mb-3"},Ne={class:"d-flex gap-2 flex-column flex-sm-row"},We=["disabled"],je={class:"text-muted"};function Ie(s,t,v,p,d,b){const r=S("LocaleText"),n=S("VueDatePicker"),c=S("PeerShareWithEmail");return o(),u("div",Se,[e("div",ke,[e("div",{class:"m-auto modal-dialog-centered dashboardModal",style:R([this.fullscreen?"width: 100%":"width: 700px"])},[e("div",we,[e("div",Pe,[e("h4",Ce,[l(r,{t:"Share Peer"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=i=>this.$emit("close"))})]),this.selectedPeer.ShareLink?(o(),u("div",$e,[this.dataCopy?(o(),u("div",Le,[d.shareWithEmail?(o(),x(A,{key:1},{fallback:B(()=>[e("h6",je,[t[11]||(t[11]=e("span",{class:"spinner-border me-2 spinner-border-sm",role:"status"},null,-1)),l(r,{t:"Checking SMTP Configuration..."})])]),default:B(()=>[l(c,{onHide:t[4]||(t[4]=i=>d.shareWithEmail=!1),onFullscreen:t[5]||(t[5]=i=>{this.fullscreen=i}),selectedPeer:v.selectedPeer,dataCopy:d.dataCopy},null,8,["selectedPeer","dataCopy"])]),_:1})):(o(),u("div",Be,[e("div",Te,[t[7]||(t[7]=e("i",{class:"bi bi-link-45deg"},null,-1)),e("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},M(b.getUrl),9,Ve)]),e("div",He,[e("small",null,[t[8]||(t[8]=e("i",{class:"bi bi-calendar me-2"},null,-1)),l(r,{t:"Expire At"})]),l(n,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),e("div",Ne,[e("button",{style:{flex:"1 1 0"},onClick:t[2]||(t[2]=i=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},[...t[9]||(t[9]=[e("i",{class:"bi bi-send-slash-fill me-2"},null,-1)])],2),this.loading?(o(),x(r,{key:0,t:"Stop Sharing..."})):(o(),x(r,{key:1,t:"Stop Sharing"}))],8,We),e("button",{style:{flex:"1 1 0"},onClick:t[3]||(t[3]=i=>d.shareWithEmail=!0),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[t[10]||(t[10]=e("i",{class:"bi bi-envelope me-2"},null,-1)),l(r,{t:"Share with Email"})])])]))])):(o(),u("div",Ee,[e("h6",De,[l(r,{t:"Currently the peer is not sharing"})]),e("button",{onClick:t[1]||(t[1]=i=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},[...t[6]||(t[6]=[e("i",{class:"bi bi-send-fill me-2"},null,-1)])],2),this.loading?(o(),x(r,{key:0,t:"Sharing..."})):(o(),x(r,{key:1,t:"Start Sharing"}))],8,Me)]))])):k("",!0)])],4)])])}const Oe=T(xe,[["render",Ie]]);export{Oe as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BuZeDfeq.js b/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-YlpjmrgU.js similarity index 93% rename from src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BuZeDfeq.js rename to src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-YlpjmrgU.js index 79fd1d27..85b2b863 100644 --- a/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-BuZeDfeq.js +++ b/src/static/dist/WGDashboardAdmin/assets/peersDefaultSettingsInput-YlpjmrgU.js @@ -1 +1 @@ -import{_ as h,c as o,a as e,m as c,d as m,b as d,h as f,y as g,n as v,t as p,z as b,D as w,A as x,f as r}from"./index-DYYtDSji.js";import{L as _}from"./localeText-Cd7vLnRM.js";const k={components:{LocaleText:_},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const s=w(),t=`input_${x()}`;return{store:s,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},methods:{async useValidation(){this.changed&&await b("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1})}}},V={class:"form-group mb-2"},D=["for"],y=["id","disabled"],T={class:"invalid-feedback"},C={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"};function F(s,t,a,I,n,u){const l=f("LocaleText");return r(),o("div",V,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[d(l,{t:this.title},null,8,["t"])])])],8,D),c(e("input",{type:"text",class:v(["form-control",{"is-invalid":n.showInvalidFeedback,"is-valid":n.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=i=>this.value=i),onKeydown:t[1]||(t[1]=i=>this.changed=!0),onBlur:t[2]||(t[2]=i=>u.useValidation()),disabled:this.updating},null,42,y),[[g,this.value]]),e("div",T,p(this.invalidFeedback),1),a.warning?(r(),o("div",C,[e("small",null,[t[3]||(t[3]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),d(l,{t:a.warningText},null,8,["t"])])])):m("",!0)])}const B=h(k,[["render",F]]);export{B as P}; +import{_ as h,c as o,a as e,m as c,d as m,b as d,h as f,y as g,n as v,t as p,z as b,D as w,A as x,f as r}from"./index-Y3pG9DoR.js";import{L as _}from"./localeText-DcQapG1o.js";const k={components:{LocaleText:_},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const s=w(),t=`input_${x()}`;return{store:s,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},methods:{async useValidation(){this.changed&&await b("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1})}}},V={class:"form-group mb-2"},D=["for"],y=["id","disabled"],T={class:"invalid-feedback"},C={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"};function F(s,t,a,I,n,u){const l=f("LocaleText");return r(),o("div",V,[e("label",{for:this.uuid,class:"text-muted mb-1"},[e("strong",null,[e("small",null,[d(l,{t:this.title},null,8,["t"])])])],8,D),c(e("input",{type:"text",class:v(["form-control",{"is-invalid":n.showInvalidFeedback,"is-valid":n.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=i=>this.value=i),onKeydown:t[1]||(t[1]=i=>this.changed=!0),onBlur:t[2]||(t[2]=i=>u.useValidation()),disabled:this.updating},null,42,y),[[g,this.value]]),e("div",T,p(this.invalidFeedback),1),a.warning?(r(),o("div",C,[e("small",null,[t[3]||(t[3]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),d(l,{t:a.warningText},null,8,["t"])])])):m("",!0)])}const B=h(k,[["render",F]]);export{B as P}; diff --git a/src/static/dist/WGDashboardAdmin/assets/ping-yn2Ok0iq.js b/src/static/dist/WGDashboardAdmin/assets/ping-CiEdmEgK.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/ping-yn2Ok0iq.js rename to src/static/dist/WGDashboardAdmin/assets/ping-CiEdmEgK.js index ea4ae5d1..1b9ccf5a 100644 --- a/src/static/dist/WGDashboardAdmin/assets/ping-yn2Ok0iq.js +++ b/src/static/dist/WGDashboardAdmin/assets/ping-CiEdmEgK.js @@ -1 +1 @@ -import{_ as R,c as l,a as e,m as u,b as d,h as b,C as _,F as c,i as p,d as m,y as k,t as i,w as f,k as v,g as x,D as I,f as n,e as g,s as C,n as h,j as P}from"./index-DYYtDSji.js";import{L as w}from"./localeText-Cd7vLnRM.js";import{O as A}from"./osmap-BtV_4HvJ.js";import"./Vector-CuSZivra.js";const S={name:"ping",components:{OSMap:A,LocaleText:w},data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:I()}},mounted(){x("/api/ping/getAllPeersIpAddress",{},a=>{a.status&&(this.loading=!0,this.cips=a.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,x("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},a=>{a.status?this.pingResult=a.data:this.store.newMessage("Server",a.message,"danger"),this.pinging=!1}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},M={class:"mt-md-5 mt-3 text-body"},T={class:"container"},V={class:"row"},$={class:"col-sm-4 d-flex gap-2 flex-column"},L={class:"mb-1 text-muted",for:"configuration"},N=["disabled"],O=["value"],B={class:"mb-1 text-muted",for:"peer"},D=["disabled"],U=["value"],z={class:"mb-1 text-muted",for:"ip"},E=["disabled"],F={class:"d-flex align-items-center gap-2"},G={class:"text-muted"},j={class:"mb-1 text-muted",for:"ipAddress"},H=["disabled"],Y={class:"mb-1 text-muted",for:"count"},q={class:"d-flex gap-3 align-items-center"},J=["disabled"],K=["disabled"],Q={key:0,class:"d-block"},W={key:1,class:"d-block"},X={class:"col-sm-8 position-relative"},Z={key:"pingPlaceholder"},ee={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},se={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},te={class:"card-body row"},ie={class:"col-sm"},ne={class:"mb-0 text-muted"},le={key:0,class:"col-sm"},de={class:"mb-0 text-muted"},oe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},ae={class:"card-body"},re={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},ue={class:"card-body"},ce={class:"mb-0 text-muted"},pe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},me={class:"card-body"},ge={class:"mb-0 text-muted"};function _e(a,s,he,be,fe,ve){const o=b("LocaleText"),y=b("OSMap");return n(),l("div",M,[e("div",T,[s[19]||(s[19]=e("h3",{class:"mb-3 text-body"},"Ping",-1)),e("div",V,[e("div",$,[e("div",null,[e("label",L,[e("small",null,[d(o,{t:"Configuration"})])]),u(e("select",{class:"form-select","onUpdate:modelValue":s[0]||(s[0]=t=>this.selectedConfiguration=t),disabled:this.pinging},[s[7]||(s[7]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),(n(!0),l(c,null,p(this.cips,(t,r)=>(n(),l("option",{value:r},i(r),9,O))),256))],8,N),[[_,this.selectedConfiguration]])]),e("div",null,[e("label",B,[e("small",null,[d(o,{t:"Peer"})])]),u(e("select",{id:"peer",class:"form-select","onUpdate:modelValue":s[1]||(s[1]=t=>this.selectedPeer=t),disabled:this.selectedConfiguration===void 0||this.pinging},[s[8]||(s[8]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedConfiguration!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration],(t,r)=>(n(),l("option",{value:r},i(r),9,U))),256)):m("",!0)],8,D),[[_,this.selectedPeer]])]),e("div",null,[e("label",z,[e("small",null,[d(o,{t:"IP Address"})])]),u(e("select",{id:"ip",class:"form-select","onUpdate:modelValue":s[2]||(s[2]=t=>this.selectedIp=t),disabled:this.selectedPeer===void 0||this.pinging},[s[9]||(s[9]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedPeer!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,t=>(n(),l("option",null,i(t),1))),256)):m("",!0)],8,E),[[_,this.selectedIp]])]),e("div",F,[s[10]||(s[10]=e("div",{class:"flex-grow-1 border-top"},null,-1)),e("small",G,[d(o,{t:"OR"})]),s[11]||(s[11]=e("div",{class:"flex-grow-1 border-top"},null,-1))]),e("div",null,[e("label",j,[e("small",null,[d(o,{t:"Enter IP Address / Hostname"})])]),u(e("input",{class:"form-control",type:"text",id:"ipAddress",disabled:this.pinging,"onUpdate:modelValue":s[3]||(s[3]=t=>this.selectedIp=t)},null,8,H),[[k,this.selectedIp]])]),s[16]||(s[16]=e("div",{class:"w-100 border-top my-2"},null,-1)),e("div",null,[e("label",Y,[e("small",null,[d(o,{t:"Count"})])]),e("div",q,[e("button",{onClick:s[4]||(s[4]=t=>this.count--),disabled:this.count===1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},[...s[12]||(s[12]=[e("i",{class:"bi bi-dash-lg"},null,-1)])],8,J),e("strong",null,i(this.count),1),e("button",{role:"button",onClick:s[5]||(s[5]=t=>this.count++),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},[...s[13]||(s[13]=[e("i",{class:"bi bi-plus-lg"},null,-1)])])])]),e("button",{class:"btn btn-primary rounded-3 mt-3 position-relative",disabled:!this.selectedIp||this.pinging,onClick:s[6]||(s[6]=t=>this.execute())},[d(v,{name:"slide"},{default:f(()=>[this.pinging?(n(),l("span",W,[...s[15]||(s[15]=[e("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),e("span",{class:"visually-hidden",role:"status"},"Loading...",-1)])])):(n(),l("span",Q,[...s[14]||(s[14]=[e("i",{class:"bi bi-person-walking me-2"},null,-1),g("Ping! ",-1)])]))]),_:1})],8,K)]),e("div",X,[d(v,{name:"ping"},{default:f(()=>[this.pingResult?(n(),l("div",ee,[this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),P(y,{key:0,d:this.pingResult},null,8,["d"])):m("",!0),e("div",se,[e("div",te,[e("div",ie,[e("p",ne,[e("small",null,[d(o,{t:"IP Address"})])]),g(" "+i(this.pingResult.address),1)]),this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),l("div",le,[e("p",de,[e("small",null,[d(o,{t:"Geolocation"})])]),g(" "+i(this.pingResult.geo.city)+", "+i(this.pingResult.geo.country),1)])):m("",!0)])]),e("div",oe,[e("div",ae,[s[18]||(s[18]=e("p",{class:"mb-0 text-muted"},[e("small",null,"Is Alive")],-1)),e("span",{class:h([this.pingResult.is_alive?"text-success":"text-danger"])},[e("i",{class:h(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),g(" "+i(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),e("div",re,[e("div",ue,[e("p",ce,[e("small",null,[d(o,{t:"Average / Min / Max Round Trip Time"})])]),e("samp",null,i(this.pingResult.avg_rtt)+"ms / "+i(this.pingResult.min_rtt)+"ms / "+i(this.pingResult.max_rtt)+"ms ",1)])]),e("div",pe,[e("div",me,[e("p",ge,[e("small",null,[d(o,{t:"Sent / Received / Lost Package"})])]),e("samp",null,i(this.pingResult.package_sent)+" / "+i(this.pingResult.package_received)+" / "+i(this.pingResult.package_loss),1)])])])):(n(),l("div",Z,[s[17]||(s[17]=e("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px"}},null,-1)),(n(),l(c,null,p(4,t=>e("div",{class:h(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:C({"animation-delay":`${t*.15}s`})},null,6)),64))]))]),_:1})])])])])}const Ie=R(S,[["render",_e],["__scopeId","data-v-a08ce97e"]]);export{Ie as default}; +import{_ as R,c as l,a as e,m as u,b as d,h as b,C as _,F as c,i as p,d as m,y as k,t as i,w as f,k as v,g as x,D as I,f as n,e as g,s as C,n as h,j as P}from"./index-Y3pG9DoR.js";import{L as w}from"./localeText-DcQapG1o.js";import{O as A}from"./osmap-B4A8sjpG.js";import"./Vector-CuSZivra.js";const S={name:"ping",components:{OSMap:A,LocaleText:w},data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:I()}},mounted(){x("/api/ping/getAllPeersIpAddress",{},a=>{a.status&&(this.loading=!0,this.cips=a.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,x("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},a=>{a.status?this.pingResult=a.data:this.store.newMessage("Server",a.message,"danger"),this.pinging=!1}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},M={class:"mt-md-5 mt-3 text-body"},T={class:"container"},V={class:"row"},$={class:"col-sm-4 d-flex gap-2 flex-column"},L={class:"mb-1 text-muted",for:"configuration"},N=["disabled"],O=["value"],B={class:"mb-1 text-muted",for:"peer"},D=["disabled"],U=["value"],z={class:"mb-1 text-muted",for:"ip"},E=["disabled"],F={class:"d-flex align-items-center gap-2"},G={class:"text-muted"},j={class:"mb-1 text-muted",for:"ipAddress"},H=["disabled"],Y={class:"mb-1 text-muted",for:"count"},q={class:"d-flex gap-3 align-items-center"},J=["disabled"],K=["disabled"],Q={key:0,class:"d-block"},W={key:1,class:"d-block"},X={class:"col-sm-8 position-relative"},Z={key:"pingPlaceholder"},ee={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},se={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},te={class:"card-body row"},ie={class:"col-sm"},ne={class:"mb-0 text-muted"},le={key:0,class:"col-sm"},de={class:"mb-0 text-muted"},oe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},ae={class:"card-body"},re={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},ue={class:"card-body"},ce={class:"mb-0 text-muted"},pe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},me={class:"card-body"},ge={class:"mb-0 text-muted"};function _e(a,s,he,be,fe,ve){const o=b("LocaleText"),y=b("OSMap");return n(),l("div",M,[e("div",T,[s[19]||(s[19]=e("h3",{class:"mb-3 text-body"},"Ping",-1)),e("div",V,[e("div",$,[e("div",null,[e("label",L,[e("small",null,[d(o,{t:"Configuration"})])]),u(e("select",{class:"form-select","onUpdate:modelValue":s[0]||(s[0]=t=>this.selectedConfiguration=t),disabled:this.pinging},[s[7]||(s[7]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),(n(!0),l(c,null,p(this.cips,(t,r)=>(n(),l("option",{value:r},i(r),9,O))),256))],8,N),[[_,this.selectedConfiguration]])]),e("div",null,[e("label",B,[e("small",null,[d(o,{t:"Peer"})])]),u(e("select",{id:"peer",class:"form-select","onUpdate:modelValue":s[1]||(s[1]=t=>this.selectedPeer=t),disabled:this.selectedConfiguration===void 0||this.pinging},[s[8]||(s[8]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedConfiguration!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration],(t,r)=>(n(),l("option",{value:r},i(r),9,U))),256)):m("",!0)],8,D),[[_,this.selectedPeer]])]),e("div",null,[e("label",z,[e("small",null,[d(o,{t:"IP Address"})])]),u(e("select",{id:"ip",class:"form-select","onUpdate:modelValue":s[2]||(s[2]=t=>this.selectedIp=t),disabled:this.selectedPeer===void 0||this.pinging},[s[9]||(s[9]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedPeer!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,t=>(n(),l("option",null,i(t),1))),256)):m("",!0)],8,E),[[_,this.selectedIp]])]),e("div",F,[s[10]||(s[10]=e("div",{class:"flex-grow-1 border-top"},null,-1)),e("small",G,[d(o,{t:"OR"})]),s[11]||(s[11]=e("div",{class:"flex-grow-1 border-top"},null,-1))]),e("div",null,[e("label",j,[e("small",null,[d(o,{t:"Enter IP Address / Hostname"})])]),u(e("input",{class:"form-control",type:"text",id:"ipAddress",disabled:this.pinging,"onUpdate:modelValue":s[3]||(s[3]=t=>this.selectedIp=t)},null,8,H),[[k,this.selectedIp]])]),s[16]||(s[16]=e("div",{class:"w-100 border-top my-2"},null,-1)),e("div",null,[e("label",Y,[e("small",null,[d(o,{t:"Count"})])]),e("div",q,[e("button",{onClick:s[4]||(s[4]=t=>this.count--),disabled:this.count===1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},[...s[12]||(s[12]=[e("i",{class:"bi bi-dash-lg"},null,-1)])],8,J),e("strong",null,i(this.count),1),e("button",{role:"button",onClick:s[5]||(s[5]=t=>this.count++),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},[...s[13]||(s[13]=[e("i",{class:"bi bi-plus-lg"},null,-1)])])])]),e("button",{class:"btn btn-primary rounded-3 mt-3 position-relative",disabled:!this.selectedIp||this.pinging,onClick:s[6]||(s[6]=t=>this.execute())},[d(v,{name:"slide"},{default:f(()=>[this.pinging?(n(),l("span",W,[...s[15]||(s[15]=[e("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),e("span",{class:"visually-hidden",role:"status"},"Loading...",-1)])])):(n(),l("span",Q,[...s[14]||(s[14]=[e("i",{class:"bi bi-person-walking me-2"},null,-1),g("Ping! ",-1)])]))]),_:1})],8,K)]),e("div",X,[d(v,{name:"ping"},{default:f(()=>[this.pingResult?(n(),l("div",ee,[this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),P(y,{key:0,d:this.pingResult},null,8,["d"])):m("",!0),e("div",se,[e("div",te,[e("div",ie,[e("p",ne,[e("small",null,[d(o,{t:"IP Address"})])]),g(" "+i(this.pingResult.address),1)]),this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),l("div",le,[e("p",de,[e("small",null,[d(o,{t:"Geolocation"})])]),g(" "+i(this.pingResult.geo.city)+", "+i(this.pingResult.geo.country),1)])):m("",!0)])]),e("div",oe,[e("div",ae,[s[18]||(s[18]=e("p",{class:"mb-0 text-muted"},[e("small",null,"Is Alive")],-1)),e("span",{class:h([this.pingResult.is_alive?"text-success":"text-danger"])},[e("i",{class:h(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),g(" "+i(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),e("div",re,[e("div",ue,[e("p",ce,[e("small",null,[d(o,{t:"Average / Min / Max Round Trip Time"})])]),e("samp",null,i(this.pingResult.avg_rtt)+"ms / "+i(this.pingResult.min_rtt)+"ms / "+i(this.pingResult.max_rtt)+"ms ",1)])]),e("div",pe,[e("div",me,[e("p",ge,[e("small",null,[d(o,{t:"Sent / Received / Lost Package"})])]),e("samp",null,i(this.pingResult.package_sent)+" / "+i(this.pingResult.package_received)+" / "+i(this.pingResult.package_loss),1)])])])):(n(),l("div",Z,[s[17]||(s[17]=e("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px"}},null,-1)),(n(),l(c,null,p(4,t=>e("div",{class:h(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:C({"animation-delay":`${t*.15}s`})},null,6)),64))]))]),_:1})])])])])}const Ie=R(S,[["render",_e],["__scopeId","data-v-a08ce97e"]]);export{Ie as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/protocolBadge-DbN6X1oX.js b/src/static/dist/WGDashboardAdmin/assets/protocolBadge-lwYXkpho.js similarity index 79% rename from src/static/dist/WGDashboardAdmin/assets/protocolBadge-DbN6X1oX.js rename to src/static/dist/WGDashboardAdmin/assets/protocolBadge-lwYXkpho.js index 721db27c..76d24316 100644 --- a/src/static/dist/WGDashboardAdmin/assets/protocolBadge-DbN6X1oX.js +++ b/src/static/dist/WGDashboardAdmin/assets/protocolBadge-lwYXkpho.js @@ -1 +1 @@ -import{L as n}from"./localeText-Cd7vLnRM.js";import{c as a,d as r,e as s,j as i,f as e}from"./index-DYYtDSji.js";const d={class:"position-relative"},c={key:0,class:"badge wireguardBg rounded-3 shadow z-1"},l={key:1,class:"badge amneziawgBg rounded-3 shadow"},p={__name:"protocolBadge",props:{protocol:String,mini:!1},setup(o){return(m,t)=>(e(),a("div",d,[o.protocol==="wg"?(e(),a("span",c,[t[0]||(t[0]=s(" WireGuard ",-1)),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):o.protocol==="awg"?(e(),a("span",l,[t[1]||(t[1]=s(" AmneziaWG ",-1)),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):r("",!0)]))}};export{p as _}; +import{L as n}from"./localeText-DcQapG1o.js";import{c as a,d as r,e as s,j as i,f as e}from"./index-Y3pG9DoR.js";const d={class:"position-relative"},c={key:0,class:"badge wireguardBg rounded-3 shadow z-1"},l={key:1,class:"badge amneziawgBg rounded-3 shadow"},p={__name:"protocolBadge",props:{protocol:String,mini:!1},setup(o){return(m,t)=>(e(),a("div",d,[o.protocol==="wg"?(e(),a("span",c,[t[0]||(t[0]=s(" WireGuard ",-1)),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):o.protocol==="awg"?(e(),a("span",l,[t[1]||(t[1]=s(" AmneziaWG ",-1)),o.mini?r("",!0):(e(),i(n,{key:0,t:"Configuration"}))])):r("",!0)]))}};export{p as _}; diff --git a/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Dz1O-iX5.js b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Dfib88BC.js similarity index 98% rename from src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Dz1O-iX5.js rename to src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Dfib88BC.js index 15a935b7..8d20bc9e 100644 --- a/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Dz1O-iX5.js +++ b/src/static/dist/WGDashboardAdmin/assets/restoreConfiguration-Dfib88BC.js @@ -1,4 +1,4 @@ -import{_ as T,r as k,o as A,c as r,f as n,a as e,d as w,t as y,F as N,i as D,j as f,b as l,n as v,u as W,J as z,W as F,q as C,I as G,D as q,K as H,m as g,y as _,e as $,z as J,g as Z,w as B,h as Q,k as V}from"./index-DYYtDSji.js";import{L as o}from"./localeText-Cd7vLnRM.js";import{d as X}from"./dayjs.min-WRW_FTL4.js";import{_ as E}from"./protocolBadge-DbN6X1oX.js";import{p as O}from"./index-Bno8fcdN.js";const ee={class:"card rounded-3 shadow-sm"},te={class:"mb-0 d-flex align-items-center gap-3"},se={class:"text-muted ms-auto d-block"},oe={key:0,class:"card-footer p-3 d-flex flex-column gap-2"},le=["onClick","id"],ne={class:"card-body d-flex p-3 gap-3 align-items-center"},ae={__name:"backupGroup",props:{configurationName:String,backups:Array,open:!1,selectedConfigurationBackup:Object,protocol:Array},emits:["select"],setup(m,{emit:u}){const t=m,h=u,p=k(t.open);return A(()=>{t.selectedConfigurationBackup&&document.querySelector(`#${t.selectedConfigurationBackup.filename.replace(".conf","")}`).scrollIntoView({behavior:"smooth"})}),(x,a)=>(n(),r("div",ee,[e("a",{role:"button",class:"card-body d-flex align-items-center text-decoration-none d-flex gap-3",onClick:a[0]||(a[0]=c=>p.value=!p.value)},[e("h6",te,[e("samp",null,y(m.configurationName),1),(n(!0),r(N,null,D(m.protocol,c=>(n(),f(E,{protocol:c},null,8,["protocol"]))),256))]),e("small",se,[l(o,{t:m.backups.length+(m.backups.length>1?" Backups":" Backup")},null,8,["t"])]),e("h5",{class:v(["mb-0 dropdownIcon text-muted",{active:p.value}])},[...a[1]||(a[1]=[e("i",{class:"bi bi-chevron-down"},null,-1)])],2)]),p.value?(n(),r("div",oe,[(n(!0),r(N,null,D(m.backups,c=>(n(),r("div",{class:"card rounded-3 shadow-sm animate__animated",key:c.filename,onClick:()=>{h("select",c)},id:c.filename.replace(".conf",""),role:"button"},[e("div",ne,[e("small",null,[a[2]||(a[2]=e("i",{class:"bi bi-file-earmark me-2"},null,-1)),e("samp",null,y(c.filename),1)]),e("small",null,[a[3]||(a[3]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),e("samp",null,y(W(X)(c.backupDate).format("YYYY-MM-DD HH:mm:ss")),1)]),e("small",null,[a[4]||(a[4]=e("i",{class:"bi bi-database me-2"},null,-1)),c.database?(n(),f(o,{key:0,t:"Yes"})):(n(),f(o,{key:1,t:"No"}))]),a[5]||(a[5]=e("small",{class:"text-muted ms-auto"},[e("i",{class:"bi bi-chevron-right"})],-1))])],8,le))),128))])):w("",!0)]))}},ie=T(ae,[["__scopeId","data-v-ccf48ac7"]]),re={class:"d-flex flex-column gap-5",id:"confirmBackup"},de={class:"d-flex flex-column gap-3"},ue={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ce={class:"mb-0"},me={class:"text-muted mb-1"},fe={class:"mb-0"},pe={class:"text-muted mb-1",for:"ConfigurationName"},ve={class:"invalid-feedback"},be={key:0},ge={key:1},_e={class:"mb-0"},ke={class:"row g-3"},ye={class:"col-sm"},he={class:"text-muted mb-1",for:"PrivateKey"},xe={class:"input-group"},Ce={class:"col-sm"},Pe={class:"text-muted mb-1",for:"PublicKey"},we={class:"text-muted mb-1",for:"ListenPort"},$e={class:"invalid-feedback"},Be={key:0},Ne={key:1},De={class:"mb-0"},Ae={class:"text-muted mb-1 d-flex",for:"ListenPort"},Ie={class:"invalid-feedback"},Le={key:0},Se={key:1},Ue={class:"accordion",id:"newConfigurationOptionalAccordion"},Ke={class:"accordion-item"},Re={class:"accordion-header"},Ve={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},Oe={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Te={class:"accordion-body d-flex flex-column gap-3"},qe={class:"text-muted mb-1",for:"PreUp"},Ee={class:"text-muted mb-1",for:"PreDown"},je={class:"text-muted mb-1",for:"PostUp"},Me={class:"text-muted mb-1",for:"PostDown"},Ye={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ze={class:"mb-0"},Fe={key:0},Ge={class:"row g-3"},He={class:"col-sm"},Je={class:"card text-bg-success rounded-3"},Ze={class:"card-body"},Qe={class:"col-sm"},Xe={class:"card text-bg-warning rounded-3"},et={class:"card-body"},tt={class:"d-flex"},st=["disabled"],ot={__name:"confirmBackup",props:{selectedConfigurationBackup:Object},setup(m){const u=m,t=z({ConfigurationName:u.selectedConfigurationBackup.filename.split("_")[0],Backup:u.selectedConfigurationBackup.filename,Protocol:u.selectedConfigurationBackup.protocol}),h=u.selectedConfigurationBackup.content.split(` +import{_ as T,r as k,o as A,c as r,f as n,a as e,d as w,t as y,F as N,i as D,j as f,b as l,n as v,u as W,J as z,W as F,q as C,I as G,D as q,K as H,m as g,y as _,e as $,z as J,g as Z,w as B,h as Q,k as V}from"./index-Y3pG9DoR.js";import{L as o}from"./localeText-DcQapG1o.js";import{d as X}from"./dayjs.min-BxkQs1mo.js";import{_ as E}from"./protocolBadge-lwYXkpho.js";import{p as O}from"./index-Bno8fcdN.js";const ee={class:"card rounded-3 shadow-sm"},te={class:"mb-0 d-flex align-items-center gap-3"},se={class:"text-muted ms-auto d-block"},oe={key:0,class:"card-footer p-3 d-flex flex-column gap-2"},le=["onClick","id"],ne={class:"card-body d-flex p-3 gap-3 align-items-center"},ae={__name:"backupGroup",props:{configurationName:String,backups:Array,open:!1,selectedConfigurationBackup:Object,protocol:Array},emits:["select"],setup(m,{emit:u}){const t=m,h=u,p=k(t.open);return A(()=>{t.selectedConfigurationBackup&&document.querySelector(`#${t.selectedConfigurationBackup.filename.replace(".conf","")}`).scrollIntoView({behavior:"smooth"})}),(x,a)=>(n(),r("div",ee,[e("a",{role:"button",class:"card-body d-flex align-items-center text-decoration-none d-flex gap-3",onClick:a[0]||(a[0]=c=>p.value=!p.value)},[e("h6",te,[e("samp",null,y(m.configurationName),1),(n(!0),r(N,null,D(m.protocol,c=>(n(),f(E,{protocol:c},null,8,["protocol"]))),256))]),e("small",se,[l(o,{t:m.backups.length+(m.backups.length>1?" Backups":" Backup")},null,8,["t"])]),e("h5",{class:v(["mb-0 dropdownIcon text-muted",{active:p.value}])},[...a[1]||(a[1]=[e("i",{class:"bi bi-chevron-down"},null,-1)])],2)]),p.value?(n(),r("div",oe,[(n(!0),r(N,null,D(m.backups,c=>(n(),r("div",{class:"card rounded-3 shadow-sm animate__animated",key:c.filename,onClick:()=>{h("select",c)},id:c.filename.replace(".conf",""),role:"button"},[e("div",ne,[e("small",null,[a[2]||(a[2]=e("i",{class:"bi bi-file-earmark me-2"},null,-1)),e("samp",null,y(c.filename),1)]),e("small",null,[a[3]||(a[3]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),e("samp",null,y(W(X)(c.backupDate).format("YYYY-MM-DD HH:mm:ss")),1)]),e("small",null,[a[4]||(a[4]=e("i",{class:"bi bi-database me-2"},null,-1)),c.database?(n(),f(o,{key:0,t:"Yes"})):(n(),f(o,{key:1,t:"No"}))]),a[5]||(a[5]=e("small",{class:"text-muted ms-auto"},[e("i",{class:"bi bi-chevron-right"})],-1))])],8,le))),128))])):w("",!0)]))}},ie=T(ae,[["__scopeId","data-v-ccf48ac7"]]),re={class:"d-flex flex-column gap-5",id:"confirmBackup"},de={class:"d-flex flex-column gap-3"},ue={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ce={class:"mb-0"},me={class:"text-muted mb-1"},fe={class:"mb-0"},pe={class:"text-muted mb-1",for:"ConfigurationName"},ve={class:"invalid-feedback"},be={key:0},ge={key:1},_e={class:"mb-0"},ke={class:"row g-3"},ye={class:"col-sm"},he={class:"text-muted mb-1",for:"PrivateKey"},xe={class:"input-group"},Ce={class:"col-sm"},Pe={class:"text-muted mb-1",for:"PublicKey"},we={class:"text-muted mb-1",for:"ListenPort"},$e={class:"invalid-feedback"},Be={key:0},Ne={key:1},De={class:"mb-0"},Ae={class:"text-muted mb-1 d-flex",for:"ListenPort"},Ie={class:"invalid-feedback"},Le={key:0},Se={key:1},Ue={class:"accordion",id:"newConfigurationOptionalAccordion"},Ke={class:"accordion-item"},Re={class:"accordion-header"},Ve={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},Oe={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Te={class:"accordion-body d-flex flex-column gap-3"},qe={class:"text-muted mb-1",for:"PreUp"},Ee={class:"text-muted mb-1",for:"PreDown"},je={class:"text-muted mb-1",for:"PostUp"},Me={class:"text-muted mb-1",for:"PostDown"},Ye={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ze={class:"mb-0"},Fe={key:0},Ge={class:"row g-3"},He={class:"col-sm"},Je={class:"card text-bg-success rounded-3"},Ze={class:"card-body"},Qe={class:"col-sm"},Xe={class:"card text-bg-warning rounded-3"},et={class:"card-body"},tt={class:"d-flex"},st=["disabled"],ot={__name:"confirmBackup",props:{selectedConfigurationBackup:Object},setup(m){const u=m,t=z({ConfigurationName:u.selectedConfigurationBackup.filename.split("_")[0],Backup:u.selectedConfigurationBackup.filename,Protocol:u.selectedConfigurationBackup.protocol}),h=u.selectedConfigurationBackup.content.split(` `);for(let i of h){if(i==="[Peer]")break;if(i.length>0){let s=i.replace(" = ","=").split("=");s[0]==="ListenPort"?t[s[0]]=parseInt(s[1]):t[s[0]]=s[1]}}const p=k(!1),x=k(!1),a=k(""),c=F(),b=C(()=>/^[a-zA-Z0-9_=+.-]{1,15}$/.test(t.ConfigurationName)&&t.ConfigurationName.length>0&&!c.Configurations.find(i=>i.Name===t.ConfigurationName)),P=C(()=>{try{window.wireguard.generatePublicKey(t.PrivateKey)}catch{return!1}return!0}),I=C(()=>t.ListenPort>0&&t.ListenPort<=65353&&Number.isInteger(t.ListenPort)&&!c.Configurations.find(i=>parseInt(i.ListenPort)===t.ListenPort)),L=C(()=>{try{return O(t.Address),!0}catch{return!1}}),S=C(()=>L.value&&I.value&&P.value&&b.value);A(()=>{document.querySelector("main").scrollTo({top:0,behavior:"smooth"}),G(()=>P,i=>{i&&(t.PublicKey=window.wireguard.generatePublicKey(t.PrivateKey))},{immediate:!0})});const U=C(()=>{let i;try{i=O(t.Address)}catch{return 0}return i.end-i.start}),K=C(()=>u.selectedConfigurationBackup.database?u.selectedConfigurationBackup.databaseContent.split(` `).filter(s=>s.search(`INSERT INTO "${t.ConfigurationName}"`)>=0).length:0),R=C(()=>u.selectedConfigurationBackup.database?u.selectedConfigurationBackup.databaseContent.split(` `).filter(s=>s.search(`INSERT INTO "${t.ConfigurationName}_restrict_access"`)>=0).length:0),j=q(),M=H(),Y=async()=>{S.value&&(x.value=!0,await J("/api/addWireguardConfiguration",t,async i=>{i.status?(j.newMessage("Server","Configuration restored","success"),await c.getConfigurations(),await M.push(`/configuration/${t.ConfigurationName}/peers`)):x.value=!1}))};return(i,s)=>(n(),r("div",re,[e("form",de,[e("div",ue,[e("h4",ce,[l(o,{t:"Configuration"})])]),e("div",null,[e("label",me,[e("small",null,[l(o,{t:"Protocol"})])]),e("h5",fe,[l(E,{protocol:m.selectedConfigurationBackup.protocol,mini:!0},null,8,["protocol"])])]),e("div",null,[e("label",pe,[e("small",null,[l(o,{t:"Configuration Name"})])]),g(e("input",{type:"text",class:v(["form-control rounded-3",[b.value?"is-valid":"is-invalid"]]),placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":s[0]||(s[0]=d=>t.ConfigurationName=d),disabled:"",required:""},null,2),[[_,t.ConfigurationName]]),e("div",ve,[p.value?(n(),r("div",be,y(a.value),1)):(n(),r("div",ge,[l(o,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",_e,[e("li",null,[l(o,{t:"Configuration name already exist."})]),e("li",null,[l(o,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])]))])]),e("div",ke,[e("div",ye,[e("div",null,[e("label",he,[e("small",null,[l(o,{t:"Private Key"})])]),e("div",xe,[g(e("input",{type:"text",class:v(["form-control rounded-start-3",[P.value?"is-valid":"is-invalid"]]),id:"PrivateKey",required:"","onUpdate:modelValue":s[1]||(s[1]=d=>t.PrivateKey=d),disabled:""},null,2),[[_,t.PrivateKey]])])])]),e("div",Ce,[e("div",null,[e("label",Pe,[e("small",null,[l(o,{t:"Public Key"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PublicKey","onUpdate:modelValue":s[2]||(s[2]=d=>t.PublicKey=d),disabled:""},null,512),[[_,t.PublicKey]])])])]),e("div",null,[e("label",we,[e("small",null,[l(o,{t:"Listen Port"})])]),g(e("input",{type:"number",class:v(["form-control rounded-3",[I.value?"is-valid":"is-invalid"]]),placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":s[3]||(s[3]=d=>t.ListenPort=d),disabled:"",required:""},null,2),[[_,t.ListenPort]]),e("div",$e,[p.value?(n(),r("div",Be,y(a.value),1)):(n(),r("div",Ne,[l(o,{t:"Listen Port is invalid. Possible reasons:"}),e("ul",De,[e("li",null,[l(o,{t:"Invalid port."})]),e("li",null,[l(o,{t:"Port is assigned to existing WireGuard Configuration."})])])]))])]),e("div",null,[e("label",Ae,[e("small",null,[l(o,{t:"IP Address/CIDR"})]),e("small",{class:v(["ms-auto",[U.value>0?"text-success":"text-danger"]])},[l(o,{t:U.value+" Available IP Address"},null,8,["t"])],2)]),g(e("input",{type:"text",class:v(["form-control",[L.value?"is-valid":"is-invalid"]]),placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":s[4]||(s[4]=d=>t.Address=d),disabled:"",required:""},null,2),[[_,t.Address]]),e("div",Ie,[p.value?(n(),r("div",Le,y(a.value),1)):(n(),r("div",Se,[l(o,{t:"IP Address/CIDR is invalid"})]))])]),e("div",Ue,[e("div",Ke,[e("h2",Re,[e("button",Ve,[l(o,{t:"Optional Settings"})])]),e("div",Oe,[e("div",Te,[e("div",null,[e("label",qe,[e("small",null,[l(o,{t:"PreUp"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PreUp",disabled:"","onUpdate:modelValue":s[5]||(s[5]=d=>t.PreUp=d)},null,512),[[_,t.PreUp]])]),e("div",null,[e("label",Ee,[e("small",null,[l(o,{t:"PreDown"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PreDown",disabled:"","onUpdate:modelValue":s[6]||(s[6]=d=>t.PreDown=d)},null,512),[[_,t.PreDown]])]),e("div",null,[e("label",je,[e("small",null,[l(o,{t:"PostUp"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PostUp",disabled:"","onUpdate:modelValue":s[7]||(s[7]=d=>t.PostUp=d)},null,512),[[_,t.PostUp]])]),e("div",null,[e("label",Me,[e("small",null,[l(o,{t:"PostDown"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PostDown",disabled:"","onUpdate:modelValue":s[8]||(s[8]=d=>t.PostDown=d)},null,512),[[_,t.PostDown]])])])])])])]),e("div",Ye,[e("div",We,[e("h4",ze,[l(o,{t:"Database File"})]),e("h4",{class:v(["mb-0 ms-auto",[m.selectedConfigurationBackup.database?"text-success":"text-danger"]])},[e("i",{class:v(["bi",[m.selectedConfigurationBackup.database?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2)],2)]),m.selectedConfigurationBackup.database?(n(),r("div",Fe,[e("div",Ge,[e("div",He,[e("div",Je,[e("div",Ze,[s[10]||(s[10]=e("i",{class:"bi bi-person-fill me-2"},null,-1)),l(o,{t:"Contain"}),s[11]||(s[11]=$()),e("strong",null,y(K.value),1),s[12]||(s[12]=$()),K.value>1?(n(),f(o,{key:0,t:"Peer"})):(n(),f(o,{key:1,t:"Peer"}))])])]),e("div",Qe,[e("div",Xe,[e("div",et,[s[13]||(s[13]=e("i",{class:"bi bi-person-fill-lock me-2"},null,-1)),l(o,{t:"Contain"}),s[14]||(s[14]=$()),e("strong",null,y(R.value),1),s[15]||(s[15]=$()),R.value>1?(n(),f(o,{key:0,t:"Restricted Peers"})):(n(),f(o,{key:1,t:"Restricted Peers"}))])])])])])):w("",!0)]),e("div",tt,[e("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!S.value||x.value,onClick:s[9]||(s[9]=d=>Y())},[s[16]||(s[16]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),l(o,{t:x.value?"Restoring...":"Restore"},null,8,["t"])],8,st)])]))}},lt={class:"mt-md-5 mt-3 text-body"},nt={class:"container mb-4"},at={class:"mb-5 d-flex align-items-center gap-4"},it={class:"mb-0"},rt={key:0},dt={class:"d-flex text-decoration-none text-body flex-grow-1 align-items-center gap-3"},ut={class:"mb-0"},ct={class:"text-muted"},mt={key:0,class:"ms-sm-auto"},ft={class:"text-muted"},pt={key:0,id:"step1Detail"},vt={class:"mb-4"},bt={class:"d-flex gap-3 flex-column"},gt={key:0},_t={class:"card rounded-3"},kt={class:"card-body"},yt={class:"mb-0"},ht={class:"my-5",key:"step2",id:"step2"},xt={class:"text-muted"},Ct={__name:"restoreConfiguration",setup(m){const u=k(void 0);q(),k(!1),A(()=>{Z("/api/getAllWireguardConfigurationBackup",{},x=>{u.value=x.data})});const t=k(!1),h=k(void 0),p=k("");return(x,a)=>{const c=Q("RouterLink");return n(),r("div",lt,[e("div",nt,[e("div",at,[l(c,{to:"/",class:"btn btn-dark btn-brand p-2 shadow",style:{"border-radius":"100%"}},{default:B(()=>[...a[1]||(a[1]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-arrow-left-circle"})],-1)])]),_:1}),e("h2",it,[l(o,{t:"Restore Configuration"})])]),l(V,{name:"fade",appear:""},{default:B(()=>[u.value?(n(),r("div",rt,[e("div",{class:v(["d-flex mb-5 align-items-center steps",{active:!t.value}]),role:"button",onClick:a[0]||(a[0]=b=>t.value=!1),key:"step1"},[e("div",dt,[a[2]||(a[2]=e("h1",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-1-circle-fill"})],-1)),e("div",null,[e("h4",ut,[l(o,{t:"Step 1"})]),e("small",ct,[t.value?(n(),f(o,{key:1,t:"Click to change a backup"})):(n(),f(o,{key:0,t:"Select a backup you want to restore"}))])])]),l(V,{name:"zoomReversed"},{default:B(()=>[t.value?(n(),r("div",mt,[e("small",ft,[l(o,{t:"Selected Backup"})]),e("h6",null,[e("samp",null,y(h.value.filename),1)])])):w("",!0)]),_:1})],2),t.value?w("",!0):(n(),r("div",pt,[e("div",vt,[e("div",bt,[(n(!0),r(N,null,D(Object.keys(u.value.NonExistingConfigurations),b=>(n(),f(ie,{onSelect:P=>{h.value=P,p.value=b,t.value=!0},selectedConfigurationBackup:h.value,open:p.value===b,protocol:[...new Set(u.value.NonExistingConfigurations[b].map(P=>P.protocol))],"configuration-name":b,backups:u.value.NonExistingConfigurations[b]},null,8,["onSelect","selectedConfigurationBackup","open","protocol","configuration-name","backups"]))),256)),Object.keys(u.value.NonExistingConfigurations).length===0?(n(),r("div",gt,[e("div",_t,[e("div",kt,[e("p",yt,[l(o,{t:"You don't have any configuration to restore"})])])])])):w("",!0)])])])),e("div",ht,[e("div",{class:v(["steps d-flex text-decoration-none text-body flex-grow-1 align-items-center gap-3",{active:t.value}])},[a[4]||(a[4]=e("h1",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-2-circle-fill"})],-1)),e("div",null,[a[3]||(a[3]=e("h4",{class:"mb-0"},"Step 2",-1)),e("small",xt,[t.value?(n(),f(o,{key:1,t:"Confirm & edit restore information"})):(n(),f(o,{key:0,t:"Backup not selected"}))])])],2)]),t.value?(n(),f(ot,{selectedConfigurationBackup:h.value,key:"confirm"},null,8,["selectedConfigurationBackup"])):w("",!0)])):w("",!0)]),_:1})])])}}},Dt=T(Ct,[["__scopeId","data-v-324df2b1"]]);export{Dt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-u2PLfoyV.js b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-Dv9JUCZq.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-u2PLfoyV.js rename to src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-Dv9JUCZq.js index e95c1cfb..5a9b4dcc 100644 --- a/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-u2PLfoyV.js +++ b/src/static/dist/WGDashboardAdmin/assets/schedulePeerJob-Dv9JUCZq.js @@ -1 +1 @@ -import{_,c as r,f as d,a as s,t as c,n as y,d as f,F as j,i as S,z as v,r as h,D as k,h as b,b as n,j as x,m as D,y as $,e as p}from"./index-DYYtDSji.js";import{Z as J}from"./vue-datepicker-Cw5Y4tvU.js";import{d as C}from"./dayjs.min-WRW_FTL4.js";import{L as V}from"./localeText-Cd7vLnRM.js";const O={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(t){t.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(t=>t.value===this.data)}}},M={class:"dropdown scheduleDropdown"},N={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem"}},P=["onClick"],F={class:"pe-5"},L={key:0,class:"bi bi-check ms-auto"};function T(t,e,l,o,m,g){return d(),r("div",M,[s("button",{class:y(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!l.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[s("samp",null,c(this.currentSelection.display),1)],2),s("ul",N,[l.edit?(d(!0),r(j,{key:0},S(this.options,a=>(d(),r("li",null,[s("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:u=>t.$emit("update",a.value)},[s("samp",F,c(a.display),1),a.value===this.currentSelection.value?(d(),r("i",L)):f("",!0)],8,P)]))),256)):f("",!0)])])}const A=_(O,[["render",T],["__scopeId","data-v-abe2acbc"]]),E={name:"schedulePeerJob",components:{LocaleText:V,VueDatePicker:J,ScheduleDropdown:A},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(t){const e=h({}),l=h(!1),o=h(!1);e.value=JSON.parse(JSON.stringify(t.pjob)),e.value.CreationDate||(l.value=!0,o.value=!0);const m=k();return{job:e,edit:l,newJob:o,store:m}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(t){this.edit||(this.job=JSON.parse(JSON.stringify(t)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?v("/api/savePeerScheduleJob",{Job:this.job},t=>{t.status?(this.edit=!1,this.store.newMessage("Server","Peer job saved","success"),console.log(t.data),this.$emit("refresh",t.data[0]),this.newJob=!1):this.store.newMessage("Server",t.message,"danger")}):this.alert()},alert(){let t="animate__flash",e=this.$el.querySelectorAll(".scheduleDropdown"),l=this.$el.querySelectorAll("input");e.forEach(o=>o.classList.add("animate__animated",t)),l.forEach(o=>o.classList.add("animate__animated",t)),setTimeout(()=>{e.forEach(o=>o.classList.remove("animate__animated",t)),l.forEach(o=>o.classList.remove("animate__animated",t))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&v("/api/deletePeerScheduleJob",{Job:this.job},t=>{t.status?this.store.newMessage("Server","Peer job deleted","success"):(this.store.newMessage("Server",t.message,"danger"),this.$emit("delete"))}),this.$emit("delete")},parseTime(t){t&&(this.job.Value=C(t).format("YYYY-MM-DD HH:mm:ss"))}}},U={class:"card-header bg-transparent text-muted border-0"},H={key:0,class:"d-flex"},B={class:"me-auto"},I={key:1},Y={class:"badge text-bg-warning"},z={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},q={class:"d-flex gap-2 align-items-center mb-2"},Z=["disabled"],G={class:"px-5 d-flex gap-2 align-items-center"},K={class:"d-flex gap-3"},Q={key:0,class:"ms-auto d-flex gap-3"},R={key:1,class:"ms-auto d-flex gap-3"};function W(t,e,l,o,m,g){const a=b("LocaleText"),u=b("ScheduleDropdown"),w=b("VueDatePicker");return d(),r("div",{class:y(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[s("div",U,[this.newJob?(d(),r("small",I,[s("span",Y,[n(a,{t:"Unsaved Job"})])])):(d(),r("small",H,[s("strong",B,[n(a,{t:"Job ID"})]),s("samp",null,c(this.job.JobID),1)]))]),s("div",z,[s("div",q,[s("samp",null,[n(a,{t:"if"})]),n(u,{edit:o.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:e[0]||(e[0]=i=>{this.job.Field=i})},null,8,["edit","options","data"]),s("samp",null,[n(a,{t:"is"})]),n(u,{edit:o.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:e[1]||(e[1]=i=>this.job.Operator=i)},null,8,["edit","options","data"]),this.job.Field==="date"?(d(),x(w,{key:0,is24:!0,"min-date":new Date,"model-value":this.job.Value,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:!o.edit,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])):D((d(),r("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!o.edit,"onUpdate:modelValue":e[2]||(e[2]=i=>this.job.Value=i),style:{width:"auto"}},null,8,Z)),[[$,this.job.Value]]),s("samp",null,c(this.dropdowns.Field.find(i=>i.value===this.job.Field)?.unit)+" { ",1)]),s("div",G,[s("samp",null,[n(a,{t:"then"})]),n(u,{edit:o.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:e[3]||(e[3]=i=>this.job.Action=i)},null,8,["edit","options","data"])]),s("div",K,[e[12]||(e[12]=s("samp",null,"}",-1)),this.edit?(d(),r("div",R,[s("a",{role:"button",class:"text-secondary text-decoration-none",onClick:e[6]||(e[6]=i=>this.reset())},[e[10]||(e[10]=p("[C] ",-1)),n(a,{t:"Cancel"})]),s("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:e[7]||(e[7]=i=>this.save())},[e[11]||(e[11]=p("[S] ",-1)),n(a,{t:"Save"})])])):(d(),r("div",Q,[s("a",{role:"button",class:"ms-auto text-decoration-none",onClick:e[4]||(e[4]=i=>this.edit=!0)},[e[8]||(e[8]=p("[E] ",-1)),n(a,{t:"Edit"})]),s("a",{role:"button",onClick:e[5]||(e[5]=i=>this.delete()),class:"text-danger text-decoration-none"},[e[9]||(e[9]=p("[D] ",-1)),n(a,{t:"Delete"})])]))])])],2)}const oe=_(E,[["render",W],["__scopeId","data-v-73513cfe"]]);export{oe as S,A as a}; +import{_,c as r,f as d,a as s,t as c,n as y,d as f,F as j,i as S,z as v,r as h,D as k,h as b,b as n,j as x,m as D,y as $,e as p}from"./index-Y3pG9DoR.js";import{Z as J}from"./vue-datepicker-BOhP7hRx.js";import{d as C}from"./dayjs.min-BxkQs1mo.js";import{L as V}from"./localeText-DcQapG1o.js";const O={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(t){t.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(t=>t.value===this.data)}}},M={class:"dropdown scheduleDropdown"},N={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem"}},P=["onClick"],F={class:"pe-5"},L={key:0,class:"bi bi-check ms-auto"};function T(t,e,l,o,m,g){return d(),r("div",M,[s("button",{class:y(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!l.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[s("samp",null,c(this.currentSelection.display),1)],2),s("ul",N,[l.edit?(d(!0),r(j,{key:0},S(this.options,a=>(d(),r("li",null,[s("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:u=>t.$emit("update",a.value)},[s("samp",F,c(a.display),1),a.value===this.currentSelection.value?(d(),r("i",L)):f("",!0)],8,P)]))),256)):f("",!0)])])}const A=_(O,[["render",T],["__scopeId","data-v-abe2acbc"]]),E={name:"schedulePeerJob",components:{LocaleText:V,VueDatePicker:J,ScheduleDropdown:A},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(t){const e=h({}),l=h(!1),o=h(!1);e.value=JSON.parse(JSON.stringify(t.pjob)),e.value.CreationDate||(l.value=!0,o.value=!0);const m=k();return{job:e,edit:l,newJob:o,store:m}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(t){this.edit||(this.job=JSON.parse(JSON.stringify(t)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?v("/api/savePeerScheduleJob",{Job:this.job},t=>{t.status?(this.edit=!1,this.store.newMessage("Server","Peer job saved","success"),console.log(t.data),this.$emit("refresh",t.data[0]),this.newJob=!1):this.store.newMessage("Server",t.message,"danger")}):this.alert()},alert(){let t="animate__flash",e=this.$el.querySelectorAll(".scheduleDropdown"),l=this.$el.querySelectorAll("input");e.forEach(o=>o.classList.add("animate__animated",t)),l.forEach(o=>o.classList.add("animate__animated",t)),setTimeout(()=>{e.forEach(o=>o.classList.remove("animate__animated",t)),l.forEach(o=>o.classList.remove("animate__animated",t))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&v("/api/deletePeerScheduleJob",{Job:this.job},t=>{t.status?this.store.newMessage("Server","Peer job deleted","success"):(this.store.newMessage("Server",t.message,"danger"),this.$emit("delete"))}),this.$emit("delete")},parseTime(t){t&&(this.job.Value=C(t).format("YYYY-MM-DD HH:mm:ss"))}}},U={class:"card-header bg-transparent text-muted border-0"},H={key:0,class:"d-flex"},B={class:"me-auto"},I={key:1},Y={class:"badge text-bg-warning"},z={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},q={class:"d-flex gap-2 align-items-center mb-2"},Z=["disabled"],G={class:"px-5 d-flex gap-2 align-items-center"},K={class:"d-flex gap-3"},Q={key:0,class:"ms-auto d-flex gap-3"},R={key:1,class:"ms-auto d-flex gap-3"};function W(t,e,l,o,m,g){const a=b("LocaleText"),u=b("ScheduleDropdown"),w=b("VueDatePicker");return d(),r("div",{class:y(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[s("div",U,[this.newJob?(d(),r("small",I,[s("span",Y,[n(a,{t:"Unsaved Job"})])])):(d(),r("small",H,[s("strong",B,[n(a,{t:"Job ID"})]),s("samp",null,c(this.job.JobID),1)]))]),s("div",z,[s("div",q,[s("samp",null,[n(a,{t:"if"})]),n(u,{edit:o.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:e[0]||(e[0]=i=>{this.job.Field=i})},null,8,["edit","options","data"]),s("samp",null,[n(a,{t:"is"})]),n(u,{edit:o.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:e[1]||(e[1]=i=>this.job.Operator=i)},null,8,["edit","options","data"]),this.job.Field==="date"?(d(),x(w,{key:0,is24:!0,"min-date":new Date,"model-value":this.job.Value,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:!o.edit,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])):D((d(),r("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!o.edit,"onUpdate:modelValue":e[2]||(e[2]=i=>this.job.Value=i),style:{width:"auto"}},null,8,Z)),[[$,this.job.Value]]),s("samp",null,c(this.dropdowns.Field.find(i=>i.value===this.job.Field)?.unit)+" { ",1)]),s("div",G,[s("samp",null,[n(a,{t:"then"})]),n(u,{edit:o.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:e[3]||(e[3]=i=>this.job.Action=i)},null,8,["edit","options","data"])]),s("div",K,[e[12]||(e[12]=s("samp",null,"}",-1)),this.edit?(d(),r("div",R,[s("a",{role:"button",class:"text-secondary text-decoration-none",onClick:e[6]||(e[6]=i=>this.reset())},[e[10]||(e[10]=p("[C] ",-1)),n(a,{t:"Cancel"})]),s("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:e[7]||(e[7]=i=>this.save())},[e[11]||(e[11]=p("[S] ",-1)),n(a,{t:"Save"})])])):(d(),r("div",Q,[s("a",{role:"button",class:"ms-auto text-decoration-none",onClick:e[4]||(e[4]=i=>this.edit=!0)},[e[8]||(e[8]=p("[E] ",-1)),n(a,{t:"Edit"})]),s("a",{role:"button",onClick:e[5]||(e[5]=i=>this.delete()),class:"text-danger text-decoration-none"},[e[9]||(e[9]=p("[D] ",-1)),n(a,{t:"Delete"})])]))])])],2)}const oe=_(E,[["render",W],["__scopeId","data-v-73513cfe"]]);export{oe as S,A as a}; diff --git a/src/static/dist/WGDashboardAdmin/assets/selectPeers-S8BB8ekI.js b/src/static/dist/WGDashboardAdmin/assets/selectPeers-DJXcezaU.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/selectPeers-S8BB8ekI.js rename to src/static/dist/WGDashboardAdmin/assets/selectPeers-DJXcezaU.js index f97871b9..f3cf344a 100644 --- a/src/static/dist/WGDashboardAdmin/assets/selectPeers-S8BB8ekI.js +++ b/src/static/dist/WGDashboardAdmin/assets/selectPeers-DJXcezaU.js @@ -1 +1 @@ -import{_ as j,r as g,q as A,I as E,L as F,D as M,J as z,a0 as C,c as o,f as n,a as t,b as r,m as O,d as b,y as q,F as p,i as G,n as w,t as S,e as h,g as J,z as Y}from"./index-DYYtDSji.js";import{L as d}from"./localeText-Cd7vLnRM.js";const H={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"selectPeersContainer"},K={class:"container d-flex h-100 w-100"},Q={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},W={class:"card rounded-3 shadow flex-grow-1"},X={class:"card-header bg-transparent d-flex align-items-center gap-2 p-4 flex-column pb-3"},Z={class:"mb-2 w-100 d-flex"},ee={class:"mb-0"},te={class:"d-flex w-100 align-items-center gap-2"},se={class:"d-flex gap-3"},le={class:"card-body px-4 flex-grow-1 d-flex gap-2 flex-column position-relative",ref:"card-body",style:{"overflow-y":"scroll"}},ae=["onClick","disabled","data-id"],oe={key:0},ne={class:"d-flex flex-column"},ie={class:"fw-bold"},re={class:"text-muted"},de={key:1,class:"ms-auto"},ue={key:0,class:"spinner-border spinner-border-sm",role:"status"},ce={class:"card-footer px-4 py-3 gap-2 d-flex align-items-center"},fe=["disabled"],be={key:0,class:"flex-grow-1 text-center"},ve=["disabled"],me={key:0,class:"flex-grow-1 text-center"},ge=["disabled"],pe={key:0,class:"flex-grow-1 text-center"},he=["disabled"],xe={__name:"selectPeers",props:{configurationPeers:Array},emits:["refresh","close"],setup(x,{emit:$}){const y=x,f=g(!1),u=g(!1),s=g([]),m=g(""),D=a=>{s.value.find(e=>e===a)?s.value=s.value.filter(e=>e!==a):s.value.push(a)},B=A(()=>f.value||u.value?y.configurationPeers.filter(a=>s.value.find(e=>e===a.id)):m.value.length>0?y.configurationPeers.filter(a=>a.id.includes(m.value)||a.name.includes(m.value)):y.configurationPeers);E(s,()=>{s.value.length===0&&(f.value=!1,u.value=!1)});const P=F(),L=M(),_=$,v=g(!1),N=()=>{v.value=!0,Y(`/api/deletePeers/${P.params.id}`,{peers:s.value},a=>{L.newMessage("Server",a.message,a.status?"success":"danger"),a.status&&(s.value=[],f.value=!1),_("refresh"),v.value=!1})},c=z({success:[],failed:[]}),T=C("card-body"),I=C("sp"),U=async()=>{u.value=!0;for(const a of s.value)T.value.scrollTo({top:I.value.find(e=>e.dataset.id===a).offsetTop-20,behavior:"smooth"}),await J("/api/downloadPeer/"+P.params.id,{id:a},e=>{if(e.status){const l=new Blob([e.data.file],{type:"text/plain"}),i=URL.createObjectURL(l),R=`${e.data.fileName}.conf`,k=document.createElement("a");k.href=i,k.download=R,k.click(),c.success.push(a)}else c.failed.push(a)})},V=()=>{c.success=[],c.failed=[],u.value=!1};return(a,e)=>(n(),o("div",H,[t("div",K,[t("div",Q,[t("div",W,[t("div",X,[t("div",Z,[t("h4",ee,[r(d,{t:"Select Peers"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=l=>_("close"))})]),t("div",te,[t("div",se,[!u.value&&s.value.length!==x.configurationPeers.map(l=>l.id).length?(n(),o("a",{key:0,role:"button",onClick:e[1]||(e[1]=l=>s.value=x.configurationPeers.map(i=>i.id)),class:"text-decoration-none text-body"},[t("small",null,[e[9]||(e[9]=t("i",{class:"bi bi-check-all me-2"},null,-1)),r(d,{t:"Select All"})])])):b("",!0),s.value.length>0&&!u.value?(n(),o("a",{key:1,role:"button",class:"text-decoration-none text-body",onClick:e[2]||(e[2]=l=>s.value=[])},[t("small",null,[e[10]||(e[10]=t("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),r(d,{t:"Clear Selection"})])])):b("",!0)]),e[11]||(e[11]=t("label",{class:"ms-auto",for:"selectPeersSearchInput"},[t("i",{class:"bi bi-search"})],-1)),O(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":e[3]||(e[3]=l=>m.value=l),id:"selectPeersSearchInput",style:{width:"200px !important"},type:"text"},null,512),[[q,m.value]])])]),t("div",le,[(n(!0),o(p,null,G(B.value,l=>(n(),o("button",{type:"button",class:w(["btn w-100 peerBtn text-start rounded-3 d-flex align-items-center gap-3",{active:s.value.find(i=>i===l.id)}]),onClick:i=>D(l.id),key:l.id,disabled:f.value||u.value,ref_for:!0,ref:"sp","data-id":l.id},[u.value?b("",!0):(n(),o("span",oe,[t("i",{class:w(["bi",[s.value.find(i=>i===l.id)?"bi-check-circle-fill":"bi-circle"]])},null,2)])),t("span",ne,[t("small",ie,S(l.name?l.name:"Untitled Peer"),1),t("small",re,[t("samp",null,S(l.id),1)])]),u.value?(n(),o("span",de,[!c.success.find(i=>i===l.id)&&!c.failed.find(i=>i===l.id)?(n(),o("span",ue)):(n(),o("i",{key:1,class:w(["bi",[c.failed.find(i=>i===l.id)?"bi-x-circle-fill":"bi-check-circle-fill"]])},null,2))])):b("",!0)],10,ae))),128))],512),t("div",ce,[!f.value&&!u.value?(n(),o(p,{key:0},[t("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3",disabled:s.value.length===0||v.value,onClick:e[4]||(e[4]=l=>U())},[...e[12]||(e[12]=[t("i",{class:"bi bi-download"},null,-1)])],8,fe),s.value.length>0?(n(),o("span",be,[e[13]||(e[13]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"])])):b("",!0),t("button",{class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle ms-auto rounded-3",onClick:e[5]||(e[5]=l=>f.value=!0),disabled:s.value.length===0||v.value},[...e[14]||(e[14]=[t("i",{class:"bi bi-trash"},null,-1)])],8,ve)],64)):u.value?(n(),o(p,{key:1},[c.failed.length+c.success.length1?"s":"")},null,8,["t"]),e[16]||(e[16]=h("... ",-1))])):(n(),o(p,{key:1},[t("strong",null,[r(d,{t:"Download Finished"})]),t("button",{onClick:e[6]||(e[6]=l=>V()),class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle rounded-3 ms-auto"},[r(d,{t:"Done"})])],64))],64)):f.value?(n(),o(p,{key:2},[t("button",{class:"btn btn-danger rounded-3",disabled:s.value.length===0||v.value,onClick:e[7]||(e[7]=l=>N())},[r(d,{t:"Yes"})],8,ge),s.value.length>0?(n(),o("strong",pe,[r(d,{t:"Are you sure to delete"}),e[17]||(e[17]=h()),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"]),e[18]||(e[18]=h("? ",-1))])):b("",!0),t("button",{class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle ms-auto rounded-3",disabled:s.value.length===0||v.value,onClick:e[8]||(e[8]=l=>f.value=!1)},[r(d,{t:"No"})],8,he)],64)):b("",!0)])])])])],512))}},we=j(xe,[["__scopeId","data-v-177407c1"]]);export{we as default}; +import{_ as j,r as g,q as A,I as E,L as F,D as M,J as z,a0 as C,c as o,f as n,a as t,b as r,m as O,d as b,y as q,F as p,i as G,n as w,t as S,e as h,g as J,z as Y}from"./index-Y3pG9DoR.js";import{L as d}from"./localeText-DcQapG1o.js";const H={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"selectPeersContainer"},K={class:"container d-flex h-100 w-100"},Q={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},W={class:"card rounded-3 shadow flex-grow-1"},X={class:"card-header bg-transparent d-flex align-items-center gap-2 p-4 flex-column pb-3"},Z={class:"mb-2 w-100 d-flex"},ee={class:"mb-0"},te={class:"d-flex w-100 align-items-center gap-2"},se={class:"d-flex gap-3"},le={class:"card-body px-4 flex-grow-1 d-flex gap-2 flex-column position-relative",ref:"card-body",style:{"overflow-y":"scroll"}},ae=["onClick","disabled","data-id"],oe={key:0},ne={class:"d-flex flex-column"},ie={class:"fw-bold"},re={class:"text-muted"},de={key:1,class:"ms-auto"},ue={key:0,class:"spinner-border spinner-border-sm",role:"status"},ce={class:"card-footer px-4 py-3 gap-2 d-flex align-items-center"},fe=["disabled"],be={key:0,class:"flex-grow-1 text-center"},ve=["disabled"],me={key:0,class:"flex-grow-1 text-center"},ge=["disabled"],pe={key:0,class:"flex-grow-1 text-center"},he=["disabled"],xe={__name:"selectPeers",props:{configurationPeers:Array},emits:["refresh","close"],setup(x,{emit:$}){const y=x,f=g(!1),u=g(!1),s=g([]),m=g(""),D=a=>{s.value.find(e=>e===a)?s.value=s.value.filter(e=>e!==a):s.value.push(a)},B=A(()=>f.value||u.value?y.configurationPeers.filter(a=>s.value.find(e=>e===a.id)):m.value.length>0?y.configurationPeers.filter(a=>a.id.includes(m.value)||a.name.includes(m.value)):y.configurationPeers);E(s,()=>{s.value.length===0&&(f.value=!1,u.value=!1)});const P=F(),L=M(),_=$,v=g(!1),N=()=>{v.value=!0,Y(`/api/deletePeers/${P.params.id}`,{peers:s.value},a=>{L.newMessage("Server",a.message,a.status?"success":"danger"),a.status&&(s.value=[],f.value=!1),_("refresh"),v.value=!1})},c=z({success:[],failed:[]}),T=C("card-body"),I=C("sp"),U=async()=>{u.value=!0;for(const a of s.value)T.value.scrollTo({top:I.value.find(e=>e.dataset.id===a).offsetTop-20,behavior:"smooth"}),await J("/api/downloadPeer/"+P.params.id,{id:a},e=>{if(e.status){const l=new Blob([e.data.file],{type:"text/plain"}),i=URL.createObjectURL(l),R=`${e.data.fileName}.conf`,k=document.createElement("a");k.href=i,k.download=R,k.click(),c.success.push(a)}else c.failed.push(a)})},V=()=>{c.success=[],c.failed=[],u.value=!1};return(a,e)=>(n(),o("div",H,[t("div",K,[t("div",Q,[t("div",W,[t("div",X,[t("div",Z,[t("h4",ee,[r(d,{t:"Select Peers"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=l=>_("close"))})]),t("div",te,[t("div",se,[!u.value&&s.value.length!==x.configurationPeers.map(l=>l.id).length?(n(),o("a",{key:0,role:"button",onClick:e[1]||(e[1]=l=>s.value=x.configurationPeers.map(i=>i.id)),class:"text-decoration-none text-body"},[t("small",null,[e[9]||(e[9]=t("i",{class:"bi bi-check-all me-2"},null,-1)),r(d,{t:"Select All"})])])):b("",!0),s.value.length>0&&!u.value?(n(),o("a",{key:1,role:"button",class:"text-decoration-none text-body",onClick:e[2]||(e[2]=l=>s.value=[])},[t("small",null,[e[10]||(e[10]=t("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),r(d,{t:"Clear Selection"})])])):b("",!0)]),e[11]||(e[11]=t("label",{class:"ms-auto",for:"selectPeersSearchInput"},[t("i",{class:"bi bi-search"})],-1)),O(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":e[3]||(e[3]=l=>m.value=l),id:"selectPeersSearchInput",style:{width:"200px !important"},type:"text"},null,512),[[q,m.value]])])]),t("div",le,[(n(!0),o(p,null,G(B.value,l=>(n(),o("button",{type:"button",class:w(["btn w-100 peerBtn text-start rounded-3 d-flex align-items-center gap-3",{active:s.value.find(i=>i===l.id)}]),onClick:i=>D(l.id),key:l.id,disabled:f.value||u.value,ref_for:!0,ref:"sp","data-id":l.id},[u.value?b("",!0):(n(),o("span",oe,[t("i",{class:w(["bi",[s.value.find(i=>i===l.id)?"bi-check-circle-fill":"bi-circle"]])},null,2)])),t("span",ne,[t("small",ie,S(l.name?l.name:"Untitled Peer"),1),t("small",re,[t("samp",null,S(l.id),1)])]),u.value?(n(),o("span",de,[!c.success.find(i=>i===l.id)&&!c.failed.find(i=>i===l.id)?(n(),o("span",ue)):(n(),o("i",{key:1,class:w(["bi",[c.failed.find(i=>i===l.id)?"bi-x-circle-fill":"bi-check-circle-fill"]])},null,2))])):b("",!0)],10,ae))),128))],512),t("div",ce,[!f.value&&!u.value?(n(),o(p,{key:0},[t("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3",disabled:s.value.length===0||v.value,onClick:e[4]||(e[4]=l=>U())},[...e[12]||(e[12]=[t("i",{class:"bi bi-download"},null,-1)])],8,fe),s.value.length>0?(n(),o("span",be,[e[13]||(e[13]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"])])):b("",!0),t("button",{class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle ms-auto rounded-3",onClick:e[5]||(e[5]=l=>f.value=!0),disabled:s.value.length===0||v.value},[...e[14]||(e[14]=[t("i",{class:"bi bi-trash"},null,-1)])],8,ve)],64)):u.value?(n(),o(p,{key:1},[c.failed.length+c.success.length1?"s":"")},null,8,["t"]),e[16]||(e[16]=h("... ",-1))])):(n(),o(p,{key:1},[t("strong",null,[r(d,{t:"Download Finished"})]),t("button",{onClick:e[6]||(e[6]=l=>V()),class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle rounded-3 ms-auto"},[r(d,{t:"Done"})])],64))],64)):f.value?(n(),o(p,{key:2},[t("button",{class:"btn btn-danger rounded-3",disabled:s.value.length===0||v.value,onClick:e[7]||(e[7]=l=>N())},[r(d,{t:"Yes"})],8,ge),s.value.length>0?(n(),o("strong",pe,[r(d,{t:"Are you sure to delete"}),e[17]||(e[17]=h()),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"]),e[18]||(e[18]=h("? ",-1))])):b("",!0),t("button",{class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle ms-auto rounded-3",disabled:s.value.length===0||v.value,onClick:e[8]||(e[8]=l=>f.value=!1)},[r(d,{t:"No"})],8,he)],64)):b("",!0)])])])])],512))}},we=j(xe,[["__scopeId","data-v-177407c1"]]);export{we as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/settings-yh4yZgcG.js b/src/static/dist/WGDashboardAdmin/assets/settings-BhzFABZg.js similarity index 88% rename from src/static/dist/WGDashboardAdmin/assets/settings-yh4yZgcG.js rename to src/static/dist/WGDashboardAdmin/assets/settings-BhzFABZg.js index e97e4361..5271697a 100644 --- a/src/static/dist/WGDashboardAdmin/assets/settings-yh4yZgcG.js +++ b/src/static/dist/WGDashboardAdmin/assets/settings-BhzFABZg.js @@ -1 +1 @@ -import{_ as c,z as D,D as m,A as x,c as i,a as t,t as S,m as l,y as u,e as p,f as o,b as n,F as $,i as w,h as r,w as I}from"./index-DYYtDSji.js";import{P}from"./peersDefaultSettingsInput-BuZeDfeq.js";import{A as k,a as A,D as y,b as C,c as V,d as F,e as T,_ as L}from"./dashboardEmailSettings-BLi3ez-N.js";import{D as R,a as W}from"./dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js";import{L as U}from"./localeText-Cd7vLnRM.js";import"./dayjs.min-WRW_FTL4.js";import"./vue-datepicker-Cw5Y4tvU.js";import"./index-DPa-4xgI.js";const B={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=m(),s=`input_${x()}`;return{store:e,uuid:s}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await D("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)})}}},G={class:"invalid-feedback d-block mt-0"},N={class:"row"},E={class:"form-group mb-2 col-sm"},M=["for"],j=["id"],z={class:"form-group col-sm"},K=["for"],q=["id"];function H(e,s,h,_,b,f){return o(),i("div",null,[t("div",G,S(this.invalidFeedback),1),t("div",N,[t("div",E,[t("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},[...s[2]||(s[2]=[t("strong",null,[t("small",null,"Dashboard IP Address")],-1)])],8,M),l(t("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.app_ip=a)},null,8,j),[[u,this.app_ip]]),s[3]||(s[3]=t("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[t("small",null,[t("i",{class:"bi bi-exclamation-triangle-fill me-2"}),t("code",null,"0.0.0.0"),p(" means it can be access by anyone with your server IP Address.")])],-1))]),t("div",z,[t("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},[...s[4]||(s[4]=[t("strong",null,[t("small",null,"Dashboard Port")],-1)])],8,K),l(t("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":s[1]||(s[1]=a=>this.app_port=a)},null,8,q),[[u,this.app_port]])])]),s[5]||(s[5]=t("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[t("i",{class:"bi bi-floppy-fill me-2"}),p("Update Dashboard Settings & Restart ")],-1))])}const J=c(B,[["render",H]]),O={name:"settings",components:{DashboardEmailSettings:L,DashboardSettingsWireguardConfigurationAutostart:W,DashboardIPPortInput:T,DashboardLanguage:F,LocaleText:U,AccountSettingsMFA:V,DashboardAPIKeys:C,DashboardSettingsInputIPAddressAndPort:J,DashboardTheme:y,DashboardSettingsInputWireguardConfigurationPath:R,AccountSettingsInputPassword:A,AccountSettingsInputUsername:k,PeersDefaultSettingsInput:P},setup(){return{dashboardConfigurationStore:m()}},data(){return{activeTab:"WGDashboard",tabs:[{id:"",title:"WGDashboard Settings"},{id:"peers_settings",title:"Peers Settings"},{id:"wireguard_settings",title:"WireGuard Configuration Settings"}]}}},Q={class:"mt-md-5 mt-3 text-body mb-3"},X={class:"container-md d-flex flex-column gap-3"},Y={class:"border-bottom pb-3"},Z={class:"nav nav-pills nav-justified align-items-center gap-2"},tt={class:"nav-item"},st={class:"my-2"};function et(e,s,h,_,b,f){const a=r("LocaleText"),g=r("RouterLink"),v=r("RouterView");return o(),i("div",Q,[t("div",X,[t("div",Y,[t("ul",Z,[(o(!0),i($,null,w(this.tabs,d=>(o(),i("li",tt,[n(g,{to:{name:d.title},class:"nav-link rounded-3","exact-active-class":"active",role:"button"},{default:I(()=>[t("h6",st,[n(a,{t:d.title},null,8,["t"])])]),_:2},1032,["to"])]))),256))])]),n(v)])])}const pt=c(O,[["render",et]]);export{pt as default}; +import{_ as c,z as D,D as m,A as x,c as i,a as t,t as S,m as l,y as u,e as p,f as o,b as n,F as $,i as w,h as r,w as I}from"./index-Y3pG9DoR.js";import{P}from"./peersDefaultSettingsInput-YlpjmrgU.js";import{A as k,a as A,D as y,b as C,c as V,d as F,e as T,_ as L}from"./dashboardEmailSettings-CL6ajYjE.js";import{D as R,a as W}from"./dashboardSettingsWireguardConfigurationAutostart-BwdJjJa2.js";import{L as U}from"./localeText-DcQapG1o.js";import"./dayjs.min-BxkQs1mo.js";import"./vue-datepicker-BOhP7hRx.js";import"./index-DLUQT8ia.js";const B={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=m(),s=`input_${x()}`;return{store:e,uuid:s}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await D("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)})}}},G={class:"invalid-feedback d-block mt-0"},N={class:"row"},E={class:"form-group mb-2 col-sm"},M=["for"],j=["id"],z={class:"form-group col-sm"},K=["for"],q=["id"];function H(e,s,h,_,b,f){return o(),i("div",null,[t("div",G,S(this.invalidFeedback),1),t("div",N,[t("div",E,[t("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},[...s[2]||(s[2]=[t("strong",null,[t("small",null,"Dashboard IP Address")],-1)])],8,M),l(t("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":s[0]||(s[0]=a=>this.app_ip=a)},null,8,j),[[u,this.app_ip]]),s[3]||(s[3]=t("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[t("small",null,[t("i",{class:"bi bi-exclamation-triangle-fill me-2"}),t("code",null,"0.0.0.0"),p(" means it can be access by anyone with your server IP Address.")])],-1))]),t("div",z,[t("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},[...s[4]||(s[4]=[t("strong",null,[t("small",null,"Dashboard Port")],-1)])],8,K),l(t("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":s[1]||(s[1]=a=>this.app_port=a)},null,8,q),[[u,this.app_port]])])]),s[5]||(s[5]=t("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[t("i",{class:"bi bi-floppy-fill me-2"}),p("Update Dashboard Settings & Restart ")],-1))])}const J=c(B,[["render",H]]),O={name:"settings",components:{DashboardEmailSettings:L,DashboardSettingsWireguardConfigurationAutostart:W,DashboardIPPortInput:T,DashboardLanguage:F,LocaleText:U,AccountSettingsMFA:V,DashboardAPIKeys:C,DashboardSettingsInputIPAddressAndPort:J,DashboardTheme:y,DashboardSettingsInputWireguardConfigurationPath:R,AccountSettingsInputPassword:A,AccountSettingsInputUsername:k,PeersDefaultSettingsInput:P},setup(){return{dashboardConfigurationStore:m()}},data(){return{activeTab:"WGDashboard",tabs:[{id:"",title:"WGDashboard Settings"},{id:"peers_settings",title:"Peers Settings"},{id:"wireguard_settings",title:"WireGuard Configuration Settings"}]}}},Q={class:"mt-md-5 mt-3 text-body mb-3"},X={class:"container-md d-flex flex-column gap-3"},Y={class:"border-bottom pb-3"},Z={class:"nav nav-pills nav-justified align-items-center gap-2"},tt={class:"nav-item"},st={class:"my-2"};function et(e,s,h,_,b,f){const a=r("LocaleText"),g=r("RouterLink"),v=r("RouterView");return o(),i("div",Q,[t("div",X,[t("div",Y,[t("ul",Z,[(o(!0),i($,null,w(this.tabs,d=>(o(),i("li",tt,[n(g,{to:{name:d.title},class:"nav-link rounded-3","exact-active-class":"active",role:"button"},{default:I(()=>[t("h6",st,[n(a,{t:d.title},null,8,["t"])])]),_:2},1032,["to"])]))),256))])]),n(v)])])}const pt=c(O,[["render",et]]);export{pt as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/setup-DwS6cNkc.js b/src/static/dist/WGDashboardAdmin/assets/setup-B85K0yG_.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/setup-DwS6cNkc.js rename to src/static/dist/WGDashboardAdmin/assets/setup-B85K0yG_.js index cde030d5..2b62b877 100644 --- a/src/static/dist/WGDashboardAdmin/assets/setup-DwS6cNkc.js +++ b/src/static/dist/WGDashboardAdmin/assets/setup-B85K0yG_.js @@ -1 +1 @@ -import{_ as u,c as r,a as e,b as o,h as m,e as p,d as c,t as h,m as l,y as d,z as f,D as w,f as i}from"./index-DYYtDSji.js";import{L as g}from"./localeText-Cd7vLnRM.js";const b={name:"setup",components:{LocaleText:g},setup(){return{store:w()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,f("/api/Welcome_Finish",this.setup,n=>{n.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(s=>s.classList.add("is-invalid")),this.errorMessage=n.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},_=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},v={class:"dashboardLogo display-4"},y={class:"mb-5"},P={key:0,class:"alert alert-danger"},N={class:"d-flex flex-column gap-3"},k={id:"createAccount",class:"d-flex flex-column gap-2"},S={class:"form-group text-body"},T={for:"username",class:"mb-1 text-muted"},C={class:"form-group text-body"},L={for:"password",class:"mb-1 text-muted"},V={class:"form-group text-body"},$={for:"confirmPassword",class:"mb-1 text-muted"},q=["disabled"],A={key:0,class:"d-flex align-items-center w-100"},M={key:1,class:"d-flex align-items-center w-100"};function B(n,s,D,E,U,F){const t=m("LocaleText");return i(),r("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[e("div",x,[e("span",v,[o(t,{t:"Nice to meet you!"})]),e("p",y,[o(t,{t:"Please fill in the following fields to finish setup"}),s[4]||(s[4]=p(" 😊",-1))]),e("div",null,[e("h3",null,[o(t,{t:"Create an account"})]),this.errorMessage?(i(),r("div",P,h(this.errorMessage),1)):c("",!0),e("div",N,[e("form",k,[e("div",S,[e("label",T,[e("small",null,[o(t,{t:"Enter an username you like"})])]),l(e("input",{type:"text",autocomplete:"username","onUpdate:modelValue":s[0]||(s[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",required:""},null,512),[[d,this.setup.username]])]),e("div",C,[e("label",L,[e("small",null,[o(t,{t:"Enter a password"}),e("code",null,[o(t,{t:"(At least 8 characters and make sure is strong enough!)"})])])]),l(e("input",{type:"password",autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",required:""},null,512),[[d,this.setup.newPassword]])]),e("div",V,[e("label",$,[e("small",null,[o(t,{t:"Confirm password"})])]),l(e("input",{type:"password",autocomplete:"confirm-new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",required:""},null,512),[[d,this.setup.repeatNewPassword]])])]),e("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:s[3]||(s[3]=a=>this.submit())},[!this.loading&&!this.done?(i(),r("span",A,[o(t,{t:"Next"}),s[5]||(s[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])):(i(),r("span",M,[o(t,{t:"Saving..."}),s[6]||(s[6]=e("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[e("span",{class:"visually-hidden"},"Loading...")],-1))]))],8,q)])])])],8,_)}const W=u(b,[["render",B]]);export{W as default}; +import{_ as u,c as r,a as e,b as o,h as m,e as p,d as c,t as h,m as l,y as d,z as f,D as w,f as i}from"./index-Y3pG9DoR.js";import{L as g}from"./localeText-DcQapG1o.js";const b={name:"setup",components:{LocaleText:g},setup(){return{store:w()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,f("/api/Welcome_Finish",this.setup,n=>{n.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(s=>s.classList.add("is-invalid")),this.errorMessage=n.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},_=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},v={class:"dashboardLogo display-4"},y={class:"mb-5"},P={key:0,class:"alert alert-danger"},N={class:"d-flex flex-column gap-3"},k={id:"createAccount",class:"d-flex flex-column gap-2"},S={class:"form-group text-body"},T={for:"username",class:"mb-1 text-muted"},C={class:"form-group text-body"},L={for:"password",class:"mb-1 text-muted"},V={class:"form-group text-body"},$={for:"confirmPassword",class:"mb-1 text-muted"},q=["disabled"],A={key:0,class:"d-flex align-items-center w-100"},M={key:1,class:"d-flex align-items-center w-100"};function B(n,s,D,E,U,F){const t=m("LocaleText");return i(),r("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[e("div",x,[e("span",v,[o(t,{t:"Nice to meet you!"})]),e("p",y,[o(t,{t:"Please fill in the following fields to finish setup"}),s[4]||(s[4]=p(" 😊",-1))]),e("div",null,[e("h3",null,[o(t,{t:"Create an account"})]),this.errorMessage?(i(),r("div",P,h(this.errorMessage),1)):c("",!0),e("div",N,[e("form",k,[e("div",S,[e("label",T,[e("small",null,[o(t,{t:"Enter an username you like"})])]),l(e("input",{type:"text",autocomplete:"username","onUpdate:modelValue":s[0]||(s[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",required:""},null,512),[[d,this.setup.username]])]),e("div",C,[e("label",L,[e("small",null,[o(t,{t:"Enter a password"}),e("code",null,[o(t,{t:"(At least 8 characters and make sure is strong enough!)"})])])]),l(e("input",{type:"password",autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",required:""},null,512),[[d,this.setup.newPassword]])]),e("div",V,[e("label",$,[e("small",null,[o(t,{t:"Confirm password"})])]),l(e("input",{type:"password",autocomplete:"confirm-new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",required:""},null,512),[[d,this.setup.repeatNewPassword]])])]),e("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:s[3]||(s[3]=a=>this.submit())},[!this.loading&&!this.done?(i(),r("span",A,[o(t,{t:"Next"}),s[5]||(s[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])):(i(),r("span",M,[o(t,{t:"Saving..."}),s[6]||(s[6]=e("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[e("span",{class:"visually-hidden"},"Loading...")],-1))]))],8,q)])])])],8,_)}const W=u(b,[["render",B]]);export{W as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/share-Cyu4RGGS.js b/src/static/dist/WGDashboardAdmin/assets/share-giPKTsEU.js similarity index 95% rename from src/static/dist/WGDashboardAdmin/assets/share-Cyu4RGGS.js rename to src/static/dist/WGDashboardAdmin/assets/share-giPKTsEU.js index 44058728..658c4e56 100644 --- a/src/static/dist/WGDashboardAdmin/assets/share-Cyu4RGGS.js +++ b/src/static/dist/WGDashboardAdmin/assets/share-giPKTsEU.js @@ -1 +1 @@ -import{_,c as m,a as t,b as r,h as p,r as c,D as h,g as u,L as b,f}from"./index-DYYtDSji.js";import{Q as v}from"./browser-LdOMKRZX.js";import{L as y}from"./localeText-Cd7vLnRM.js";import"./galois-field-I2lBzzs-.js";const g={name:"share",components:{LocaleText:y},async setup(){const o=b(),e=c(!1),s=h(),n=c(""),i=c(void 0),l=c(new Blob);await u("/api/getDashboardTheme",{},d=>{n.value=d.data});const a=o.query.ShareID;return a===void 0||a.length===0?(i.value=void 0,e.value=!0):await u("/api/sharePeer/get",{ShareID:a},d=>{d.status?(i.value=d.data,l.value=new Blob([i.value.file],{type:"text/plain"})):i.value=void 0,e.value=!0}),{store:s,theme:n,peerConfiguration:i,blob:l}},mounted(){this.peerConfiguration&&v.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,o=>{o&&console.error(o)})},methods:{download(){const o=new Blob([this.peerConfiguration.file],{type:"text/plain"}),e=URL.createObjectURL(o),s=`${this.peerConfiguration.fileName}.conf`,n=document.createElement("a");n.href=e,n.download=s,n.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},x=["data-bs-theme"],w={class:"m-auto text-body",style:{width:"500px"}},C={key:0,class:"text-center position-relative",style:{}},U={class:"position-absolute w-100 h-100 top-0 start-0 d-flex animate__animated animate__fadeInUp",style:{"animation-delay":"0.1s"}},L={class:"m-auto"},I={key:1,class:"d-flex align-items-center flex-column gap-3"},B={class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},k={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},R={class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},D=["download","href"];function q(o,e,s,n,i,l){const a=p("LocaleText");return f(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[t("div",w,[this.peerConfiguration?(f(),m("div",I,[t("div",B,[e[1]||(e[1]=t("h6",null,"WGDashboard",-1)),r(a,{t:"Scan QR Code with the WireGuard App to add peer"})]),t("canvas",k,null,512),t("p",R,[r(a,{t:"or click the button below to download the "}),e[2]||(e[2]=t("samp",null,".conf",-1)),r(a,{t:" file"})]),t("a",{download:this.peerConfiguration.fileName+".conf",href:l.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},[...e[3]||(e[3]=[t("i",{class:"bi bi-download"},null,-1)])],8,D)])):(f(),m("div",C,[e[0]||(e[0]=t("div",{class:"animate__animated animate__fadeInUp"},[t("h1",{style:{"font-size":"20rem",filter:"blur(1rem)","animation-duration":"7s"},class:"animate__animated animate__flash animate__infinite"},[t("i",{class:"bi bi-file-binary"})])],-1)),t("div",U,[t("h3",L,[r(a,{t:"Oh no... This link is either expired or invalid."})])])]))])],8,x)}const O=_(g,[["render",q],["__scopeId","data-v-1b44aacd"]]);export{O as default}; +import{_,c as m,a as t,b as r,h as p,r as c,D as h,g as u,L as b,f}from"./index-Y3pG9DoR.js";import{Q as v}from"./browser-QmM-r3j5.js";import{L as y}from"./localeText-DcQapG1o.js";import"./galois-field-I2lBzzs-.js";const g={name:"share",components:{LocaleText:y},async setup(){const o=b(),e=c(!1),s=h(),n=c(""),i=c(void 0),l=c(new Blob);await u("/api/getDashboardTheme",{},d=>{n.value=d.data});const a=o.query.ShareID;return a===void 0||a.length===0?(i.value=void 0,e.value=!0):await u("/api/sharePeer/get",{ShareID:a},d=>{d.status?(i.value=d.data,l.value=new Blob([i.value.file],{type:"text/plain"})):i.value=void 0,e.value=!0}),{store:s,theme:n,peerConfiguration:i,blob:l}},mounted(){this.peerConfiguration&&v.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,o=>{o&&console.error(o)})},methods:{download(){const o=new Blob([this.peerConfiguration.file],{type:"text/plain"}),e=URL.createObjectURL(o),s=`${this.peerConfiguration.fileName}.conf`,n=document.createElement("a");n.href=e,n.download=s,n.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},x=["data-bs-theme"],w={class:"m-auto text-body",style:{width:"500px"}},C={key:0,class:"text-center position-relative",style:{}},U={class:"position-absolute w-100 h-100 top-0 start-0 d-flex animate__animated animate__fadeInUp",style:{"animation-delay":"0.1s"}},L={class:"m-auto"},I={key:1,class:"d-flex align-items-center flex-column gap-3"},B={class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},k={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},R={class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},D=["download","href"];function q(o,e,s,n,i,l){const a=p("LocaleText");return f(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[t("div",w,[this.peerConfiguration?(f(),m("div",I,[t("div",B,[e[1]||(e[1]=t("h6",null,"WGDashboard",-1)),r(a,{t:"Scan QR Code with the WireGuard App to add peer"})]),t("canvas",k,null,512),t("p",R,[r(a,{t:"or click the button below to download the "}),e[2]||(e[2]=t("samp",null,".conf",-1)),r(a,{t:" file"})]),t("a",{download:this.peerConfiguration.fileName+".conf",href:l.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},[...e[3]||(e[3]=[t("i",{class:"bi bi-download"},null,-1)])],8,D)])):(f(),m("div",C,[e[0]||(e[0]=t("div",{class:"animate__animated animate__fadeInUp"},[t("h1",{style:{"font-size":"20rem",filter:"blur(1rem)","animation-duration":"7s"},class:"animate__animated animate__flash animate__infinite"},[t("i",{class:"bi bi-file-binary"})])],-1)),t("div",U,[t("h3",L,[r(a,{t:"Oh no... This link is either expired or invalid."})])])]))])],8,x)}const O=_(g,[["render",q],["__scopeId","data-v-1b44aacd"]]);export{O as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/signin-RX8JxeCw.js b/src/static/dist/WGDashboardAdmin/assets/signin-BGI8vl81.js similarity index 70% rename from src/static/dist/WGDashboardAdmin/assets/signin-RX8JxeCw.js rename to src/static/dist/WGDashboardAdmin/assets/signin-BGI8vl81.js index 5f93410e..ef957aef 100644 --- a/src/static/dist/WGDashboardAdmin/assets/signin-RX8JxeCw.js +++ b/src/static/dist/WGDashboardAdmin/assets/signin-BGI8vl81.js @@ -1 +1 @@ -import{_ as v,G as p,A as I,c as a,a as t,t as T,n as C,m as u,y as c,b as l,h as g,d as x,F as k,i as w,f as i,D as L,j as $,$ as E,v as M,e as D,w as A,T as U,z as B,g as y}from"./index-DYYtDSji.js";import{M as R}from"./message-BaA47ykS.js";import{d as _}from"./dayjs.min-WRW_FTL4.js";import{L as S}from"./localeText-Cd7vLnRM.js";const O={name:"RemoteServer",components:{LocaleText:S},props:{server:Object},data(){return{active:!1,startTime:void 0,endTime:void 0,errorMsg:"",refreshing:!1}},methods:{addHeaders(){this.server.headers||(this.server.headers={}),this.server.headers[I().toString()]={key:"",value:""}},async handshake(){this.active=!1,this.server.host&&this.server.apiKey&&(this.refreshing=!0,this.startTime=void 0,this.endTime=void 0,this.startTime=_(),await fetch(`${this.server.host}/api/handshake`,{headers:this.getHeaders,method:"GET",signal:AbortSignal.timeout(5e3)}).then(s=>{if(s.status===200)return s.json();throw new Error(s.statusText)}).then(()=>{this.endTime=_(),this.active=!0}).catch(s=>{this.active=!1,this.errorMsg=s}),this.refreshing=!1)},async connect(){await fetch(`${this.server.host}/api/authenticate`,{headers:this.getHeaders,body:JSON.stringify({host:window.location.hostname}),method:"POST",signal:AbortSignal.timeout(5e3)}).then(s=>s.json()).then(s=>{this.$emit("setActiveServer"),this.$router.push("/")})}},mounted(){this.handshake()},computed:{getHandshakeTime(){return this.startTime&&this.endTime?`${_().subtract(this.startTime).millisecond()}ms`:this.refreshing?p("Pinging..."):this.errorMsg?this.errorMsg:"N/A"},getHeaders(){let s={"Content-Type":"application/json","wg-dashboard-apikey":this.server.apiKey};if(this.server.headers)for(let e of Object.values(this.server.headers))e.key&&e.value&&!Object.keys(s).includes(e.key)&&(s[e.key]=e.value);return s}}},P={class:"card rounded-3"},j={class:"gap-2 d-flex align-items-center"},q={key:0,class:"spin ms-auto text-white"},H={class:"card-body"},G={class:"d-flex gap-2 w-100 remoteServerContainer flex-column"},N={class:"d-flex gap-3 align-items-center flex-grow-1"},K={class:"d-flex gap-3 align-items-center flex-grow-1"},z={class:"d-flex gap-2 button-group"},W={class:"card rounded-3"},F={class:"card-body d-flex gap-2 flex-column"},J={class:"d-flex gap-2"},Z={class:"flex-grow-1"},Q=["onUpdate:modelValue"],X={class:"flex-grow-1"},Y=["onUpdate:modelValue"],ee=["onClick"];function te(s,e,m,h,d,f){const r=g("LocaleText");return i(),a("div",P,[t("div",{class:C(["card-header",[this.active?"text-bg-success":"text-bg-danger"]])},[t("div",j,[e[12]||(e[12]=t("i",{class:"bi bi-person-walking"},null,-1)),t("small",null,T(this.getHandshakeTime),1),this.refreshing?(i(),a("div",q,[...e[10]||(e[10]=[t("i",{class:"bi bi-arrow-clockwise"},null,-1)])])):(i(),a("a",{key:1,role:"button",onClick:e[0]||(e[0]=n=>this.handshake()),class:"text-white text-decoration-none ms-auto disabled"},[...e[11]||(e[11]=[t("i",{class:"bi bi-arrow-clockwise me"},null,-1)])]))])],2),t("div",H,[t("div",G,[t("div",N,[e[13]||(e[13]=t("small",null,[t("i",{class:"bi bi-hdd-rack-fill"})],-1)),u(t("input",{class:"form-control form-control-sm rounded-3",onBlur:e[1]||(e[1]=n=>this.handshake()),"onUpdate:modelValue":e[2]||(e[2]=n=>this.server.host=n),type:"url"},null,544),[[c,this.server.host]])]),t("div",K,[e[14]||(e[14]=t("i",{class:"bi bi-key-fill"},null,-1)),u(t("input",{class:"form-control form-control-sm rounded-3 font-monospace",onBlur:e[3]||(e[3]=n=>this.handshake()),"onUpdate:modelValue":e[4]||(e[4]=n=>this.server.apiKey=n),type:"text"},null,544),[[c,this.server.apiKey]])]),t("div",z,[t("button",{style:{flex:"1 0 0"},onClick:e[5]||(e[5]=n=>this.$emit("delete")),class:"ms-auto btn btn-sm bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3"},[e[15]||(e[15]=t("i",{class:"bi bi-trash me-2"},null,-1)),l(r,{t:"Delete"})]),t("button",{style:{flex:"1 0 0"},onClick:e[6]||(e[6]=n=>this.connect()),class:C([{disabled:!this.active},"ms-auto btn btn-sm bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3"])},[e[16]||(e[16]=t("i",{class:"bi bi-arrow-right-circle me-2"},null,-1)),l(r,{t:"Connect"})],2)]),t("div",W,[t("div",F,[t("button",{style:{flex:"1 0 0"},onClick:e[7]||(e[7]=n=>f.addHeaders()),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3"},[e[17]||(e[17]=t("i",{class:"bi bi-plus-lg me-2"},null,-1)),l(r,{t:"Headers"})]),this.server.headers?(i(!0),a(k,{key:0},w(this.server.headers,(n,b)=>(i(),a("div",J,[t("div",Z,[u(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[8]||(e[8]=o=>this.handshake()),"onUpdate:modelValue":o=>n.key=o,placeholder:"Key"},null,40,Q),[[c,n.key]])]),t("div",X,[u(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[9]||(e[9]=o=>this.handshake()),"onUpdate:modelValue":o=>n.value=o,placeholder:"Value"},null,40,Y),[[c,n.value]])]),t("button",{type:"button",onClick:o=>delete this.server.headers[b],class:"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"},[...e[18]||(e[18]=[t("i",{class:"bi bi-trash-fill"},null,-1)])],8,ee)]))),256)):x("",!0)])])])])])}const se=v(O,[["render",te],["__scopeId","data-v-87b9c3d8"]]),oe={name:"RemoteServerList",setup(){return{store:L()}},components:{LocaleText:S,RemoteServer:se}},re={class:"w-100 mt-3"},ie={class:"d-flex align-items-center mb-3"},ne={class:"mb-0"},ae={class:"w-100 d-flex gap-3 flex-column p-3 border border-1 border-secondary-subtle rounded-3",style:{height:"400px","overflow-y":"scroll"}},le={key:0,class:"text-muted m-auto"};function de(s,e,m,h,d,f){const r=g("LocaleText"),n=g("RemoteServer");return i(),a("div",re,[t("div",ie,[t("h5",ne,[l(r,{t:"Server List"})]),t("button",{onClick:e[0]||(e[0]=b=>this.store.addCrossServerConfiguration()),class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle shadow-sm ms-auto"},[e[1]||(e[1]=t("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(r,{t:"Server"})])]),t("div",ae,[(i(!0),a(k,null,w(this.store.CrossServerConfiguration.ServerList,(b,o)=>(i(),$(n,{onSetActiveServer:V=>this.store.setActiveCrossServer(o),onDelete:V=>this.store.deleteCrossServerConfiguration(o),key:o,server:b},null,8,["onSetActiveServer","onDelete","server"]))),128)),Object.keys(this.store.CrossServerConfiguration.ServerList).length===0?(i(),a("h6",le,[l(r,{t:"Click"}),e[2]||(e[2]=t("i",{class:"bi bi-plus-circle-fill mx-1"},null,-1)),l(r,{t:"to add your server"})])):x("",!0)])])}const ue=v(oe,[["render",de]]),me={name:"signInInput",methods:{GetLocale:p},props:{id:"",data:"",type:"",placeholder:""},computed:{getLocaleText(){return p(this.placeholder)}}},ce=["type","id","name","placeholder"];function he(s,e,m,h,d,f){return u((i(),a("input",{type:m.type,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data[this.id]=r),class:"form-control rounded-3",id:this.id,name:this.id,autocomplete:"on",placeholder:this.getLocaleText,required:""},null,8,ce)),[[E,this.data[this.id]]])}const pe=v(me,[["render",he]]),fe={name:"signInTOTP",methods:{GetLocale:p},props:{data:""},computed:{getLocaleText(){return p("OTP from your authenticator")}}},be=["placeholder"];function ge(s,e,m,h,d,f){return u((i(),a("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:this.getLocaleText,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data.totp=r)},null,8,be)),[[c,this.data.totp]])}const ve=v(fe,[["render",ge]]),xe={name:"signin",components:{SignInTOTP:ve,SignInInput:pe,LocaleText:S,RemoteServerList:ue,Message:R},async setup(){const s=L();let e="dark",m=!1,h;return s.IsElectronApp||await Promise.all([y("/api/getDashboardTheme",{},d=>{e=d.data}),y("/api/isTotpEnabled",{},d=>{m=d.data}),y("/api/getDashboardVersion",{},d=>{h=d.data})]),s.removeActiveCrossServer(),{store:s,theme:e,totpEnabled:m,version:h}},data(){return{data:{username:"",password:"",totp:""},loginError:!1,loginErrorMessage:"",loading:!1}},computed:{getMessages(){return this.store.Messages.filter(s=>s.show)},applyLocale(s){return p(s)},formValid(){return this.data.username&&this.data.password&&(this.totpEnabled&&this.data.totp||!this.totpEnabled)}},methods:{GetLocale:p,async auth(){this.formValid?(this.loading=!0,await B("/api/authenticate",this.data,s=>{s.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),s.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.store.newMessage("Server",s.message,"danger"),document.querySelectorAll("input[required]").forEach(e=>{e.classList.remove("is-valid"),e.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(s=>{s.value.length===0?(s.classList.remove("is-valid"),s.classList.add("is-invalid")):(s.classList.remove("is-invalid"),s.classList.add("is-valid"))})}}},ye=["data-bs-theme"],_e={class:"login-box m-auto"},$e={class:"m-auto signInContainer",style:{width:"700px"}},ke={class:"mb-0 text-body"},we={class:"form-floating mb-2"},Se=["disabled"],Ce={for:"floatingInput",class:"d-flex"},Te={class:"form-floating mb-2"},Le=["disabled"],Ve={for:"floatingInput",class:"d-flex"},Ie={key:0,class:"form-floating mb-2"},Ee=["disabled"],Me={for:"floatingInput",class:"d-flex"},De=["disabled"],Ae={key:0,class:"d-flex w-100"},Ue={key:1,class:"d-flex w-100 align-items-center"},Be={key:2,class:"d-flex mt-3"},Re={class:"form-check form-switch ms-auto"},Oe=["disabled"],Pe={class:"form-check-label",for:"flexSwitchCheckChecked"},je={class:"text-muted pb-3 d-block w-100 text-center mt-3"},qe={class:"messageCentre text-body position-absolute d-flex"};function He(s,e,m,h,d,f){const r=g("LocaleText"),n=g("RemoteServerList"),b=g("Message");return i(),a("div",{class:"container-fluid login-container-fluid d-flex main flex-column py-4 text-body h-100",style:{"overflow-y":"scroll"},"data-bs-theme":this.theme},[t("div",_e,[t("div",$e,[t("h4",ke,[l(r,{t:"Welcome to"})]),e[10]||(e[10]=t("span",{class:"dashboardLogo display-3"},[t("strong",null,"WGDashboard")],-1)),this.store.CrossServerConfiguration.Enable?(i(),$(n,{key:1})):(i(),a("form",{key:0,onSubmit:e[3]||(e[3]=o=>{o.preventDefault(),this.auth()}),class:"mt-3"},[t("div",we,[u(t("input",{type:"text",required:"",disabled:d.loading,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data.username=o),name:"username",autocomplete:"username",autofocus:"",class:"form-control rounded-3",id:"username",placeholder:"Username"},null,8,Se),[[c,this.data.username]]),t("label",Ce,[e[5]||(e[5]=t("i",{class:"bi bi-person-circle me-2"},null,-1)),l(r,{t:"Username"})])]),t("div",Te,[u(t("input",{type:"password",required:"",disabled:d.loading,autocomplete:"current-password","onUpdate:modelValue":e[1]||(e[1]=o=>this.data.password=o),class:"form-control rounded-3",id:"password",placeholder:"Password"},null,8,Le),[[c,this.data.password]]),t("label",Ve,[e[6]||(e[6]=t("i",{class:"bi bi-key-fill me-2"},null,-1)),l(r,{t:"Password"})])]),this.totpEnabled?(i(),a("div",Ie,[u(t("input",{type:"text",id:"totp",required:"",disabled:d.loading,placeholder:"totp","onUpdate:modelValue":e[2]||(e[2]=o=>this.data.totp=o),class:"form-control rounded-3",maxlength:"6",inputmode:"numeric",autocomplete:"one-time-code"},null,8,Ee),[[c,this.data.totp]]),t("label",Me,[e[7]||(e[7]=t("i",{class:"bi bi-lock-fill me-2"},null,-1)),l(r,{t:"OTP from your authenticator"})])])):x("",!0),t("button",{class:"btn btn-lg btn-dark ms-auto mt-5 w-100 d-flex btn-brand signInBtn rounded-3",disabled:this.loading||!this.formValid,ref:"signInBtn"},[this.loading?(i(),a("span",Ue,[l(r,{t:"Signing In..."}),e[9]||(e[9]=t("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},null,-1))])):(i(),a("span",Ae,[l(r,{t:"Sign In"}),e[8]||(e[8]=t("i",{class:"ms-auto bi bi-chevron-right"},null,-1))]))],8,De)],32)),this.store.IsElectronApp?x("",!0):(i(),a("div",Be,[t("div",Re,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=o=>this.store.CrossServerConfiguration.Enable=o),disabled:d.loading,class:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckChecked"},null,8,Oe),[[M,this.store.CrossServerConfiguration.Enable]]),t("label",Pe,[l(r,{t:"Access Remote Server"})])])]))])]),t("small",je,[D(" WGDashboard "+T(this.version)+" | Developed with ❤️ by ",1),e[11]||(e[11]=t("a",{href:"https://github.com/donaldzou",target:"_blank"},[t("strong",null,"Donald Zou")],-1))]),t("div",qe,[l(U,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:A(()=>[(i(!0),a(k,null,w(f.getMessages.slice().reverse(),o=>(i(),$(b,{message:o,key:o.id},null,8,["message"]))),128))]),_:1})])],8,ye)}const We=v(xe,[["render",He],["__scopeId","data-v-80e20da4"]]);export{We as default}; +import{_ as v,G as p,A as I,c as a,a as t,t as T,n as C,m as u,y as c,b as l,h as g,d as x,F as k,i as w,f as i,D as L,j as $,$ as E,v as M,e as A,w as D,T as U,z as B,g as y}from"./index-Y3pG9DoR.js";import{M as R}from"./message-Dp2AlOJm.js";import{d as _}from"./dayjs.min-BxkQs1mo.js";import{L as S}from"./localeText-DcQapG1o.js";const O={name:"RemoteServer",components:{LocaleText:S},props:{server:Object},data(){return{active:!1,startTime:void 0,endTime:void 0,errorMsg:"",refreshing:!1}},methods:{addHeaders(){this.server.headers||(this.server.headers={}),this.server.headers[I().toString()]={key:"",value:""}},async handshake(){this.active=!1,this.server.host&&this.server.apiKey&&(this.refreshing=!0,this.startTime=void 0,this.endTime=void 0,this.startTime=_(),await fetch(`${this.server.host}/api/handshake`,{headers:this.getHeaders,method:"GET",signal:AbortSignal.timeout(5e3)}).then(s=>{if(s.status===200)return s.json();throw new Error(s.statusText)}).then(()=>{this.endTime=_(),this.active=!0}).catch(s=>{this.active=!1,this.errorMsg=s}),this.refreshing=!1)},async connect(){await fetch(`${this.server.host}/api/authenticate`,{headers:this.getHeaders,body:JSON.stringify({host:window.location.hostname}),method:"POST",signal:AbortSignal.timeout(5e3)}).then(s=>s.json()).then(s=>{this.$emit("setActiveServer"),this.$router.push("/")})}},mounted(){this.handshake()},computed:{getHandshakeTime(){return this.startTime&&this.endTime?`${_().subtract(this.startTime).millisecond()}ms`:this.refreshing?p("Pinging..."):this.errorMsg?this.errorMsg:"N/A"},getHeaders(){let s={"Content-Type":"application/json","wg-dashboard-apikey":this.server.apiKey};if(this.server.headers)for(let e of Object.values(this.server.headers))e.key&&e.value&&!Object.keys(s).includes(e.key)&&(s[e.key]=e.value);return s}}},P={class:"card rounded-3"},j={class:"gap-2 d-flex align-items-center"},q={key:0,class:"spin ms-auto text-white"},H={class:"card-body"},G={class:"d-flex gap-2 w-100 remoteServerContainer flex-column"},N={class:"d-flex gap-3 align-items-center flex-grow-1"},K={class:"d-flex gap-3 align-items-center flex-grow-1"},z={class:"d-flex gap-2 button-group"},W={class:"card rounded-3"},F={class:"card-body d-flex gap-2 flex-column"},J={class:"d-flex gap-2"},Z={class:"flex-grow-1"},Q=["onUpdate:modelValue"],X={class:"flex-grow-1"},Y=["onUpdate:modelValue"],ee=["onClick"];function te(s,e,m,h,d,f){const r=g("LocaleText");return i(),a("div",P,[t("div",{class:C(["card-header",[this.active?"text-bg-success":"text-bg-danger"]])},[t("div",j,[e[12]||(e[12]=t("i",{class:"bi bi-person-walking"},null,-1)),t("small",null,T(this.getHandshakeTime),1),this.refreshing?(i(),a("div",q,[...e[10]||(e[10]=[t("i",{class:"bi bi-arrow-clockwise"},null,-1)])])):(i(),a("a",{key:1,role:"button",onClick:e[0]||(e[0]=n=>this.handshake()),class:"text-white text-decoration-none ms-auto disabled"},[...e[11]||(e[11]=[t("i",{class:"bi bi-arrow-clockwise me"},null,-1)])]))])],2),t("div",H,[t("div",G,[t("div",N,[e[13]||(e[13]=t("small",null,[t("i",{class:"bi bi-hdd-rack-fill"})],-1)),u(t("input",{class:"form-control form-control-sm rounded-3",onBlur:e[1]||(e[1]=n=>this.handshake()),"onUpdate:modelValue":e[2]||(e[2]=n=>this.server.host=n),type:"url"},null,544),[[c,this.server.host]])]),t("div",K,[e[14]||(e[14]=t("i",{class:"bi bi-key-fill"},null,-1)),u(t("input",{class:"form-control form-control-sm rounded-3 font-monospace",onBlur:e[3]||(e[3]=n=>this.handshake()),"onUpdate:modelValue":e[4]||(e[4]=n=>this.server.apiKey=n),type:"text"},null,544),[[c,this.server.apiKey]])]),t("div",z,[t("button",{style:{flex:"1 0 0"},onClick:e[5]||(e[5]=n=>this.$emit("delete")),class:"ms-auto btn btn-sm bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3"},[e[15]||(e[15]=t("i",{class:"bi bi-trash me-2"},null,-1)),l(r,{t:"Delete"})]),t("button",{style:{flex:"1 0 0"},onClick:e[6]||(e[6]=n=>this.connect()),class:C([{disabled:!this.active},"ms-auto btn btn-sm bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3"])},[e[16]||(e[16]=t("i",{class:"bi bi-arrow-right-circle me-2"},null,-1)),l(r,{t:"Connect"})],2)]),t("div",W,[t("div",F,[t("button",{style:{flex:"1 0 0"},onClick:e[7]||(e[7]=n=>f.addHeaders()),class:"btn btn-sm bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3"},[e[17]||(e[17]=t("i",{class:"bi bi-plus-lg me-2"},null,-1)),l(r,{t:"Headers"})]),this.server.headers?(i(!0),a(k,{key:0},w(this.server.headers,(n,b)=>(i(),a("div",J,[t("div",Z,[u(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[8]||(e[8]=o=>this.handshake()),"onUpdate:modelValue":o=>n.key=o,placeholder:"Key"},null,40,Q),[[c,n.key]])]),t("div",X,[u(t("input",{class:"form-control rounded-3 form-control-sm",onBlur:e[9]||(e[9]=o=>this.handshake()),"onUpdate:modelValue":o=>n.value=o,placeholder:"Value"},null,40,Y),[[c,n.value]])]),t("button",{type:"button",onClick:o=>delete this.server.headers[b],class:"btn btn-sm bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3"},[...e[18]||(e[18]=[t("i",{class:"bi bi-trash-fill"},null,-1)])],8,ee)]))),256)):x("",!0)])])])])])}const se=v(O,[["render",te],["__scopeId","data-v-87b9c3d8"]]),oe={name:"RemoteServerList",setup(){return{store:L()}},components:{LocaleText:S,RemoteServer:se}},re={class:"w-100 mt-3"},ie={class:"d-flex align-items-center mb-3"},ne={class:"mb-0"},ae={class:"w-100 d-flex gap-3 flex-column p-3 border border-1 border-secondary-subtle rounded-3",style:{height:"400px","overflow-y":"scroll"}},le={key:0,class:"text-muted m-auto"};function de(s,e,m,h,d,f){const r=g("LocaleText"),n=g("RemoteServer");return i(),a("div",re,[t("div",ie,[t("h5",ne,[l(r,{t:"Server List"})]),t("button",{onClick:e[0]||(e[0]=b=>this.store.addCrossServerConfiguration()),class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle shadow-sm ms-auto"},[e[1]||(e[1]=t("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(r,{t:"Server"})])]),t("div",ae,[(i(!0),a(k,null,w(this.store.CrossServerConfiguration.ServerList,(b,o)=>(i(),$(n,{onSetActiveServer:V=>this.store.setActiveCrossServer(o),onDelete:V=>this.store.deleteCrossServerConfiguration(o),key:o,server:b},null,8,["onSetActiveServer","onDelete","server"]))),128)),Object.keys(this.store.CrossServerConfiguration.ServerList).length===0?(i(),a("h6",le,[l(r,{t:"Click"}),e[2]||(e[2]=t("i",{class:"bi bi-plus-circle-fill mx-1"},null,-1)),l(r,{t:"to add your server"})])):x("",!0)])])}const ue=v(oe,[["render",de]]),me={name:"signInInput",methods:{GetLocale:p},props:{id:"",data:"",type:"",placeholder:""},computed:{getLocaleText(){return p(this.placeholder)}}},ce=["type","id","name","placeholder"];function he(s,e,m,h,d,f){return u((i(),a("input",{type:m.type,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data[this.id]=r),class:"form-control rounded-3",id:this.id,name:this.id,autocomplete:"on",placeholder:this.getLocaleText,required:""},null,8,ce)),[[E,this.data[this.id]]])}const pe=v(me,[["render",he]]),fe={name:"signInTOTP",methods:{GetLocale:p},props:{data:""},computed:{getLocaleText(){return p("OTP from your authenticator")}}},be=["placeholder"];function ge(s,e,m,h,d,f){return u((i(),a("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:this.getLocaleText,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data.totp=r)},null,8,be)),[[c,this.data.totp]])}const ve=v(fe,[["render",ge]]),xe={name:"signin",components:{SignInTOTP:ve,SignInInput:pe,LocaleText:S,RemoteServerList:ue,Message:R},async setup(){const s=L();let e="dark",m=!1,h;return s.IsElectronApp||await Promise.all([y("/api/getDashboardTheme",{},d=>{e=d.data}),y("/api/isTotpEnabled",{},d=>{m=d.data}),y("/api/getDashboardVersion",{},d=>{h=d.data})]),s.removeActiveCrossServer(),{store:s,theme:e,totpEnabled:m,version:h}},data(){return{data:{username:"",password:"",totp:""},loginError:!1,loginErrorMessage:"",loading:!1}},computed:{getMessages(){return this.store.Messages.filter(s=>s.show)},applyLocale(s){return p(s)},formValid(){return this.data.username&&this.data.password&&(this.totpEnabled&&this.data.totp||!this.totpEnabled)}},methods:{GetLocale:p,async auth(){this.formValid?(this.loading=!0,await B("/api/authenticate",this.data,s=>{s.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),s.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.store.newMessage("Server",s.message,"danger"),document.querySelectorAll("input[required]").forEach(e=>{e.classList.remove("is-valid"),e.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(s=>{s.value.length===0?(s.classList.remove("is-valid"),s.classList.add("is-invalid")):(s.classList.remove("is-invalid"),s.classList.add("is-valid"))})}}},ye=["data-bs-theme"],_e={class:"login-box m-auto"},$e={class:"m-auto signInContainer",style:{width:"700px"}},ke={class:"mb-0 text-body"},we={class:"form-floating mb-2"},Se=["disabled"],Ce={for:"floatingInput",class:"d-flex"},Te={class:"form-floating mb-2"},Le=["disabled"],Ve={for:"floatingInput",class:"d-flex"},Ie={key:0,class:"form-floating mb-2"},Ee=["disabled"],Me={for:"floatingInput",class:"d-flex"},Ae=["disabled"],De={key:0,class:"d-flex w-100"},Ue={key:1,class:"d-flex w-100 align-items-center"},Be={key:2,class:"d-flex mt-3"},Re={href:"/client",class:"btn btn-sm btn-outline-secondary"},Oe={class:"form-check form-switch ms-auto"},Pe=["disabled"],je={class:"form-check-label",for:"flexSwitchCheckChecked"},qe={class:"text-muted pb-3 d-block w-100 text-center mt-3"},He={class:"messageCentre text-body position-absolute d-flex"};function Ge(s,e,m,h,d,f){const r=g("LocaleText"),n=g("RemoteServerList"),b=g("Message");return i(),a("div",{class:"container-fluid login-container-fluid d-flex main flex-column py-4 text-body h-100",style:{"overflow-y":"scroll"},"data-bs-theme":this.theme},[t("div",_e,[t("div",$e,[t("h4",ke,[l(r,{t:"Welcome to"})]),e[11]||(e[11]=t("span",{class:"dashboardLogo display-3"},[t("strong",null,"WGDashboard")],-1)),this.store.CrossServerConfiguration.Enable?(i(),$(n,{key:1})):(i(),a("form",{key:0,onSubmit:e[3]||(e[3]=o=>{o.preventDefault(),this.auth()}),class:"mt-3"},[t("div",we,[u(t("input",{type:"text",required:"",disabled:d.loading,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data.username=o),name:"username",autocomplete:"username",autofocus:"",class:"form-control rounded-3",id:"username",placeholder:"Username"},null,8,Se),[[c,this.data.username]]),t("label",Ce,[e[5]||(e[5]=t("i",{class:"bi bi-person-circle me-2"},null,-1)),l(r,{t:"Username"})])]),t("div",Te,[u(t("input",{type:"password",required:"",disabled:d.loading,autocomplete:"current-password","onUpdate:modelValue":e[1]||(e[1]=o=>this.data.password=o),class:"form-control rounded-3",id:"password",placeholder:"Password"},null,8,Le),[[c,this.data.password]]),t("label",Ve,[e[6]||(e[6]=t("i",{class:"bi bi-key-fill me-2"},null,-1)),l(r,{t:"Password"})])]),this.totpEnabled?(i(),a("div",Ie,[u(t("input",{type:"text",id:"totp",required:"",disabled:d.loading,placeholder:"totp","onUpdate:modelValue":e[2]||(e[2]=o=>this.data.totp=o),class:"form-control rounded-3",maxlength:"6",inputmode:"numeric",autocomplete:"one-time-code"},null,8,Ee),[[c,this.data.totp]]),t("label",Me,[e[7]||(e[7]=t("i",{class:"bi bi-lock-fill me-2"},null,-1)),l(r,{t:"OTP from your authenticator"})])])):x("",!0),t("button",{class:"btn btn-lg btn-dark ms-auto mt-5 w-100 d-flex btn-brand signInBtn rounded-3",disabled:this.loading||!this.formValid,ref:"signInBtn"},[this.loading?(i(),a("span",Ue,[l(r,{t:"Signing In..."}),e[9]||(e[9]=t("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},null,-1))])):(i(),a("span",De,[l(r,{t:"Sign In"}),e[8]||(e[8]=t("i",{class:"ms-auto bi bi-chevron-right"},null,-1))]))],8,Ae)],32)),this.store.IsElectronApp?x("",!0):(i(),a("div",Be,[t("a",Re,[e[10]||(e[10]=t("i",{class:"bi bi-box-arrow-up-right me-1"},null,-1)),l(r,{t:"Client App"})]),t("div",Oe,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=o=>this.store.CrossServerConfiguration.Enable=o),disabled:d.loading,class:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckChecked"},null,8,Pe),[[M,this.store.CrossServerConfiguration.Enable]]),t("label",je,[l(r,{t:"Access Remote Server"})])])]))])]),t("small",qe,[A(" WGDashboard "+T(this.version)+" | Developed with ❤️ by ",1),e[12]||(e[12]=t("a",{href:"https://github.com/donaldzou",target:"_blank"},[t("strong",null,"Donald Zou")],-1))]),t("div",He,[l(U,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:D(()=>[(i(!0),a(k,null,w(f.getMessages.slice().reverse(),o=>(i(),$(b,{message:o,key:o.id},null,8,["message"]))),128))]),_:1})])],8,ye)}const Fe=v(xe,[["render",Ge],["__scopeId","data-v-b92dd69e"]]);export{Fe as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/signin-lFX8XtKM.css b/src/static/dist/WGDashboardAdmin/assets/signin-Chsxfpvk.css similarity index 81% rename from src/static/dist/WGDashboardAdmin/assets/signin-lFX8XtKM.css rename to src/static/dist/WGDashboardAdmin/assets/signin-Chsxfpvk.css index 76da2863..198161e2 100644 --- a/src/static/dist/WGDashboardAdmin/assets/signin-lFX8XtKM.css +++ b/src/static/dist/WGDashboardAdmin/assets/signin-Chsxfpvk.css @@ -1 +1 @@ -.card-header[data-v-87b9c3d8]{transition:all .2s ease-in-out}.dot.inactive[data-v-87b9c3d8]{background-color:#dc3545;box-shadow:0 0 0 .2rem #dc354545}.spin[data-v-87b9c3d8]{animation:spin-87b9c3d8 1s infinite cubic-bezier(.82,.58,.17,.9)}@keyframes spin-87b9c3d8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media screen and (max-width: 768px){.remoteServerContainer[data-v-87b9c3d8]{flex-direction:column}.remoteServerContainer .button-group button[data-v-87b9c3d8]{width:100%}}@media screen and (max-width: 768px){.login-box[data-v-80e20da4]{width:100%!important}.login-box div[data-v-80e20da4]{width:auto!important}} +.card-header[data-v-87b9c3d8]{transition:all .2s ease-in-out}.dot.inactive[data-v-87b9c3d8]{background-color:#dc3545;box-shadow:0 0 0 .2rem #dc354545}.spin[data-v-87b9c3d8]{animation:spin-87b9c3d8 1s infinite cubic-bezier(.82,.58,.17,.9)}@keyframes spin-87b9c3d8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media screen and (max-width: 768px){.remoteServerContainer[data-v-87b9c3d8]{flex-direction:column}.remoteServerContainer .button-group button[data-v-87b9c3d8]{width:100%}}@media screen and (max-width: 768px){.login-box[data-v-b92dd69e]{width:100%!important}.login-box div[data-v-b92dd69e]{width:auto!important}} diff --git a/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.js b/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-B5X49oRk.js similarity index 88% rename from src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.js rename to src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-B5X49oRk.js index 73ed138e..1075a280 100644 --- a/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.js +++ b/src/static/dist/WGDashboardAdmin/assets/storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-B5X49oRk.js @@ -1 +1 @@ -import{_ as p,r as b,q as f,c as t,f as r,b as n,w as v,d as x,n as g,s as l,a as c,e as C,t as d,k as w,p as y}from"./index-DYYtDSji.js";import{L as _}from"./localeText-Cd7vLnRM.js";const k={class:"text-muted me-2"},N={class:"fw-bold"},q={__name:"cpuCore",props:{core_number:Number,percentage:Number,align:Boolean,square:Boolean},setup(e){y(i=>({v60cb52de:s.value}));const u=e,o=b(!1),s=f(()=>u.square?"40px":"25px");return(i,a)=>(r(),t("div",{class:"flex-grow-1 square rounded-3 border position-relative p-2",onMouseenter:a[0]||(a[0]=m=>o.value=!0),onMouseleave:a[1]||(a[1]=m=>o.value=!1),style:l({"background-color":`rgb(13 110 253 / ${e.percentage*10}%)`})},[n(w,{name:"zoomReversed"},{default:v(()=>[o.value?(r(),t("div",{key:0,style:l([{"white-space":"nowrap"},{top:s.value}]),class:g(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[c("small",k,[n(_,{t:"Core"}),C(" #"+d(e.core_number+1),1)]),c("small",N,d(e.percentage)+"% ",1)],6)):x("",!0)]),_:1})],36))}},h=p(q,[["__scopeId","data-v-f8963858"]]);export{h as C}; +import{_ as p,r as b,q as f,c as t,f as r,b as n,w as v,d as x,n as g,s as l,a as c,e as C,t as d,k as w,p as y}from"./index-Y3pG9DoR.js";import{L as _}from"./localeText-DcQapG1o.js";const k={class:"text-muted me-2"},N={class:"fw-bold"},q={__name:"cpuCore",props:{core_number:Number,percentage:Number,align:Boolean,square:Boolean},setup(e){y(i=>({v60cb52de:s.value}));const u=e,o=b(!1),s=f(()=>u.square?"40px":"25px");return(i,a)=>(r(),t("div",{class:"flex-grow-1 square rounded-3 border position-relative p-2",onMouseenter:a[0]||(a[0]=m=>o.value=!0),onMouseleave:a[1]||(a[1]=m=>o.value=!1),style:l({"background-color":`rgb(13 110 253 / ${e.percentage*10}%)`})},[n(w,{name:"zoomReversed"},{default:v(()=>[o.value?(r(),t("div",{key:0,style:l([{"white-space":"nowrap"},{top:s.value}]),class:g(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[c("small",k,[n(_,{t:"Core"}),C(" #"+d(e.core_number+1),1)]),c("small",N,d(e.percentage)+"% ",1)],6)):x("",!0)]),_:1})],36))}},h=p(q,[["__scopeId","data-v-f8963858"]]);export{h as C}; diff --git a/src/static/dist/WGDashboardAdmin/assets/systemStatus-0e9M7tEY.js b/src/static/dist/WGDashboardAdmin/assets/systemStatus-DIK7qaj7.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/systemStatus-0e9M7tEY.js rename to src/static/dist/WGDashboardAdmin/assets/systemStatus-DIK7qaj7.js index dd7bec9f..b8298bd3 100644 --- a/src/static/dist/WGDashboardAdmin/assets/systemStatus-0e9M7tEY.js +++ b/src/static/dist/WGDashboardAdmin/assets/systemStatus-DIK7qaj7.js @@ -1 +1 @@ -import{_ as T,c as l,f as t,a as e,t as u,B as X,q as _,G as x,e as w,d as S,s as b,b as i,u as N,D as Y,r as v,o as Z,x as ee,J as se,g as te,F as g,i as y,j as k,w as L,T as D}from"./index-DYYtDSji.js";import{L as c}from"./localeText-Cd7vLnRM.js";import{C as ae}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-BsQN0eXp.js";import{C as V,L as E,B as R,a as j,b as G,c as H,p as W,d as q,e as F,f as z,P as A,i as J,g as M}from"./index-CV5Q0a3C.js";import{d as oe}from"./dayjs.min-WRW_FTL4.js";const le={class:"mb-1 d-flex gap-5"},re={class:"title"},ie={class:"ms-auto"},ne={__name:"process",props:["process","cpu"],setup(a){return(m,p)=>(t(),l("div",le,[e("small",re,[p[0]||(p[0]=e("i",{class:"bi bi-code-square me-2"},null,-1)),e("samp",null,u(a.process.command?a.process.command:a.process.name),1)]),e("small",ie,u(Math.round((a.process.percent+Number.EPSILON)*10)/10)+"% ",1)]))}},O=T(ne,[["__scopeId","data-v-ffe5ad8f"]]),ce={class:"col-sm-6 fadeIn d-flex gap-2 flex-column"},de={class:"d-flex mb-2"},ue={class:"mb-0"},he={class:"mb-0 ms-auto d-flex gap-2"},me={class:"text-info"},pe={class:"text-warning"},_e={class:"progress",role:"progressbar",style:{height:"10px"}},be={class:"card rounded-3"},fe={class:"card-header d-flex align-items-center gap-3"},ve={class:"text-info ms-auto"},ge={class:"text-warning"},ye={class:"card-body"},xe=X({__name:"networkInterface",props:["historicalChartTimestamp","historicalNetworkSpeed","interfaceName","interface"],setup(a){V.register(E,R,j,G,H,W,q,F,z,A,J);const m=a,p=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:h=>`${h.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(h,n)=>`${Math.round(h*1e4)/1e4} MB/s`},grid:{display:!1}}}})),s=_(()=>{let h=[],n=[];return m.historicalNetworkSpeed.bytes_recv&&m.historicalNetworkSpeed.bytes_sent&&(h=[...m.historicalNetworkSpeed.bytes_recv],n=[...m.historicalNetworkSpeed.bytes_sent]),{labels:[...m.historicalChartTimestamp],datasets:[{label:x("Real Time Received Data Usage"),data:h,fill:"origin",borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Real Time Sent Data Usage"),data:n,fill:"origin",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}});return(h,n)=>(t(),l("div",ce,[e("div",null,[e("div",de,[e("h6",ue,[e("samp",null,u(a.interfaceName),1)]),e("h6",he,[e("span",me,[n[0]||(n[0]=e("i",{class:"bi bi-arrow-down"},null,-1)),w(" "+u(Math.round((a.interface.bytes_recv/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)]),e("span",pe,[n[1]||(n[1]=e("i",{class:"bi bi-arrow-up"},null,-1)),w(" "+u(Math.round((a.interface.bytes_sent/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)])])]),e("div",_e,[a.interface.bytes_recv>0?(t(),l("div",{key:0,class:"progress-bar bg-info",style:b({width:`${a.interface.bytes_recv/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0),a.interface.bytes_sent>0?(t(),l("div",{key:1,class:"progress-bar bg-warning",style:b({width:`${a.interface.bytes_sent/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0)])]),e("div",be,[e("div",fe,[e("small",null,[i(c,{t:"Realtime Speed"})]),e("small",ve,[n[2]||(n[2]=e("i",{class:"bi bi-arrow-down-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_recv[a.historicalNetworkSpeed.bytes_recv.length-1])+" MB/s ",1)]),e("small",ge,[n[3]||(n[3]=e("i",{class:"bi bi-arrow-up-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_sent[a.historicalNetworkSpeed.bytes_sent.length-1])+" MB/s ",1)])]),e("div",ye,[i(N(M),{options:p.value,data:s.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])]))}}),we={class:"text-body row g-2 mb-2"},ke={class:"col-sm-6"},Se={class:"card rounded-3 h-100 shadow"},Ce={class:"card-body p-4"},Ne={class:"d-flex flex-column gap-3"},Me={class:"d-flex flex-column gap-3",style:{height:"130px"}},$e={class:"d-flex align-items-center"},Pe={class:"text-muted mb-0"},Ie={class:"ms-auto mb-0"},Ue={key:0},Be={key:1,class:"spinner-border"},Le={class:"progress",role:"progressbar",style:{height:"10px"}},De={class:"d-flex gap-1"},Oe={class:"d-flex align-items-center"},Te={class:"mb-0"},Ve={class:"mb-0 ms-auto text-muted"},Ee={class:"position-relative"},Re={class:"col-sm-6"},je={class:"card rounded-3 h-100 shadow"},Ge={class:"card-body p-4"},He={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column gap-3",style:{height:"130px"}},qe={class:"d-flex align-items-center"},Fe={class:"text-muted"},ze={class:"ms-auto"},Ae={key:0},Je={key:1,class:"spinner-border"},Ke={class:"progress",role:"progressbar",style:{height:"10px"}},Qe={class:"d-flex align-items-center"},Xe={class:"mb-0"},Ye={class:"mb-0 ms-auto"},Ze={class:"progress",role:"progressbar",style:{height:"10px"}},es={class:"d-flex align-items-center"},ss={class:"mb-0"},ts={class:"mb-0 ms-auto text-muted"},as={class:"position-relative"},os={class:"col-sm-12"},ls={class:"card rounded-3 h-100 shadow"},rs={class:"card-body p-4 d-flex gap-3 flex-column"},is={class:"d-flex align-items-center gap-3"},ns={class:"text-muted mb-0"},cs={class:"ms-auto mb-0"},ds={key:0},us={key:1,class:"spinner-border"},hs={key:0,class:"row g-4"},ms={class:"col-sm-12"},ps={class:"card rounded-3 h-100 shadow"},_s={class:"card-body p-4 d-flex gap-3 flex-column"},bs={class:"d-flex align-items-center"},fs={class:"text-muted mb-0"},vs={class:"ms-auto mb-0"},gs={key:0},ys={key:1,class:"spinner-border"},xs={class:"row g-3"},ws={class:"col-sm-6 fadeIn"},ks={class:"d-flex mb-2"},Ss={class:"mb-0"},Cs={class:"mb-0 ms-auto d-flex gap-2"},Ns={class:"text-success"},Ms={class:"progress",role:"progressbar",style:{height:"20px"}},$s={__name:"systemStatus",setup(a){const m=Y(),p=v(!1),s=_(()=>p.value?m.SystemStatus:void 0);let h=null;V.register(E,R,j,G,H,W,q,F,z,A,J),Z(()=>{U(),h=setInterval(()=>{U()},5e3)}),ee(()=>{clearInterval(h)});const n=v([]),$=v([]),P=v([]),I=v([]),f=se({}),U=async()=>{await te("/api/systemStatus",{},d=>{n.value.push(oe().format("HH:mm:ss A")),m.SystemStatus=d.data,$.value.push(d.data.CPU.cpu_percent),P.value.push(d.data.Memory.VirtualMemory.percent),I.value.push(d.data.Memory.SwapMemory.percent);for(let o of Object.keys(d.data.NetworkInterfaces))Object.keys(f).includes(o)||(f[o]={bytes_recv:[],bytes_sent:[]}),f[o].bytes_recv.push(d.data.NetworkInterfaces[o].realtime.recv),f[o].bytes_sent.push(d.data.NetworkInterfaces[o].realtime.sent);p.value=!0})},B=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:d=>`${d.formattedValue}%`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(d,o)=>`${d}%`},grid:{display:!1}}}})),K=_(()=>({labels:[...n.value],datasets:[{label:x("CPU Usage"),data:[...$.value],fill:"start",backgroundColor:"#0d6efd90",borderColor:"#0d6efd",tension:0,pointRadius:2,borderWidth:1}]})),Q=_(()=>({labels:[...n.value],datasets:[{label:x("Memory Usage"),data:[...P.value],fill:1,borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Swap Memory Usage"),data:[...I.value],fill:"start",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}));return(d,o)=>(t(),l("div",we,[e("div",ke,[e("div",Se,[e("div",Ce,[e("div",Ne,[e("div",Me,[e("div",$e,[e("h3",Pe,[o[0]||(o[0]=e("i",{class:"bi bi-cpu-fill me-2"},null,-1)),i(c,{t:"CPU"})]),e("h3",Ie,[s.value?(t(),l("span",Ue,u(s.value.CPU.cpu_percent)+"% ",1)):(t(),l("span",Be))])]),e("div",Le,[e("div",{class:"progress-bar",style:b({width:`${s.value?.CPU.cpu_percent}%`})},null,4)]),e("div",De,[(t(!0),l(g,null,y(s.value?.CPU.cpu_percent_per_cpu,(r,C)=>(t(),k(ae,{square:!0,key:C,align:C+1>Math.round(s.value?.CPU.cpu_percent_per_cpu.length/2),core_number:C,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),i(N(M),{options:B.value,data:K.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",Oe,[e("h5",Te,[i(c,{t:"Processes"})]),e("h6",Ve,[e("small",null,[i(c,{t:"CPU Usage"})])])]),o[1]||(o[1]=e("hr",{class:"my-1"},null,-1)),e("div",Ee,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.cpu_top_10,r=>(t(),k(O,{key:r.pid,cpu:!0,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",Re,[e("div",je,[e("div",Ge,[e("div",He,[e("div",We,[e("div",qe,[e("h3",Fe,[o[2]||(o[2]=e("i",{class:"bi bi-memory me-2"},null,-1)),i(c,{t:"Memory"})]),e("h3",ze,[s.value?(t(),l("span",Ae,u(s.value?.Memory.VirtualMemory.percent)+"% ",1)):(t(),l("span",Je))])]),e("div",Ke,[e("div",{class:"progress-bar bg-info",style:b({width:`${s.value?.Memory.VirtualMemory.percent}%`})},null,4)]),e("div",Qe,[e("h6",Xe,[i(c,{t:"Swap Memory"})]),e("h6",Ye,u(s.value?.Memory.SwapMemory.percent)+"%",1)]),e("div",Ze,[e("div",{class:"progress-bar bg-info-subtle",style:b({width:`${s.value?.Memory.SwapMemory.percent}%`})},null,4)])]),i(N(M),{options:B.value,data:Q.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",es,[e("h5",ss,[i(c,{t:"Processes"})]),e("h6",ts,[e("small",null,[i(c,{t:"Memory Usage"})])])]),o[3]||(o[3]=e("hr",{class:"my-1"},null,-1)),e("div",as,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.memory_top_10,r=>(t(),k(O,{key:r.pid,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",os,[e("div",ls,[e("div",rs,[e("div",is,[e("h3",ns,[o[4]||(o[4]=e("i",{class:"bi bi-ethernet me-2"},null,-1)),i(c,{t:"Network"})]),e("h3",cs,[s.value?(t(),l("span",ds,[i(c,{t:Object.keys(s.value.NetworkInterfaces).length+" Interface"+(Object.keys(s.value.NetworkInterfaces).length>1?"s":"")},null,8,["t"])])):(t(),l("span",us))])]),o[5]||(o[5]=e("div",null,null,-1)),s.value?(t(),l("div",hs,[(t(!0),l(g,null,y(Object.keys(s.value.NetworkInterfaces).sort(),r=>(t(),k(xe,{interface:s.value.NetworkInterfaces[r],interfaceName:r,historicalChartTimestamp:n.value,historicalNetworkSpeed:f[r],key:r},null,8,["interface","interfaceName","historicalChartTimestamp","historicalNetworkSpeed"]))),128))])):S("",!0)])])]),e("div",ms,[e("div",ps,[e("div",_s,[e("div",bs,[e("h3",fs,[o[6]||(o[6]=e("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),i(c,{t:"Storage"})]),e("h3",vs,[s.value?(t(),l("span",gs,[i(c,{t:s.value.Disks.length+" Partition"+(s.value.Disks.length>1?"s":"")},null,8,["t"])])):(t(),l("span",ys))])]),e("div",xs,[s.value?(t(!0),l(g,{key:0},y(s.value.Disks,r=>(t(),l("div",ws,[e("div",ks,[e("h6",Ss,[e("samp",null,u(r.mountPoint),1)]),e("h6",Cs,[e("span",Ns,[i(c,{t:Math.round((r.used/1024e6+Number.EPSILON)*100)/100+" / "+Math.round((r.total/1024e6+Number.EPSILON)*100)/100+" GB Used"},null,8,["t"])])])]),e("div",Ms,[e("div",{class:"progress-bar bg-success",style:b({width:`${r.percent}%`})},u(r.percent)+"% ",5)])]))),256)):S("",!0)])])])])]))}},Ds=T($s,[["__scopeId","data-v-d762a6a8"]]);export{Ds as default}; +import{_ as T,c as l,f as t,a as e,t as u,B as X,q as _,G as x,e as w,d as S,s as b,b as i,u as N,D as Y,r as v,o as Z,x as ee,J as se,g as te,F as g,i as y,j as k,w as L,T as D}from"./index-Y3pG9DoR.js";import{L as c}from"./localeText-DcQapG1o.js";import{C as ae}from"./storageMount.vue_vue_type_style_index_0_scoped_9509d7a0_lang-B5X49oRk.js";import{C as V,L as E,B as R,a as j,b as G,c as H,p as W,d as q,e as F,f as z,P as A,i as J,g as M}from"./index-BwIaVxZ8.js";import{d as oe}from"./dayjs.min-BxkQs1mo.js";const le={class:"mb-1 d-flex gap-5"},re={class:"title"},ie={class:"ms-auto"},ne={__name:"process",props:["process","cpu"],setup(a){return(m,p)=>(t(),l("div",le,[e("small",re,[p[0]||(p[0]=e("i",{class:"bi bi-code-square me-2"},null,-1)),e("samp",null,u(a.process.command?a.process.command:a.process.name),1)]),e("small",ie,u(Math.round((a.process.percent+Number.EPSILON)*10)/10)+"% ",1)]))}},O=T(ne,[["__scopeId","data-v-ffe5ad8f"]]),ce={class:"col-sm-6 fadeIn d-flex gap-2 flex-column"},de={class:"d-flex mb-2"},ue={class:"mb-0"},he={class:"mb-0 ms-auto d-flex gap-2"},me={class:"text-info"},pe={class:"text-warning"},_e={class:"progress",role:"progressbar",style:{height:"10px"}},be={class:"card rounded-3"},fe={class:"card-header d-flex align-items-center gap-3"},ve={class:"text-info ms-auto"},ge={class:"text-warning"},ye={class:"card-body"},xe=X({__name:"networkInterface",props:["historicalChartTimestamp","historicalNetworkSpeed","interfaceName","interface"],setup(a){V.register(E,R,j,G,H,W,q,F,z,A,J);const m=a,p=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:h=>`${h.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(h,n)=>`${Math.round(h*1e4)/1e4} MB/s`},grid:{display:!1}}}})),s=_(()=>{let h=[],n=[];return m.historicalNetworkSpeed.bytes_recv&&m.historicalNetworkSpeed.bytes_sent&&(h=[...m.historicalNetworkSpeed.bytes_recv],n=[...m.historicalNetworkSpeed.bytes_sent]),{labels:[...m.historicalChartTimestamp],datasets:[{label:x("Real Time Received Data Usage"),data:h,fill:"origin",borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Real Time Sent Data Usage"),data:n,fill:"origin",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}});return(h,n)=>(t(),l("div",ce,[e("div",null,[e("div",de,[e("h6",ue,[e("samp",null,u(a.interfaceName),1)]),e("h6",he,[e("span",me,[n[0]||(n[0]=e("i",{class:"bi bi-arrow-down"},null,-1)),w(" "+u(Math.round((a.interface.bytes_recv/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)]),e("span",pe,[n[1]||(n[1]=e("i",{class:"bi bi-arrow-up"},null,-1)),w(" "+u(Math.round((a.interface.bytes_sent/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)])])]),e("div",_e,[a.interface.bytes_recv>0?(t(),l("div",{key:0,class:"progress-bar bg-info",style:b({width:`${a.interface.bytes_recv/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0),a.interface.bytes_sent>0?(t(),l("div",{key:1,class:"progress-bar bg-warning",style:b({width:`${a.interface.bytes_sent/(a.interface.bytes_sent+a.interface.bytes_recv)*100}%`})},null,4)):S("",!0)])]),e("div",be,[e("div",fe,[e("small",null,[i(c,{t:"Realtime Speed"})]),e("small",ve,[n[2]||(n[2]=e("i",{class:"bi bi-arrow-down-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_recv[a.historicalNetworkSpeed.bytes_recv.length-1])+" MB/s ",1)]),e("small",ge,[n[3]||(n[3]=e("i",{class:"bi bi-arrow-up-circle me-2"},null,-1)),w(" "+u(a.historicalNetworkSpeed.bytes_sent[a.historicalNetworkSpeed.bytes_sent.length-1])+" MB/s ",1)])]),e("div",ye,[i(N(M),{options:p.value,data:s.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"])])])]))}}),we={class:"text-body row g-2 mb-2"},ke={class:"col-sm-6"},Se={class:"card rounded-3 h-100 shadow"},Ce={class:"card-body p-4"},Ne={class:"d-flex flex-column gap-3"},Me={class:"d-flex flex-column gap-3",style:{height:"130px"}},$e={class:"d-flex align-items-center"},Pe={class:"text-muted mb-0"},Ie={class:"ms-auto mb-0"},Ue={key:0},Be={key:1,class:"spinner-border"},Le={class:"progress",role:"progressbar",style:{height:"10px"}},De={class:"d-flex gap-1"},Oe={class:"d-flex align-items-center"},Te={class:"mb-0"},Ve={class:"mb-0 ms-auto text-muted"},Ee={class:"position-relative"},Re={class:"col-sm-6"},je={class:"card rounded-3 h-100 shadow"},Ge={class:"card-body p-4"},He={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column gap-3",style:{height:"130px"}},qe={class:"d-flex align-items-center"},Fe={class:"text-muted"},ze={class:"ms-auto"},Ae={key:0},Je={key:1,class:"spinner-border"},Ke={class:"progress",role:"progressbar",style:{height:"10px"}},Qe={class:"d-flex align-items-center"},Xe={class:"mb-0"},Ye={class:"mb-0 ms-auto"},Ze={class:"progress",role:"progressbar",style:{height:"10px"}},es={class:"d-flex align-items-center"},ss={class:"mb-0"},ts={class:"mb-0 ms-auto text-muted"},as={class:"position-relative"},os={class:"col-sm-12"},ls={class:"card rounded-3 h-100 shadow"},rs={class:"card-body p-4 d-flex gap-3 flex-column"},is={class:"d-flex align-items-center gap-3"},ns={class:"text-muted mb-0"},cs={class:"ms-auto mb-0"},ds={key:0},us={key:1,class:"spinner-border"},hs={key:0,class:"row g-4"},ms={class:"col-sm-12"},ps={class:"card rounded-3 h-100 shadow"},_s={class:"card-body p-4 d-flex gap-3 flex-column"},bs={class:"d-flex align-items-center"},fs={class:"text-muted mb-0"},vs={class:"ms-auto mb-0"},gs={key:0},ys={key:1,class:"spinner-border"},xs={class:"row g-3"},ws={class:"col-sm-6 fadeIn"},ks={class:"d-flex mb-2"},Ss={class:"mb-0"},Cs={class:"mb-0 ms-auto d-flex gap-2"},Ns={class:"text-success"},Ms={class:"progress",role:"progressbar",style:{height:"20px"}},$s={__name:"systemStatus",setup(a){const m=Y(),p=v(!1),s=_(()=>p.value?m.SystemStatus:void 0);let h=null;V.register(E,R,j,G,H,W,q,F,z,A,J),Z(()=>{U(),h=setInterval(()=>{U()},5e3)}),ee(()=>{clearInterval(h)});const n=v([]),$=v([]),P=v([]),I=v([]),f=se({}),U=async()=>{await te("/api/systemStatus",{},d=>{n.value.push(oe().format("HH:mm:ss A")),m.SystemStatus=d.data,$.value.push(d.data.CPU.cpu_percent),P.value.push(d.data.Memory.VirtualMemory.percent),I.value.push(d.data.Memory.SwapMemory.percent);for(let o of Object.keys(d.data.NetworkInterfaces))Object.keys(f).includes(o)||(f[o]={bytes_recv:[],bytes_sent:[]}),f[o].bytes_recv.push(d.data.NetworkInterfaces[o].realtime.recv),f[o].bytes_sent.push(d.data.NetworkInterfaces[o].realtime.sent);p.value=!0})},B=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:d=>`${d.formattedValue}%`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(d,o)=>`${d}%`},grid:{display:!1}}}})),K=_(()=>({labels:[...n.value],datasets:[{label:x("CPU Usage"),data:[...$.value],fill:"start",backgroundColor:"#0d6efd90",borderColor:"#0d6efd",tension:0,pointRadius:2,borderWidth:1}]})),Q=_(()=>({labels:[...n.value],datasets:[{label:x("Memory Usage"),data:[...P.value],fill:1,borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:x("Swap Memory Usage"),data:[...I.value],fill:"start",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}));return(d,o)=>(t(),l("div",we,[e("div",ke,[e("div",Se,[e("div",Ce,[e("div",Ne,[e("div",Me,[e("div",$e,[e("h3",Pe,[o[0]||(o[0]=e("i",{class:"bi bi-cpu-fill me-2"},null,-1)),i(c,{t:"CPU"})]),e("h3",Ie,[s.value?(t(),l("span",Ue,u(s.value.CPU.cpu_percent)+"% ",1)):(t(),l("span",Be))])]),e("div",Le,[e("div",{class:"progress-bar",style:b({width:`${s.value?.CPU.cpu_percent}%`})},null,4)]),e("div",De,[(t(!0),l(g,null,y(s.value?.CPU.cpu_percent_per_cpu,(r,C)=>(t(),k(ae,{square:!0,key:C,align:C+1>Math.round(s.value?.CPU.cpu_percent_per_cpu.length/2),core_number:C,percentage:r},null,8,["align","core_number","percentage"]))),128))])]),i(N(M),{options:B.value,data:K.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",Oe,[e("h5",Te,[i(c,{t:"Processes"})]),e("h6",Ve,[e("small",null,[i(c,{t:"CPU Usage"})])])]),o[1]||(o[1]=e("hr",{class:"my-1"},null,-1)),e("div",Ee,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.cpu_top_10,r=>(t(),k(O,{key:r.pid,cpu:!0,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",Re,[e("div",je,[e("div",Ge,[e("div",He,[e("div",We,[e("div",qe,[e("h3",Fe,[o[2]||(o[2]=e("i",{class:"bi bi-memory me-2"},null,-1)),i(c,{t:"Memory"})]),e("h3",ze,[s.value?(t(),l("span",Ae,u(s.value?.Memory.VirtualMemory.percent)+"% ",1)):(t(),l("span",Je))])]),e("div",Ke,[e("div",{class:"progress-bar bg-info",style:b({width:`${s.value?.Memory.VirtualMemory.percent}%`})},null,4)]),e("div",Qe,[e("h6",Xe,[i(c,{t:"Swap Memory"})]),e("h6",Ye,u(s.value?.Memory.SwapMemory.percent)+"%",1)]),e("div",Ze,[e("div",{class:"progress-bar bg-info-subtle",style:b({width:`${s.value?.Memory.SwapMemory.percent}%`})},null,4)])]),i(N(M),{options:B.value,data:Q.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",es,[e("h5",ss,[i(c,{t:"Processes"})]),e("h6",ts,[e("small",null,[i(c,{t:"Memory Usage"})])])]),o[3]||(o[3]=e("hr",{class:"my-1"},null,-1)),e("div",as,[i(D,{name:"process"},{default:L(()=>[(t(!0),l(g,null,y(s.value?.Processes.memory_top_10,r=>(t(),k(O,{key:r.pid,process:r},null,8,["process"]))),128))]),_:1})])])])])]),e("div",os,[e("div",ls,[e("div",rs,[e("div",is,[e("h3",ns,[o[4]||(o[4]=e("i",{class:"bi bi-ethernet me-2"},null,-1)),i(c,{t:"Network"})]),e("h3",cs,[s.value?(t(),l("span",ds,[i(c,{t:Object.keys(s.value.NetworkInterfaces).length+" Interface"+(Object.keys(s.value.NetworkInterfaces).length>1?"s":"")},null,8,["t"])])):(t(),l("span",us))])]),o[5]||(o[5]=e("div",null,null,-1)),s.value?(t(),l("div",hs,[(t(!0),l(g,null,y(Object.keys(s.value.NetworkInterfaces).sort(),r=>(t(),k(xe,{interface:s.value.NetworkInterfaces[r],interfaceName:r,historicalChartTimestamp:n.value,historicalNetworkSpeed:f[r],key:r},null,8,["interface","interfaceName","historicalChartTimestamp","historicalNetworkSpeed"]))),128))])):S("",!0)])])]),e("div",ms,[e("div",ps,[e("div",_s,[e("div",bs,[e("h3",fs,[o[6]||(o[6]=e("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),i(c,{t:"Storage"})]),e("h3",vs,[s.value?(t(),l("span",gs,[i(c,{t:s.value.Disks.length+" Partition"+(s.value.Disks.length>1?"s":"")},null,8,["t"])])):(t(),l("span",ys))])]),e("div",xs,[s.value?(t(!0),l(g,{key:0},y(s.value.Disks,r=>(t(),l("div",ws,[e("div",ks,[e("h6",Ss,[e("samp",null,u(r.mountPoint),1)]),e("h6",Cs,[e("span",Ns,[i(c,{t:Math.round((r.used/1024e6+Number.EPSILON)*100)/100+" / "+Math.round((r.total/1024e6+Number.EPSILON)*100)/100+" GB Used"},null,8,["t"])])])]),e("div",Ms,[e("div",{class:"progress-bar bg-success",style:b({width:`${r.percent}%`})},u(r.percent)+"% ",5)])]))),256)):S("",!0)])])])])]))}},Ds=T($s,[["__scopeId","data-v-d762a6a8"]]);export{Ds as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/totp-DLhlDLL5.js b/src/static/dist/WGDashboardAdmin/assets/totp-BKkim5ML.js similarity index 94% rename from src/static/dist/WGDashboardAdmin/assets/totp-DLhlDLL5.js rename to src/static/dist/WGDashboardAdmin/assets/totp-BKkim5ML.js index 1752767d..0761341e 100644 --- a/src/static/dist/WGDashboardAdmin/assets/totp-DLhlDLL5.js +++ b/src/static/dist/WGDashboardAdmin/assets/totp-BKkim5ML.js @@ -1 +1 @@ -import{_ as h,c as m,a as t,b as i,h as d,t as p,m as f,y as _,j as r,w as c,z as b,D as v,g,f as n}from"./index-DYYtDSji.js";import{Q as x}from"./browser-LdOMKRZX.js";import{L as y}from"./localeText-Cd7vLnRM.js";import"./galois-field-I2lBzzs-.js";const T={name:"totp",components:{LocaleText:y},async setup(){const s=v();let e="";return await g("/api/Welcome_GetTotpLink",{},(a=>{a.status&&(e=a.data)})),{l:e,store:s}},mounted(){this.l&&x.toCanvas(document.getElementById("qrcode"),this.l,function(s){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(s){const e=document.querySelector("#totp");e.classList.remove("is-invalid","is-valid"),s.length===6&&(console.log(s),/[0-9]{6}/.test(s)?b("/api/Welcome_VerifyTotpLink",{totp:s},a=>{a.status?(this.verified=!0,e.classList.add("is-valid"),this.$emit("verified")):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},k=["data-bs-theme"],L={class:"m-auto text-body",style:{width:"500px"}},w={class:"d-flex flex-column"},C={class:"dashboardLogo display-4"},M={class:"mb-2"},P={class:"text-muted"},I={class:"p-3 bg-body-secondary rounded-3 border mb-3"},O={class:"text-muted mb-0"},B=["href"],$={style:{"line-break":"anywhere"}},D={for:"totp",class:"mb-2"},R={class:"text-muted"},S={class:"form-group mb-2"},q=["disabled"],A={class:"invalid-feedback"},E={class:"valid-feedback"},F={class:"d-flex gap-3 mt-5 flex-column"};function Q(s,e,a,G,N,W){const o=d("LocaleText"),l=d("RouterLink");return n(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[t("div",L,[t("div",w,[t("div",null,[t("h1",C,[i(o,{t:"Multi-Factor Authentication (MFA)"})]),t("p",M,[t("small",P,[i(o,{t:"1. Please scan the following QR Code to generate TOTP with your choice of authenticator"})])]),e[1]||(e[1]=t("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1)),t("div",I,[t("p",O,[t("small",null,[i(o,{t:"Or you can click the link below:"})])]),t("a",{href:this.l},[t("code",$,p(this.l),1)],8,B)]),t("label",D,[t("small",R,[i(o,{t:"2. Enter the TOTP generated by your authenticator to verify"})])]),t("div",S,[f(t("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":e[0]||(e[0]=u=>this.totp=u),disabled:this.verified},null,8,q),[[_,this.totp]]),t("div",A,[i(o,{t:this.totpInvalidMessage},null,8,["t"])]),t("div",E,[i(o,{t:"TOTP verified!"})])])]),e[4]||(e[4]=t("hr",null,null,-1)),t("div",F,[this.verified?(n(),r(l,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:c(()=>[i(o,{t:"Complete"}),e[3]||(e[3]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1})):(n(),r(l,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:c(()=>[i(o,{t:"I don't need MFA"}),e[2]||(e[2]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1}))])])])],8,k)}const H=h(T,[["render",Q]]);export{H as default}; +import{_ as h,c as m,a as t,b as i,h as d,t as p,m as f,y as _,j as r,w as c,z as b,D as v,g,f as n}from"./index-Y3pG9DoR.js";import{Q as x}from"./browser-QmM-r3j5.js";import{L as y}from"./localeText-DcQapG1o.js";import"./galois-field-I2lBzzs-.js";const T={name:"totp",components:{LocaleText:y},async setup(){const s=v();let e="";return await g("/api/Welcome_GetTotpLink",{},(a=>{a.status&&(e=a.data)})),{l:e,store:s}},mounted(){this.l&&x.toCanvas(document.getElementById("qrcode"),this.l,function(s){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(s){const e=document.querySelector("#totp");e.classList.remove("is-invalid","is-valid"),s.length===6&&(console.log(s),/[0-9]{6}/.test(s)?b("/api/Welcome_VerifyTotpLink",{totp:s},a=>{a.status?(this.verified=!0,e.classList.add("is-valid"),this.$emit("verified")):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},k=["data-bs-theme"],L={class:"m-auto text-body",style:{width:"500px"}},w={class:"d-flex flex-column"},C={class:"dashboardLogo display-4"},M={class:"mb-2"},P={class:"text-muted"},I={class:"p-3 bg-body-secondary rounded-3 border mb-3"},O={class:"text-muted mb-0"},B=["href"],$={style:{"line-break":"anywhere"}},D={for:"totp",class:"mb-2"},R={class:"text-muted"},S={class:"form-group mb-2"},q=["disabled"],A={class:"invalid-feedback"},E={class:"valid-feedback"},F={class:"d-flex gap-3 mt-5 flex-column"};function Q(s,e,a,G,N,W){const o=d("LocaleText"),l=d("RouterLink");return n(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[t("div",L,[t("div",w,[t("div",null,[t("h1",C,[i(o,{t:"Multi-Factor Authentication (MFA)"})]),t("p",M,[t("small",P,[i(o,{t:"1. Please scan the following QR Code to generate TOTP with your choice of authenticator"})])]),e[1]||(e[1]=t("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1)),t("div",I,[t("p",O,[t("small",null,[i(o,{t:"Or you can click the link below:"})])]),t("a",{href:this.l},[t("code",$,p(this.l),1)],8,B)]),t("label",D,[t("small",R,[i(o,{t:"2. Enter the TOTP generated by your authenticator to verify"})])]),t("div",S,[f(t("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":e[0]||(e[0]=u=>this.totp=u),disabled:this.verified},null,8,q),[[_,this.totp]]),t("div",A,[i(o,{t:this.totpInvalidMessage},null,8,["t"])]),t("div",E,[i(o,{t:"TOTP verified!"})])])]),e[4]||(e[4]=t("hr",null,null,-1)),t("div",F,[this.verified?(n(),r(l,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:c(()=>[i(o,{t:"Complete"}),e[3]||(e[3]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1})):(n(),r(l,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:c(()=>[i(o,{t:"I don't need MFA"}),e[2]||(e[2]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1}))])])])],8,k)}const H=h(T,[["render",Q]]);export{H as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/traceroute-DW1aS4wL.js b/src/static/dist/WGDashboardAdmin/assets/traceroute-DHxEwaFh.js similarity index 96% rename from src/static/dist/WGDashboardAdmin/assets/traceroute-DW1aS4wL.js rename to src/static/dist/WGDashboardAdmin/assets/traceroute-DHxEwaFh.js index ec67eaab..8ca3bcdb 100644 --- a/src/static/dist/WGDashboardAdmin/assets/traceroute-DW1aS4wL.js +++ b/src/static/dist/WGDashboardAdmin/assets/traceroute-DHxEwaFh.js @@ -1 +1 @@ -import{_ as h,c as o,a as t,b as n,h as r,m as g,y as b,H as y,w as c,k as u,g as f,W as x,f as l,e as v,F as m,i as _,s as k,n as T,t as i}from"./index-DYYtDSji.js";import{O as A}from"./osmap-BtV_4HvJ.js";import{L as w}from"./localeText-Cd7vLnRM.js";import"./Vector-CuSZivra.js";const R={name:"traceroute",components:{LocaleText:w,OSMap:A},data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:x()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,f("/api/traceroute/execute",{ipAddress:this.ipAddress},d=>{d.status?this.tracerouteResult=d.data:this.store.newMessage("Server",d.message,"danger"),this.tracing=!1}))}}},M={class:"mt-md-5 mt-3 text-body"},S={class:"container-md"},$={class:"mb-3 text-body"},L={class:"d-flex gap-2 mb-3 flex-column"},C={class:"flex-grow-1"},P={class:"mb-1 text-muted",for:"ipAddress"},O=["disabled"],V=["disabled"],B={key:0,class:"d-block"},H={key:1,class:"d-block"},I={class:"position-relative"},N={key:"pingPlaceholder"},z={key:1},D={key:"table",class:"w-100 mt-2"},E={class:"table table-sm rounded-3 w-100"},F={scope:"col"},G={scope:"col"},K={scope:"col"},W={scope:"col"},U={scope:"col"},j={scope:"col"},q={key:0},J={key:1};function Q(d,s,X,Y,Z,tt){const a=r("LocaleText"),p=r("OSMap");return l(),o("div",M,[t("div",S,[t("h3",$,[n(a,{t:"Traceroute"})]),t("div",L,[t("div",C,[t("label",P,[t("small",null,[n(a,{t:"Enter IP Address / Hostname"})])]),g(t("input",{disabled:this.tracing,id:"ipAddress",class:"form-control rounded-3","onUpdate:modelValue":s[0]||(s[0]=e=>this.ipAddress=e),onKeyup:s[1]||(s[1]=y(e=>this.execute(),["enter"])),type:"text"},null,40,O),[[b,this.ipAddress]])]),t("button",{class:"btn btn-primary rounded-3 position-relative flex-grow-1",disabled:this.tracing||!this.ipAddress,onClick:s[2]||(s[2]=e=>this.execute())},[n(u,{name:"slide"},{default:c(()=>[this.tracing?(l(),o("span",H,[...s[4]||(s[4]=[t("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),t("span",{class:"visually-hidden",role:"status"},"Loading...",-1)])])):(l(),o("span",B,[...s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ",-1)])]))]),_:1})],8,V)]),t("div",I,[n(u,{name:"ping"},{default:c(()=>[this.tracerouteResult?(l(),o("div",z,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",D,[t("table",E,[t("thead",null,[t("tr",null,[t("th",F,[n(a,{t:"Hop"})]),t("th",G,[n(a,{t:"IP Address"})]),t("th",K,[n(a,{t:"Average RTT (ms)"})]),t("th",W,[n(a,{t:"Min RTT (ms)"})]),t("th",U,[n(a,{t:"Max RTT (ms)"})]),t("th",j,[n(a,{t:"Geolocation"})])])]),t("tbody",null,[(l(!0),o(m,null,_(this.tracerouteResult,(e,et)=>(l(),o("tr",null,[t("td",null,[t("small",null,i(e.hop),1)]),t("td",null,[t("small",null,[t("samp",null,i(e.ip),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.avg_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.min_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.max_rtt),1)])]),t("td",null,[e.geo&&e.geo.city&&e.geo.country?(l(),o("span",q,[t("small",null,i(e.geo.city)+", "+i(e.geo.country),1)])):(l(),o("span",J," - "))])]))),256))])])])])):(l(),o("div",N,[s[5]||(s[5]=t("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px !important"}},null,-1)),(l(),o(m,null,_(5,e=>t("div",{class:T(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:k({"animation-delay":`${e*.05}s`})},null,6)),64))]))]),_:1})])])])}const at=h(R,[["render",Q],["__scopeId","data-v-125b538b"]]);export{at as default}; +import{_ as h,c as o,a as t,b as n,h as r,m as g,y as b,H as y,w as c,k as u,g as f,W as x,f as l,e as v,F as m,i as _,s as k,n as T,t as i}from"./index-Y3pG9DoR.js";import{O as A}from"./osmap-B4A8sjpG.js";import{L as w}from"./localeText-DcQapG1o.js";import"./Vector-CuSZivra.js";const R={name:"traceroute",components:{LocaleText:w,OSMap:A},data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:x()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,f("/api/traceroute/execute",{ipAddress:this.ipAddress},d=>{d.status?this.tracerouteResult=d.data:this.store.newMessage("Server",d.message,"danger"),this.tracing=!1}))}}},M={class:"mt-md-5 mt-3 text-body"},S={class:"container-md"},$={class:"mb-3 text-body"},L={class:"d-flex gap-2 mb-3 flex-column"},C={class:"flex-grow-1"},P={class:"mb-1 text-muted",for:"ipAddress"},O=["disabled"],V=["disabled"],B={key:0,class:"d-block"},H={key:1,class:"d-block"},I={class:"position-relative"},N={key:"pingPlaceholder"},z={key:1},D={key:"table",class:"w-100 mt-2"},E={class:"table table-sm rounded-3 w-100"},F={scope:"col"},G={scope:"col"},K={scope:"col"},W={scope:"col"},U={scope:"col"},j={scope:"col"},q={key:0},J={key:1};function Q(d,s,X,Y,Z,tt){const a=r("LocaleText"),p=r("OSMap");return l(),o("div",M,[t("div",S,[t("h3",$,[n(a,{t:"Traceroute"})]),t("div",L,[t("div",C,[t("label",P,[t("small",null,[n(a,{t:"Enter IP Address / Hostname"})])]),g(t("input",{disabled:this.tracing,id:"ipAddress",class:"form-control rounded-3","onUpdate:modelValue":s[0]||(s[0]=e=>this.ipAddress=e),onKeyup:s[1]||(s[1]=y(e=>this.execute(),["enter"])),type:"text"},null,40,O),[[b,this.ipAddress]])]),t("button",{class:"btn btn-primary rounded-3 position-relative flex-grow-1",disabled:this.tracing||!this.ipAddress,onClick:s[2]||(s[2]=e=>this.execute())},[n(u,{name:"slide"},{default:c(()=>[this.tracing?(l(),o("span",H,[...s[4]||(s[4]=[t("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),t("span",{class:"visually-hidden",role:"status"},"Loading...",-1)])])):(l(),o("span",B,[...s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ",-1)])]))]),_:1})],8,V)]),t("div",I,[n(u,{name:"ping"},{default:c(()=>[this.tracerouteResult?(l(),o("div",z,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",D,[t("table",E,[t("thead",null,[t("tr",null,[t("th",F,[n(a,{t:"Hop"})]),t("th",G,[n(a,{t:"IP Address"})]),t("th",K,[n(a,{t:"Average RTT (ms)"})]),t("th",W,[n(a,{t:"Min RTT (ms)"})]),t("th",U,[n(a,{t:"Max RTT (ms)"})]),t("th",j,[n(a,{t:"Geolocation"})])])]),t("tbody",null,[(l(!0),o(m,null,_(this.tracerouteResult,(e,et)=>(l(),o("tr",null,[t("td",null,[t("small",null,i(e.hop),1)]),t("td",null,[t("small",null,[t("samp",null,i(e.ip),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.avg_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.min_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.max_rtt),1)])]),t("td",null,[e.geo&&e.geo.city&&e.geo.country?(l(),o("span",q,[t("small",null,i(e.geo.city)+", "+i(e.geo.country),1)])):(l(),o("span",J," - "))])]))),256))])])])])):(l(),o("div",N,[s[5]||(s[5]=t("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px !important"}},null,-1)),(l(),o(m,null,_(5,e=>t("div",{class:T(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:k({"animation-delay":`${e*.05}s`})},null,6)),64))]))]),_:1})])])])}const at=h(R,[["render",Q],["__scopeId","data-v-125b538b"]]);export{at as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-Cw5Y4tvU.js b/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-BOhP7hRx.js similarity index 99% rename from src/static/dist/WGDashboardAdmin/assets/vue-datepicker-Cw5Y4tvU.js rename to src/static/dist/WGDashboardAdmin/assets/vue-datepicker-BOhP7hRx.js index 39514b04..89fe2e79 100644 --- a/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-Cw5Y4tvU.js +++ b/src/static/dist/WGDashboardAdmin/assets/vue-datepicker-BOhP7hRx.js @@ -1 +1 @@ -import{q as V,r as ie,Q as fo,I as Je,a6 as mo,a7 as vo,a8 as Gt,u as i,B as Ue,a9 as cr,aa as Bt,a0 as Be,j as $e,ab as ze,i as Ee,J as Ha,ac as po,ad as ho,ae as Vn,o as je,Z as Ge,V as jt,c as te,f as F,b as He,w as be,af as oe,ag as et,ah as dt,a as we,k as da,d as re,s as tt,n as ye,ai as yo,aj as go,a3 as sa,F as Se,t as Ke,l as xn,P as wo,R as Ie,ak as vt,e as At,al as bo,m as Wa,am as Ia,H as ko}from"./index-DYYtDSji.js";import{o as _o,u as Yt,a as Do}from"./index-DPa-4xgI.js";const la=Math.min,It=Math.max,qa=Math.round,Va=Math.floor,kt=e=>({x:e,y:e}),xo={left:"right",right:"left",bottom:"top",top:"bottom"},Mo={start:"end",end:"start"};function hn(e,t,n){return It(e,la(t,n))}function Ma(e,t){return typeof e=="function"?e(t):e}function qt(e){return e.split("-")[0]}function Pa(e){return e.split("-")[1]}function dr(e){return e==="x"?"y":"x"}function Mn(e){return e==="y"?"height":"width"}const Po=new Set(["top","bottom"]);function Rt(e){return Po.has(qt(e))?"y":"x"}function Pn(e){return dr(Rt(e))}function Ao(e,t,n){n===void 0&&(n=!1);const a=Pa(e),r=Pn(e),o=Mn(r);let s=r==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=Ua(s)),[s,Ua(s)]}function To(e){const t=Ua(e);return[yn(e),t,yn(t)]}function yn(e){return e.replace(/start|end/g,t=>Mo[t])}const Ln=["left","right"],Wn=["right","left"],Oo=["top","bottom"],Co=["bottom","top"];function So(e,t,n){switch(e){case"top":case"bottom":return n?t?Wn:Ln:t?Ln:Wn;case"left":case"right":return t?Oo:Co;default:return[]}}function Yo(e,t,n,a){const r=Pa(e);let o=So(qt(e),n==="start",a);return r&&(o=o.map(s=>s+"-"+r),t&&(o=o.concat(o.map(yn)))),o}function Ua(e){return e.replace(/left|right|bottom|top/g,t=>xo[t])}function Ro(e){return{top:0,right:0,bottom:0,left:0,...e}}function fr(e){return typeof e!="number"?Ro(e):{top:e,right:e,bottom:e,left:e}}function ja(e){const{x:t,y:n,width:a,height:r}=e;return{width:a,height:r,top:n,left:t,right:t+a,bottom:n+r,x:t,y:n}}function In(e,t,n){let{reference:a,floating:r}=e;const o=Rt(t),s=Pn(t),l=Mn(s),u=qt(t),h=o==="y",p=a.x+a.width/2-r.width/2,g=a.y+a.height/2-r.height/2,w=a[l]/2-r[l]/2;let c;switch(u){case"top":c={x:p,y:a.y-r.height};break;case"bottom":c={x:p,y:a.y+a.height};break;case"right":c={x:a.x+a.width,y:g};break;case"left":c={x:a.x-r.width,y:g};break;default:c={x:a.x,y:a.y}}switch(Pa(t)){case"start":c[s]-=w*(n&&h?-1:1);break;case"end":c[s]+=w*(n&&h?-1:1);break}return c}const $o=async(e,t,n)=>{const{placement:a="bottom",strategy:r="absolute",middleware:o=[],platform:s}=n,l=o.filter(Boolean),u=await(s.isRTL==null?void 0:s.isRTL(t));let h=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:p,y:g}=In(h,a,u),w=a,c={},y=0;for(let b=0;b({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:r,rects:o,platform:s,elements:l,middlewareData:u}=t,{element:h,padding:p=0}=Ma(e,t)||{};if(h==null)return{};const g=fr(p),w={x:n,y:a},c=Pn(r),y=Mn(c),b=await s.getDimensions(h),_=c==="y",d=_?"top":"left",m=_?"bottom":"right",v=_?"clientHeight":"clientWidth",M=o.reference[y]+o.reference[c]-w[c]-o.floating[y],O=w[c]-o.reference[c],E=await(s.getOffsetParent==null?void 0:s.getOffsetParent(h));let P=E?E[v]:0;(!P||!await(s.isElement==null?void 0:s.isElement(E)))&&(P=l.floating[v]||o.floating[y]);const Y=M/2-O/2,N=P/2-b[y]/2-1,W=la(g[d],N),H=la(g[m],N),q=W,G=P-b[y]-H,Z=P/2-b[y]/2+Y,U=hn(q,Z,G),X=!u.arrow&&Pa(r)!=null&&Z!==U&&o.reference[y]/2-(ZZ<=0)){var H,q;const Z=(((H=o.flip)==null?void 0:H.index)||0)+1,U=P[Z];if(U&&(!(g==="alignment"?m!==Rt(U):!1)||W.every(I=>Rt(I.placement)===m?I.overflows[0]>0:!0)))return{data:{index:Z,overflows:W},reset:{placement:U}};let X=(q=W.filter($=>$.overflows[0]<=0).sort(($,I)=>$.overflows[1]-I.overflows[1])[0])==null?void 0:q.placement;if(!X)switch(c){case"bestFit":{var G;const $=(G=W.filter(I=>{if(E){const le=Rt(I.placement);return le===m||le==="y"}return!0}).map(I=>[I.placement,I.overflows.filter(le=>le>0).reduce((le,z)=>le+z,0)]).sort((I,le)=>I[1]-le[1])[0])==null?void 0:G[0];$&&(X=$);break}case"initialPlacement":X=l;break}if(r!==X)return{reset:{placement:X}}}return{}}}},No=new Set(["left","top"]);async function Fo(e,t){const{placement:n,platform:a,elements:r}=e,o=await(a.isRTL==null?void 0:a.isRTL(r.floating)),s=qt(n),l=Pa(n),u=Rt(n)==="y",h=No.has(s)?-1:1,p=o&&u?-1:1,g=Ma(t,e);let{mainAxis:w,crossAxis:c,alignmentAxis:y}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return l&&typeof y=="number"&&(c=l==="end"?y*-1:y),u?{x:c*p,y:w*h}:{x:w*h,y:c*p}}const Vo=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,a;const{x:r,y:o,placement:s,middlewareData:l}=t,u=await Fo(t,e);return s===((n=l.offset)==null?void 0:n.placement)&&(a=l.arrow)!=null&&a.alignmentOffset?{}:{x:r+u.x,y:o+u.y,data:{...u,placement:s}}}}},Lo=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:r}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:l={fn:_=>{let{x:d,y:m}=_;return{x:d,y:m}}},...u}=Ma(e,t),h={x:n,y:a},p=await mr(t,u),g=Rt(qt(r)),w=dr(g);let c=h[w],y=h[g];if(o){const _=w==="y"?"top":"left",d=w==="y"?"bottom":"right",m=c+p[_],v=c-p[d];c=hn(m,c,v)}if(s){const _=g==="y"?"top":"left",d=g==="y"?"bottom":"right",m=y+p[_],v=y-p[d];y=hn(m,y,v)}const b=l.fn({...t,[w]:c,[g]:y});return{...b,data:{x:b.x-n,y:b.y-a,enabled:{[w]:o,[g]:s}}}}}};function Xa(){return typeof window<"u"}function zt(e){return An(e)?(e.nodeName||"").toLowerCase():"#document"}function at(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Mt(e){var t;return(t=(An(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function An(e){return Xa()?e instanceof Node||e instanceof at(e).Node:!1}function pt(e){return Xa()?e instanceof Element||e instanceof at(e).Element:!1}function Dt(e){return Xa()?e instanceof HTMLElement||e instanceof at(e).HTMLElement:!1}function Hn(e){return!Xa()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof at(e).ShadowRoot}const Wo=new Set(["inline","contents"]);function Aa(e){const{overflow:t,overflowX:n,overflowY:a,display:r}=ht(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+n)&&!Wo.has(r)}const Io=new Set(["table","td","th"]);function Ho(e){return Io.has(zt(e))}const qo=[":popover-open",":modal"];function Qa(e){return qo.some(t=>{try{return e.matches(t)}catch{return!1}})}const Uo=["transform","translate","scale","rotate","perspective"],jo=["transform","translate","scale","rotate","perspective","filter"],zo=["paint","layout","strict","content"];function Tn(e){const t=On(),n=pt(e)?ht(e):e;return Uo.some(a=>n[a]?n[a]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||jo.some(a=>(n.willChange||"").includes(a))||zo.some(a=>(n.contain||"").includes(a))}function Ko(e){let t=$t(e);for(;Dt(t)&&!ia(t);){if(Tn(t))return t;if(Qa(t))return null;t=$t(t)}return null}function On(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Xo=new Set(["html","body","#document"]);function ia(e){return Xo.has(zt(e))}function ht(e){return at(e).getComputedStyle(e)}function Ga(e){return pt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function $t(e){if(zt(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Hn(e)&&e.host||Mt(e);return Hn(t)?t.host:t}function vr(e){const t=$t(e);return ia(t)?e.ownerDocument?e.ownerDocument.body:e.body:Dt(t)&&Aa(t)?t:vr(t)}function xa(e,t,n){var a;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=vr(e),o=r===((a=e.ownerDocument)==null?void 0:a.body),s=at(r);if(o){const l=gn(s);return t.concat(s,s.visualViewport||[],Aa(r)?r:[],l&&n?xa(l):[])}return t.concat(r,xa(r,[],n))}function gn(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function pr(e){const t=ht(e);let n=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const r=Dt(e),o=r?e.offsetWidth:n,s=r?e.offsetHeight:a,l=qa(n)!==o||qa(a)!==s;return l&&(n=o,a=s),{width:n,height:a,$:l}}function Cn(e){return pt(e)?e:e.contextElement}function ra(e){const t=Cn(e);if(!Dt(t))return kt(1);const n=t.getBoundingClientRect(),{width:a,height:r,$:o}=pr(t);let s=(o?qa(n.width):n.width)/a,l=(o?qa(n.height):n.height)/r;return(!s||!Number.isFinite(s))&&(s=1),(!l||!Number.isFinite(l))&&(l=1),{x:s,y:l}}const Qo=kt(0);function hr(e){const t=at(e);return!On()||!t.visualViewport?Qo:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Go(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==at(e)?!1:t}function Ut(e,t,n,a){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),o=Cn(e);let s=kt(1);t&&(a?pt(a)&&(s=ra(a)):s=ra(e));const l=Go(o,n,a)?hr(o):kt(0);let u=(r.left+l.x)/s.x,h=(r.top+l.y)/s.y,p=r.width/s.x,g=r.height/s.y;if(o){const w=at(o),c=a&&pt(a)?at(a):a;let y=w,b=gn(y);for(;b&&a&&c!==y;){const _=ra(b),d=b.getBoundingClientRect(),m=ht(b),v=d.left+(b.clientLeft+parseFloat(m.paddingLeft))*_.x,M=d.top+(b.clientTop+parseFloat(m.paddingTop))*_.y;u*=_.x,h*=_.y,p*=_.x,g*=_.y,u+=v,h+=M,y=at(b),b=gn(y)}}return ja({width:p,height:g,x:u,y:h})}function Za(e,t){const n=Ga(e).scrollLeft;return t?t.left+n:Ut(Mt(e)).left+n}function yr(e,t){const n=e.getBoundingClientRect(),a=n.left+t.scrollLeft-Za(e,n),r=n.top+t.scrollTop;return{x:a,y:r}}function Zo(e){let{elements:t,rect:n,offsetParent:a,strategy:r}=e;const o=r==="fixed",s=Mt(a),l=t?Qa(t.floating):!1;if(a===s||l&&o)return n;let u={scrollLeft:0,scrollTop:0},h=kt(1);const p=kt(0),g=Dt(a);if((g||!g&&!o)&&((zt(a)!=="body"||Aa(s))&&(u=Ga(a)),Dt(a))){const c=Ut(a);h=ra(a),p.x=c.x+a.clientLeft,p.y=c.y+a.clientTop}const w=s&&!g&&!o?yr(s,u):kt(0);return{width:n.width*h.x,height:n.height*h.y,x:n.x*h.x-u.scrollLeft*h.x+p.x+w.x,y:n.y*h.y-u.scrollTop*h.y+p.y+w.y}}function Jo(e){return Array.from(e.getClientRects())}function es(e){const t=Mt(e),n=Ga(e),a=e.ownerDocument.body,r=It(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),o=It(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let s=-n.scrollLeft+Za(e);const l=-n.scrollTop;return ht(a).direction==="rtl"&&(s+=It(t.clientWidth,a.clientWidth)-r),{width:r,height:o,x:s,y:l}}const qn=25;function ts(e,t){const n=at(e),a=Mt(e),r=n.visualViewport;let o=a.clientWidth,s=a.clientHeight,l=0,u=0;if(r){o=r.width,s=r.height;const p=On();(!p||p&&t==="fixed")&&(l=r.offsetLeft,u=r.offsetTop)}const h=Za(a);if(h<=0){const p=a.ownerDocument,g=p.body,w=getComputedStyle(g),c=p.compatMode==="CSS1Compat"&&parseFloat(w.marginLeft)+parseFloat(w.marginRight)||0,y=Math.abs(a.clientWidth-g.clientWidth-c);y<=qn&&(o-=y)}else h<=qn&&(o+=h);return{width:o,height:s,x:l,y:u}}const as=new Set(["absolute","fixed"]);function ns(e,t){const n=Ut(e,!0,t==="fixed"),a=n.top+e.clientTop,r=n.left+e.clientLeft,o=Dt(e)?ra(e):kt(1),s=e.clientWidth*o.x,l=e.clientHeight*o.y,u=r*o.x,h=a*o.y;return{width:s,height:l,x:u,y:h}}function Un(e,t,n){let a;if(t==="viewport")a=ts(e,n);else if(t==="document")a=es(Mt(e));else if(pt(t))a=ns(t,n);else{const r=hr(e);a={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return ja(a)}function gr(e,t){const n=$t(e);return n===t||!pt(n)||ia(n)?!1:ht(n).position==="fixed"||gr(n,t)}function rs(e,t){const n=t.get(e);if(n)return n;let a=xa(e,[],!1).filter(l=>pt(l)&&zt(l)!=="body"),r=null;const o=ht(e).position==="fixed";let s=o?$t(e):e;for(;pt(s)&&!ia(s);){const l=ht(s),u=Tn(s);!u&&l.position==="fixed"&&(r=null),(o?!u&&!r:!u&&l.position==="static"&&!!r&&as.has(r.position)||Aa(s)&&!u&&gr(e,s))?a=a.filter(p=>p!==s):r=l,s=$t(s)}return t.set(e,a),a}function os(e){let{element:t,boundary:n,rootBoundary:a,strategy:r}=e;const s=[...n==="clippingAncestors"?Qa(t)?[]:rs(t,this._c):[].concat(n),a],l=s[0],u=s.reduce((h,p)=>{const g=Un(t,p,r);return h.top=It(g.top,h.top),h.right=la(g.right,h.right),h.bottom=la(g.bottom,h.bottom),h.left=It(g.left,h.left),h},Un(t,l,r));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function ss(e){const{width:t,height:n}=pr(e);return{width:t,height:n}}function ls(e,t,n){const a=Dt(t),r=Mt(t),o=n==="fixed",s=Ut(e,!0,o,t);let l={scrollLeft:0,scrollTop:0};const u=kt(0);function h(){u.x=Za(r)}if(a||!a&&!o)if((zt(t)!=="body"||Aa(r))&&(l=Ga(t)),a){const c=Ut(t,!0,o,t);u.x=c.x+t.clientLeft,u.y=c.y+t.clientTop}else r&&h();o&&!a&&r&&h();const p=r&&!a&&!o?yr(r,l):kt(0),g=s.left+l.scrollLeft-u.x-p.x,w=s.top+l.scrollTop-u.y-p.y;return{x:g,y:w,width:s.width,height:s.height}}function mn(e){return ht(e).position==="static"}function jn(e,t){if(!Dt(e)||ht(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Mt(e)===n&&(n=n.ownerDocument.body),n}function wr(e,t){const n=at(e);if(Qa(e))return n;if(!Dt(e)){let r=$t(e);for(;r&&!ia(r);){if(pt(r)&&!mn(r))return r;r=$t(r)}return n}let a=jn(e,t);for(;a&&Ho(a)&&mn(a);)a=jn(a,t);return a&&ia(a)&&mn(a)&&!Tn(a)?n:a||Ko(e)||n}const is=async function(e){const t=this.getOffsetParent||wr,n=this.getDimensions,a=await n(e.floating);return{reference:ls(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}};function us(e){return ht(e).direction==="rtl"}const cs={convertOffsetParentRelativeRectToViewportRelativeRect:Zo,getDocumentElement:Mt,getClippingRect:os,getOffsetParent:wr,getElementRects:is,getClientRects:Jo,getDimensions:ss,getScale:ra,isElement:pt,isRTL:us};function br(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ds(e,t){let n=null,a;const r=Mt(e);function o(){var l;clearTimeout(a),(l=n)==null||l.disconnect(),n=null}function s(l,u){l===void 0&&(l=!1),u===void 0&&(u=1),o();const h=e.getBoundingClientRect(),{left:p,top:g,width:w,height:c}=h;if(l||t(),!w||!c)return;const y=Va(g),b=Va(r.clientWidth-(p+w)),_=Va(r.clientHeight-(g+c)),d=Va(p),v={rootMargin:-y+"px "+-b+"px "+-_+"px "+-d+"px",threshold:It(0,la(1,u))||1};let M=!0;function O(E){const P=E[0].intersectionRatio;if(P!==u){if(!M)return s();P?s(!1,P):a=setTimeout(()=>{s(!1,1e-7)},1e3)}P===1&&!br(h,e.getBoundingClientRect())&&s(),M=!1}try{n=new IntersectionObserver(O,{...v,root:r.ownerDocument})}catch{n=new IntersectionObserver(O,v)}n.observe(e)}return s(!0),o}function fs(e,t,n,a){a===void 0&&(a={});const{ancestorScroll:r=!0,ancestorResize:o=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:u=!1}=a,h=Cn(e),p=r||o?[...h?xa(h):[],...xa(t)]:[];p.forEach(d=>{r&&d.addEventListener("scroll",n,{passive:!0}),o&&d.addEventListener("resize",n)});const g=h&&l?ds(h,n):null;let w=-1,c=null;s&&(c=new ResizeObserver(d=>{let[m]=d;m&&m.target===h&&c&&(c.unobserve(t),cancelAnimationFrame(w),w=requestAnimationFrame(()=>{var v;(v=c)==null||v.observe(t)})),n()}),h&&!u&&c.observe(h),c.observe(t));let y,b=u?Ut(e):null;u&&_();function _(){const d=Ut(e);b&&!br(b,d)&&n(),b=d,y=requestAnimationFrame(_)}return n(),()=>{var d;p.forEach(m=>{r&&m.removeEventListener("scroll",n),o&&m.removeEventListener("resize",n)}),g?.(),(d=c)==null||d.disconnect(),c=null,u&&cancelAnimationFrame(y)}}const ms=Vo,vs=Lo,ps=Bo,hs=Eo,ys=(e,t,n)=>{const a=new Map,r={platform:cs,...n},o={...r.platform,_c:a};return $o(e,t,{...r,platform:o})};function gs(e){return e!=null&&typeof e=="object"&&"$el"in e}function wn(e){if(gs(e)){const t=e.$el;return An(t)&&zt(t)==="#comment"?null:t}return e}function ea(e){return typeof e=="function"?e():i(e)}function ws(e){return{name:"arrow",options:e,fn(t){const n=wn(ea(e.element));return n==null?{}:hs({element:n,padding:e.padding}).fn(t)}}}function kr(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function zn(e,t){const n=kr(e);return Math.round(t*n)/n}function bs(e,t,n){n===void 0&&(n={});const a=n.whileElementsMounted,r=V(()=>{var P;return(P=ea(n.open))!=null?P:!0}),o=V(()=>ea(n.middleware)),s=V(()=>{var P;return(P=ea(n.placement))!=null?P:"bottom"}),l=V(()=>{var P;return(P=ea(n.strategy))!=null?P:"absolute"}),u=V(()=>{var P;return(P=ea(n.transform))!=null?P:!0}),h=V(()=>wn(e.value)),p=V(()=>wn(t.value)),g=ie(0),w=ie(0),c=ie(l.value),y=ie(s.value),b=fo({}),_=ie(!1),d=V(()=>{const P={position:c.value,left:"0",top:"0"};if(!p.value)return P;const Y=zn(p.value,g.value),N=zn(p.value,w.value);return u.value?{...P,transform:"translate("+Y+"px, "+N+"px)",...kr(p.value)>=1.5&&{willChange:"transform"}}:{position:c.value,left:Y+"px",top:N+"px"}});let m;function v(){if(h.value==null||p.value==null)return;const P=r.value;ys(h.value,p.value,{middleware:o.value,placement:s.value,strategy:l.value}).then(Y=>{g.value=Y.x,w.value=Y.y,c.value=Y.strategy,y.value=Y.placement,b.value=Y.middlewareData,_.value=P!==!1})}function M(){typeof m=="function"&&(m(),m=void 0)}function O(){if(M(),a===void 0){v();return}if(h.value!=null&&p.value!=null){m=a(h.value,p.value,v);return}}function E(){r.value||(_.value=!1)}return Je([o,s,l,r],v,{flush:"sync"}),Je([h,p],O,{flush:"sync"}),Je(r,E,{flush:"sync"}),mo()&&vo(M),{x:Gt(g),y:Gt(w),strategy:Gt(c),placement:Gt(y),middlewareData:Gt(b),isPositioned:Gt(_),floatingStyles:d,update:v}}const _r=6048e5,ks=864e5,_s=6e4,Ds=36e5,xs=1e3,Kn=Symbol.for("constructDateFrom");function Ye(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Kn in e?e[Kn](t):e instanceof Date?new e.constructor(t):new Date(t)}function ve(e,t){return Ye(t||e,e)}function rt(e,t,n){const a=ve(e,n?.in);return isNaN(t)?Ye(n?.in||e,NaN):(t&&a.setDate(a.getDate()+t),a)}function ft(e,t,n){const a=ve(e,n?.in);if(isNaN(t))return Ye(e,NaN);if(!t)return a;const r=a.getDate(),o=Ye(e,a.getTime());o.setMonth(a.getMonth()+t+1,0);const s=o.getDate();return r>=s?o:(a.setFullYear(o.getFullYear(),o.getMonth(),r),a)}function Dr(e,t,n){const{years:a=0,months:r=0,weeks:o=0,days:s=0,hours:l=0,minutes:u=0,seconds:h=0}=t,p=ve(e,n?.in),g=r||a?ft(p,r+a*12):p,w=s||o?rt(g,s+o*7):g,c=u+l*60,b=(h+c*60)*1e3;return Ye(e,+w+b)}let Ms={};function Kt(){return Ms}function ot(e,t){const n=Kt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=ve(e,t?.in),o=r.getDay(),s=(o=o.getTime()?a+1:n.getTime()>=l.getTime()?a:a-1}function za(e){const t=ve(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Ta(e,...t){const n=Ye.bind(null,t.find(a=>typeof a=="object"));return t.map(n)}function Xn(e,t){const n=ve(e,t?.in);return n.setHours(0,0,0,0),n}function Mr(e,t,n){const[a,r]=Ta(n?.in,e,t),o=Xn(a),s=Xn(r),l=+o-za(o),u=+s-za(s);return Math.round((l-u)/ks)}function Ps(e,t){const n=xr(e,t),a=Ye(e,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),ua(a)}function As(e,t,n){return ft(e,t*3,n)}function Sn(e,t,n){return ft(e,t*12,n)}function Qn(e,t){const n=+ve(e)-+ve(t);return n<0?-1:n>0?1:n}function Pr(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function _a(e){return!(!Pr(e)&&typeof e!="number"||isNaN(+ve(e)))}function Gn(e,t){const n=ve(e,t?.in);return Math.trunc(n.getMonth()/3)+1}function Ts(e,t,n){const[a,r]=Ta(n?.in,e,t);return a.getFullYear()-r.getFullYear()}function Os(e){return t=>{const a=(e?Math[e]:Math.trunc)(t);return a===0?0:a}}function Cs(e,t,n){const[a,r]=Ta(n?.in,e,t),o=Qn(a,r),s=Math.abs(Ts(a,r));a.setFullYear(1584),r.setFullYear(1584);const l=Qn(a,r)===-o,u=o*(s-+l);return u===0?0:u}function Ar(e,t){const[n,a]=Ta(e,t.start,t.end);return{start:n,end:a}}function Yn(e,t){const{start:n,end:a}=Ar(t?.in,e);let r=+n>+a;const o=r?+n:+a,s=r?a:n;s.setHours(0,0,0,0);let l=1;const u=[];for(;+s<=o;)u.push(Ye(n,s)),s.setDate(s.getDate()+l),s.setHours(0,0,0,0);return r?u.reverse():u}function Lt(e,t){const n=ve(e,t?.in),a=n.getMonth(),r=a-a%3;return n.setMonth(r,1),n.setHours(0,0,0,0),n}function Ss(e,t){const{start:n,end:a}=Ar(t?.in,e);let r=+n>+a;const o=r?+Lt(n):+Lt(a);let s=Lt(r?a:n),l=1;const u=[];for(;+s<=o;)u.push(Ye(n,s)),s=As(s,l);return r?u.reverse():u}function Ys(e,t){const n=ve(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Tr(e,t){const n=ve(e,t?.in),a=n.getFullYear();return n.setFullYear(a+1,0,0),n.setHours(23,59,59,999),n}function oa(e,t){const n=ve(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Rn(e,t){const n=Kt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=ve(e,t?.in),o=r.getDay(),s=(o{let a;const r=Rs[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function vn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Es={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Bs={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Ns={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Fs={date:vn({formats:Es,defaultWidth:"full"}),time:vn({formats:Bs,defaultWidth:"full"}),dateTime:vn({formats:Ns,defaultWidth:"full"})},Vs={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Ls=(e,t,n,a)=>Vs[e];function ya(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,l=n?.width?String(n.width):s;r=e.formattingValues[l]||e.formattingValues[s]}else{const s=e.defaultWidth,l=n?.width?String(n.width):e.defaultWidth;r=e.values[l]||e.values[s]}const o=e.argumentCallback?e.argumentCallback(t):t;return r[o]}}const Ws={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Is={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Hs={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},qs={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Us={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},js={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},zs=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Ks={ordinalNumber:zs,era:ya({values:Ws,defaultWidth:"wide"}),quarter:ya({values:Is,defaultWidth:"wide",argumentCallback:e=>e-1}),month:ya({values:Hs,defaultWidth:"wide"}),day:ya({values:qs,defaultWidth:"wide"}),dayPeriod:ya({values:Us,defaultWidth:"wide",formattingValues:js,defaultFormattingWidth:"wide"})};function ga(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=t.match(r);if(!o)return null;const s=o[0],l=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(l)?Qs(l,g=>g.test(s)):Xs(l,g=>g.test(s));let h;h=e.valueCallback?e.valueCallback(u):u,h=n.valueCallback?n.valueCallback(h):h;const p=t.slice(s.length);return{value:h,rest:p}}}function Xs(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Qs(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const l=t.slice(r.length);return{value:s,rest:l}}}const Zs=/^(\d+)(th|st|nd|rd)?/i,Js=/\d+/i,el={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},tl={any:[/^b/i,/^(a|c)/i]},al={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},nl={any:[/1/i,/2/i,/3/i,/4/i]},rl={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ol={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},sl={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},ll={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},il={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},ul={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},cl={ordinalNumber:Gs({matchPattern:Zs,parsePattern:Js,valueCallback:e=>parseInt(e,10)}),era:ga({matchPatterns:el,defaultMatchWidth:"wide",parsePatterns:tl,defaultParseWidth:"any"}),quarter:ga({matchPatterns:al,defaultMatchWidth:"wide",parsePatterns:nl,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ga({matchPatterns:rl,defaultMatchWidth:"wide",parsePatterns:ol,defaultParseWidth:"any"}),day:ga({matchPatterns:sl,defaultMatchWidth:"wide",parsePatterns:ll,defaultParseWidth:"any"}),dayPeriod:ga({matchPatterns:il,defaultMatchWidth:"any",parsePatterns:ul,defaultParseWidth:"any"})},Or={code:"en-US",formatDistance:$s,formatLong:Fs,formatRelative:Ls,localize:Ks,match:cl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function dl(e,t){const n=ve(e,t?.in);return Mr(n,oa(n))+1}function $n(e,t){const n=ve(e,t?.in),a=+ua(n)-+Ps(n);return Math.round(a/_r)+1}function En(e,t){const n=ve(e,t?.in),a=n.getFullYear(),r=Kt(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=Ye(t?.in||e,0);s.setFullYear(a+1,0,o),s.setHours(0,0,0,0);const l=ot(s,t),u=Ye(t?.in||e,0);u.setFullYear(a,0,o),u.setHours(0,0,0,0);const h=ot(u,t);return+n>=+l?a+1:+n>=+h?a:a-1}function fl(e,t){const n=Kt(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=En(e,t),o=Ye(t?.in||e,0);return o.setFullYear(r,0,a),o.setHours(0,0,0,0),ot(o,t)}function Bn(e,t){const n=ve(e,t?.in),a=+ot(n,t)-+fl(n,t);return Math.round(a/_r)+1}function Ce(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const St={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return Ce(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Ce(n+1,2)},d(e,t){return Ce(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Ce(e.getHours()%12||12,t.length)},H(e,t){return Ce(e.getHours(),t.length)},m(e,t){return Ce(e.getMinutes(),t.length)},s(e,t){return Ce(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return Ce(r,t.length)}},Zt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Jn={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});case"GGGG":default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return St.y(e,t)},Y:function(e,t,n,a){const r=En(e,a),o=r>0?r:1-r;if(t==="YY"){const s=o%100;return Ce(s,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):Ce(o,t.length)},R:function(e,t){const n=xr(e);return Ce(n,t.length)},u:function(e,t){const n=e.getFullYear();return Ce(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return Ce(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return Ce(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return St.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return Ce(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=Bn(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):Ce(r,t.length)},I:function(e,t,n){const a=$n(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):Ce(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):St.d(e,t)},D:function(e,t,n){const a=dl(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):Ce(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});case"EEEE":default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Ce(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});case"eeee":default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Ce(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});case"cccc":default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return Ce(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});case"iiii":default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=Zt.noon:a===0?r=Zt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=Zt.evening:a>=12?r=Zt.afternoon:a>=4?r=Zt.morning:r=Zt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return St.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):St.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):Ce(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):Ce(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):St.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):St.s(e,t)},S:function(e,t){return St.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return tr(a);case"XXXX":case"XX":return Vt(a);case"XXXXX":case"XXX":default:return Vt(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return tr(a);case"xxxx":case"xx":return Vt(a);case"xxxxx":case"xxx":default:return Vt(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+er(a,":");case"OOOO":default:return"GMT"+Vt(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+er(a,":");case"zzzz":default:return"GMT"+Vt(a,":")}},t:function(e,t,n){const a=Math.trunc(+e/1e3);return Ce(a,t.length)},T:function(e,t,n){return Ce(+e,t.length)}};function er(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),o=a%60;return o===0?n+String(r):n+String(r)+t+Ce(o,2)}function tr(e,t){return e%60===0?(e>0?"-":"+")+Ce(Math.abs(e)/60,2):Vt(e,t)}function Vt(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Ce(Math.trunc(a/60),2),o=Ce(a%60,2);return n+r+t+o}const ar=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},Cr=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},ml=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return ar(e,t);let o;switch(a){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",ar(a,t)).replace("{{time}}",Cr(r,t))},bn={p:Cr,P:ml},vl=/^D+$/,pl=/^Y+$/,hl=["D","DD","YY","YYYY"];function Sr(e){return vl.test(e)}function Yr(e){return pl.test(e)}function kn(e,t,n){const a=yl(e,t,n);if(console.warn(a),hl.includes(e))throw new RangeError(a)}function yl(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const gl=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,wl=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,bl=/^'([^]*?)'?$/,kl=/''/g,_l=/[a-zA-Z]/;function nt(e,t,n){const a=Kt(),r=n?.locale??a.locale??Or,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,l=ve(e,n?.in);if(!_a(l))throw new RangeError("Invalid time value");let u=t.match(wl).map(p=>{const g=p[0];if(g==="p"||g==="P"){const w=bn[g];return w(p,r.formatLong)}return p}).join("").match(gl).map(p=>{if(p==="''")return{isToken:!1,value:"'"};const g=p[0];if(g==="'")return{isToken:!1,value:Dl(p)};if(Jn[g])return{isToken:!0,value:p};if(g.match(_l))throw new RangeError("Format string contains an unescaped latin alphabet character `"+g+"`");return{isToken:!1,value:p}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const h={firstWeekContainsDate:o,weekStartsOn:s,locale:r};return u.map(p=>{if(!p.isToken)return p.value;const g=p.value;(!n?.useAdditionalWeekYearTokens&&Yr(g)||!n?.useAdditionalDayOfYearTokens&&Sr(g))&&kn(g,t,String(e));const w=Jn[g[0]];return w(l,g,r.localize,h)}).join("")}function Dl(e){const t=e.match(bl);return t?t[1].replace(kl,"'"):e}function xl(e,t){return ve(e,t?.in).getDay()}function Ml(e,t){const n=ve(e,t?.in),a=n.getFullYear(),r=n.getMonth(),o=Ye(n,0);return o.setFullYear(a,r+1,0),o.setHours(0,0,0,0),o.getDate()}function Pl(){return Object.assign({},Kt())}function xt(e,t){return ve(e,t?.in).getHours()}function Al(e,t){const n=ve(e,t?.in).getDay();return n===0?7:n}function Tt(e,t){return ve(e,t?.in).getMinutes()}function Ae(e,t){return ve(e,t?.in).getMonth()}function Et(e){return ve(e).getSeconds()}function he(e,t){return ve(e,t?.in).getFullYear()}function wt(e,t){return+ve(e)>+ve(t)}function Pt(e,t){return+ve(e)<+ve(t)}function ta(e,t){return+ve(e)==+ve(t)}function Tl(e,t){const n=Ol(t)?new t(0):Ye(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function Ol(e){return typeof e=="function"&&e.prototype?.constructor===e}const Cl=10;class Rr{subPriority=0;validate(t,n){return!0}}class Sl extends Rr{constructor(t,n,a,r,o){super(),this.value=t,this.validateValue=n,this.setValue=a,this.priority=r,o&&(this.subPriority=o)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,a){return this.setValue(t,n,this.value,a)}}class Yl extends Rr{priority=Cl;subPriority=-1;constructor(t,n){super(),this.context=t||(a=>Ye(n,a))}set(t,n){return n.timestampIsSet?t:Ye(t,Tl(t,this.context))}}class Oe{run(t,n,a,r){const o=this.parse(t,n,a,r);return o?{setter:new Sl(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(t,n,a){return!0}}class Rl extends Oe{priority=140;parse(t,n,a){switch(n){case"G":case"GG":case"GGG":return a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"});case"GGGGG":return a.era(t,{width:"narrow"});case"GGGG":default:return a.era(t,{width:"wide"})||a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"})}}set(t,n,a){return n.era=a,t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const Le={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},yt={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function We(e,t){return e&&{value:t(e.value),rest:e.rest}}function Ne(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function gt(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const a=n[1]==="+"?1:-1,r=n[2]?parseInt(n[2],10):0,o=n[3]?parseInt(n[3],10):0,s=n[5]?parseInt(n[5],10):0;return{value:a*(r*Ds+o*_s+s*xs),rest:t.slice(n[0].length)}}function $r(e){return Ne(Le.anyDigitsSigned,e)}function Ve(e,t){switch(e){case 1:return Ne(Le.singleDigit,t);case 2:return Ne(Le.twoDigits,t);case 3:return Ne(Le.threeDigits,t);case 4:return Ne(Le.fourDigits,t);default:return Ne(new RegExp("^\\d{1,"+e+"}"),t)}}function Ka(e,t){switch(e){case 1:return Ne(Le.singleDigitSigned,t);case 2:return Ne(Le.twoDigitsSigned,t);case 3:return Ne(Le.threeDigitsSigned,t);case 4:return Ne(Le.fourDigitsSigned,t);default:return Ne(new RegExp("^-?\\d{1,"+e+"}"),t)}}function Nn(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function Er(e,t){const n=t>0,a=n?t:1-t;let r;if(a<=50)r=e||100;else{const o=a+50,s=Math.trunc(o/100)*100,l=e>=o%100;r=e+s-(l?100:0)}return n?r:1-r}function Br(e){return e%400===0||e%4===0&&e%100!==0}class $l extends Oe{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="yy"});switch(n){case"y":return We(Ve(4,t),r);case"yo":return We(a.ordinalNumber(t,{unit:"year"}),r);default:return We(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a){const r=t.getFullYear();if(a.isTwoDigitYear){const s=Er(a.year,r);return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}const o=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(o,0,1),t.setHours(0,0,0,0),t}}class El extends Oe{priority=130;parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="YY"});switch(n){case"Y":return We(Ve(4,t),r);case"Yo":return We(a.ordinalNumber(t,{unit:"year"}),r);default:return We(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a,r){const o=En(t,r);if(a.isTwoDigitYear){const l=Er(a.year,o);return t.setFullYear(l,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ot(t,r)}const s=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(s,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ot(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class Bl extends Oe{priority=130;parse(t,n){return Ka(n==="R"?4:n.length,t)}set(t,n,a){const r=Ye(t,0);return r.setFullYear(a,0,4),r.setHours(0,0,0,0),ua(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class Nl extends Oe{priority=130;parse(t,n){return Ka(n==="u"?4:n.length,t)}set(t,n,a){return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class Fl extends Oe{priority=120;parse(t,n,a){switch(n){case"Q":case"QQ":return Ve(n.length,t);case"Qo":return a.ordinalNumber(t,{unit:"quarter"});case"QQQ":return a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQ":default:return a.quarter(t,{width:"wide",context:"formatting"})||a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class Vl extends Oe{priority=120;parse(t,n,a){switch(n){case"q":case"qq":return Ve(n.length,t);case"qo":return a.ordinalNumber(t,{unit:"quarter"});case"qqq":return a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return a.quarter(t,{width:"narrow",context:"standalone"});case"qqqq":default:return a.quarter(t,{width:"wide",context:"standalone"})||a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class Ll extends Oe{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"M":return We(Ne(Le.month,t),r);case"MM":return We(Ve(2,t),r);case"Mo":return We(a.ordinalNumber(t,{unit:"month"}),r);case"MMM":return a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return a.month(t,{width:"narrow",context:"formatting"});case"MMMM":default:return a.month(t,{width:"wide",context:"formatting"})||a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}}class Wl extends Oe{priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"L":return We(Ne(Le.month,t),r);case"LL":return We(Ve(2,t),r);case"Lo":return We(a.ordinalNumber(t,{unit:"month"}),r);case"LLL":return a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return a.month(t,{width:"narrow",context:"standalone"});case"LLLL":default:return a.month(t,{width:"wide",context:"standalone"})||a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function Il(e,t,n){const a=ve(e,n?.in),r=Bn(a,n)-t;return a.setDate(a.getDate()-r*7),ve(a,n?.in)}class Hl extends Oe{priority=100;parse(t,n,a){switch(n){case"w":return Ne(Le.week,t);case"wo":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a,r){return ot(Il(t,a,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function ql(e,t,n){const a=ve(e,n?.in),r=$n(a,n)-t;return a.setDate(a.getDate()-r*7),a}class Ul extends Oe{priority=100;parse(t,n,a){switch(n){case"I":return Ne(Le.week,t);case"Io":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a){return ua(ql(t,a))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const jl=[31,28,31,30,31,30,31,31,30,31,30,31],zl=[31,29,31,30,31,30,31,31,30,31,30,31];class Kl extends Oe{priority=90;subPriority=1;parse(t,n,a){switch(n){case"d":return Ne(Le.date,t);case"do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear(),r=Br(a),o=t.getMonth();return r?n>=1&&n<=zl[o]:n>=1&&n<=jl[o]}set(t,n,a){return t.setDate(a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class Xl extends Oe{priority=90;subpriority=1;parse(t,n,a){switch(n){case"D":case"DD":return Ne(Le.dayOfYear,t);case"Do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear();return Br(a)?n>=1&&n<=366:n>=1&&n<=365}set(t,n,a){return t.setMonth(0,a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function Fn(e,t,n){const a=Kt(),r=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,o=ve(e,n?.in),s=o.getDay(),u=(t%7+7)%7,h=7-r,p=t<0||t>6?t-(s+h)%7:(u+h)%7-(s+h)%7;return rt(o,p,n)}class Ql extends Oe{priority=90;parse(t,n,a){switch(n){case"E":case"EE":case"EEE":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return a.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEE":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class Gl extends Oe{priority=90;parse(t,n,a,r){const o=s=>{const l=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+l};switch(n){case"e":case"ee":return We(Ve(n.length,t),o);case"eo":return We(a.ordinalNumber(t,{unit:"day"}),o);case"eee":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeeee":return a.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeee":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class Zl extends Oe{priority=90;parse(t,n,a,r){const o=s=>{const l=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+l};switch(n){case"c":case"cc":return We(Ve(n.length,t),o);case"co":return We(a.ordinalNumber(t,{unit:"day"}),o);case"ccc":return a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"ccccc":return a.day(t,{width:"narrow",context:"standalone"});case"cccccc":return a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"cccc":default:return a.day(t,{width:"wide",context:"standalone"})||a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function Jl(e,t,n){const a=ve(e,n?.in),r=Al(a,n),o=t-r;return rt(a,o,n)}class ei extends Oe{priority=90;parse(t,n,a){const r=o=>o===0?7:o;switch(n){case"i":case"ii":return Ve(n.length,t);case"io":return a.ordinalNumber(t,{unit:"day"});case"iii":return We(a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return We(a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return We(a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiii":default:return We(a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,n){return n>=1&&n<=7}set(t,n,a){return t=Jl(t,a),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class ti extends Oe{priority=80;parse(t,n,a){switch(n){case"a":case"aa":case"aaa":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaa":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class ai extends Oe{priority=80;parse(t,n,a){switch(n){case"b":case"bb":case"bbb":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbb":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class ni extends Oe{priority=80;parse(t,n,a){switch(n){case"B":case"BB":case"BBB":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBB":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class ri extends Oe{priority=70;parse(t,n,a){switch(n){case"h":return Ne(Le.hour12h,t);case"ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=12}set(t,n,a){const r=t.getHours()>=12;return r&&a<12?t.setHours(a+12,0,0,0):!r&&a===12?t.setHours(0,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class oi extends Oe{priority=70;parse(t,n,a){switch(n){case"H":return Ne(Le.hour23h,t);case"Ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=23}set(t,n,a){return t.setHours(a,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class si extends Oe{priority=70;parse(t,n,a){switch(n){case"K":return Ne(Le.hour11h,t);case"Ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.getHours()>=12&&a<12?t.setHours(a+12,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class li extends Oe{priority=70;parse(t,n,a){switch(n){case"k":return Ne(Le.hour24h,t);case"ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=24}set(t,n,a){const r=a<=24?a%24:a;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class ii extends Oe{priority=60;parse(t,n,a){switch(n){case"m":return Ne(Le.minute,t);case"mo":return a.ordinalNumber(t,{unit:"minute"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setMinutes(a,0,0),t}incompatibleTokens=["t","T"]}class ui extends Oe{priority=50;parse(t,n,a){switch(n){case"s":return Ne(Le.second,t);case"so":return a.ordinalNumber(t,{unit:"second"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setSeconds(a,0),t}incompatibleTokens=["t","T"]}class ci extends Oe{priority=30;parse(t,n){const a=r=>Math.trunc(r*Math.pow(10,-n.length+3));return We(Ve(n.length,t),a)}set(t,n,a){return t.setMilliseconds(a),t}incompatibleTokens=["t","T"]}class di extends Oe{priority=10;parse(t,n){switch(n){case"X":return gt(yt.basicOptionalMinutes,t);case"XX":return gt(yt.basic,t);case"XXXX":return gt(yt.basicOptionalSeconds,t);case"XXXXX":return gt(yt.extendedOptionalSeconds,t);case"XXX":default:return gt(yt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Ye(t,t.getTime()-za(t)-a)}incompatibleTokens=["t","T","x"]}class fi extends Oe{priority=10;parse(t,n){switch(n){case"x":return gt(yt.basicOptionalMinutes,t);case"xx":return gt(yt.basic,t);case"xxxx":return gt(yt.basicOptionalSeconds,t);case"xxxxx":return gt(yt.extendedOptionalSeconds,t);case"xxx":default:return gt(yt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Ye(t,t.getTime()-za(t)-a)}incompatibleTokens=["t","T","X"]}class mi extends Oe{priority=40;parse(t){return $r(t)}set(t,n,a){return[Ye(t,a*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class vi extends Oe{priority=20;parse(t){return $r(t)}set(t,n,a){return[Ye(t,a),{timestampIsSet:!0}]}incompatibleTokens="*"}const pi={G:new Rl,y:new $l,Y:new El,R:new Bl,u:new Nl,Q:new Fl,q:new Vl,M:new Ll,L:new Wl,w:new Hl,I:new Ul,d:new Kl,D:new Xl,E:new Ql,e:new Gl,c:new Zl,i:new ei,a:new ti,b:new ai,B:new ni,h:new ri,H:new oi,K:new si,k:new li,m:new ii,s:new ui,S:new ci,X:new di,x:new fi,t:new mi,T:new vi},hi=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,yi=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,gi=/^'([^]*?)'?$/,wi=/''/g,bi=/\S/,ki=/[a-zA-Z]/;function _n(e,t,n,a){const r=()=>Ye(a?.in||n,NaN),o=Pl(),s=a?.locale??o.locale??Or,l=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,u=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(!t)return e?r():ve(n,a?.in);const h={firstWeekContainsDate:l,weekStartsOn:u,locale:s},p=[new Yl(a?.in,n)],g=t.match(yi).map(_=>{const d=_[0];if(d in bn){const m=bn[d];return m(_,s.formatLong)}return _}).join("").match(hi),w=[];for(let _ of g){!a?.useAdditionalWeekYearTokens&&Yr(_)&&kn(_,t,e),!a?.useAdditionalDayOfYearTokens&&Sr(_)&&kn(_,t,e);const d=_[0],m=pi[d];if(m){const{incompatibleTokens:v}=m;if(Array.isArray(v)){const O=w.find(E=>v.includes(E.token)||E.token===d);if(O)throw new RangeError(`The format string mustn't contain \`${O.fullToken}\` and \`${_}\` at the same time`)}else if(m.incompatibleTokens==="*"&&w.length>0)throw new RangeError(`The format string mustn't contain \`${_}\` and any other token at the same time`);w.push({token:d,fullToken:_});const M=m.run(e,_,s.match,h);if(!M)return r();p.push(M.setter),e=M.rest}else{if(d.match(ki))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");if(_==="''"?_="'":d==="'"&&(_=_i(_)),e.indexOf(_)===0)e=e.slice(_.length);else return r()}}if(e.length>0&&bi.test(e))return r();const c=p.map(_=>_.priority).sort((_,d)=>d-_).filter((_,d,m)=>m.indexOf(_)===d).map(_=>p.filter(d=>d.priority===_).sort((d,m)=>m.subPriority-d.subPriority)).map(_=>_[0]);let y=ve(n,a?.in);if(isNaN(+y))return r();const b={};for(const _ of c){if(!_.validate(y,h))return r();const d=_.set(y,b,h);Array.isArray(d)?(y=d[0],Object.assign(b,d[1])):y=d}return y}function _i(e){return e.match(gi)[1].replace(wi,"'")}function nr(e,t,n){const[a,r]=Ta(n?.in,e,t);return+Lt(a)==+Lt(r)}function Nr(e,t,n){return rt(e,-t,n)}function Di(e,t){const n=t?.nearestTo??1;if(n<1||n>30)return Ye(e,NaN);const a=ve(e,t?.in),r=a.getSeconds()/60,o=a.getMilliseconds()/1e3/60,s=a.getMinutes()+r+o,l=t?.roundingMethod??"round",h=Os(l)(s/n)*n;return a.setMinutes(h,0,0),a}function Fr(e,t,n){const a=ve(e,n?.in),r=a.getFullYear(),o=a.getDate(),s=Ye(e,0);s.setFullYear(r,t,15),s.setHours(0,0,0,0);const l=Ml(s);return a.setMonth(t,Math.min(o,l)),a}function xe(e,t,n){let a=ve(e,n?.in);return isNaN(+a)?Ye(e,NaN):(t.year!=null&&a.setFullYear(t.year),t.month!=null&&(a=Fr(a,t.month)),t.date!=null&&a.setDate(t.date),t.hours!=null&&a.setHours(t.hours),t.minutes!=null&&a.setMinutes(t.minutes),t.seconds!=null&&a.setSeconds(t.seconds),t.milliseconds!=null&&a.setMilliseconds(t.milliseconds),a)}function xi(e,t,n){const a=ve(e,n?.in);return a.setMilliseconds(t),a}function Mi(e,t,n){const a=ve(e,n?.in);return a.setSeconds(t),a}function ct(e,t,n){const a=ve(e,n?.in);return isNaN(+a)?Ye(e,NaN):(a.setFullYear(t),a)}function ca(e,t,n){return ft(e,-t,n)}function Pi(e,t,n){const{years:a=0,months:r=0,weeks:o=0,days:s=0,hours:l=0,minutes:u=0,seconds:h=0}=t,p=ca(e,r+a*12,n),g=Nr(p,s+o*7,n),w=u+l*60,y=(h+w*60)*1e3;return Ye(e,+g-y)}function Vr(e,t,n){return Sn(e,-t,n)}function Ai(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const Ti={},ka={};function Wt(e,t){try{const a=(Ti[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return a in ka?ka[a]:rr(a,a.split(":"))}catch{if(e in ka)return ka[e];const n=e?.match(Oi);return n?rr(e,n.slice(1)):NaN}}const Oi=/([+-]\d\d):?(\d\d)?/;function rr(e,t){const n=+(t[0]||0),a=+(t[1]||0),r=+(t[2]||0)/60;return ka[e]=n*60+a>0?n*60+a+r:n*60-a-r}class bt extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Wt(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),Lr(this),Dn(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new bt(...n,t):new bt(Date.now(),t)}withTimeZone(t){return new bt(+this,t)}getTimezoneOffset(){const t=-Wt(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),Dn(this),+this}[Symbol.for("constructDateFrom")](t){return new bt(+new Date(t),this.timeZone)}}const or=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!or.test(e))return;const t=e.replace(or,"$1UTC");bt.prototype[t]&&(e.startsWith("get")?bt.prototype[e]=function(){return this.internal[t]()}:(bt.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Ci(this),+this},bt.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Dn(this),+this}))});function Dn(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Wt(e.timeZone,e)*60))}function Ci(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),Lr(e)}function Lr(e){const t=Wt(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),o=-new Date(+a).getTimezoneOffset(),s=r-o,l=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();s&&l&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+s);const u=r-n;u&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+u);const h=new Date(+e);h.setUTCSeconds(0);const p=r>0?h.getSeconds():(h.getSeconds()-60)%60,g=Math.round(-(Wt(e.timeZone,e)*60))%60;(g||p)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+g),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+g+p));const w=Wt(e.timeZone,e),c=w>0?Math.floor(w):Math.ceil(w),b=-new Date(+e).getTimezoneOffset()-c,_=c!==n,d=b-u;if(_&&d){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+d);const m=Wt(e.timeZone,e),v=m>0?Math.floor(m):Math.ceil(m),M=c-v;M&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+M),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+M))}}class aa extends bt{static tz(t,...n){return n.length?new aa(...n,t):new aa(Date.now(),t)}toISOString(){const[t,n,a]=this.tzComponents(),r=`${t}${n}:${a}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,a,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${a} ${n} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,a,r]=this.tzComponents();return`${t} GMT${n}${a}${r} (${Ai(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",a=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[n,a,r]}withTimeZone(t){return new aa(+this,t)}[Symbol.for("constructDateFrom")](t){return new aa(+new Date(t),this.timeZone)}}function Oa(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z"}),Ie("path",{d:"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),Ie("path",{d:"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),Ie("path",{d:"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"})])}function Si(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"}),Ie("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}function Wr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}function Ir(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z"})])}function Hr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z"}),Ie("path",{d:"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"})])}function qr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}function Ur(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}const jr=Symbol("ContextKey"),Yi=(e,t)=>{const{setTimeModelValue:n}=qe(),a=Mu(e),r=ie(null),o=Ha({menuFocused:!1,shiftKeyInMenu:!1,isInputFocused:!1,isTextInputDate:!1,arrowNavigationLevel:0}),s=a.getDate(new Date),l=ie(""),u=ie([{month:Ae(s),year:he(s)}]),h=Ha({hours:0,minutes:0,seconds:0});n(h,null,s,a.range.value.enabled);const p=V({get:()=>r.value,set:b=>{r.value=b}}),g=V(()=>b=>u.value[b]?u.value[b].month:0),w=V(()=>b=>u.value[b]?u.value[b].year:0),c=(b,_)=>{o[b]=_},y=()=>{n(h,p.value,s,a.range.value.enabled)};po(jr,{rootProps:e,defaults:a,modelValue:p,state:ho(o),rootEmit:t,calendars:u,month:g,year:w,time:h,today:s,inputValue:l,setState:c,updateTime:y,getDate:a.getDate})},Pe=()=>{const e=go(jr);if(!e)throw new Error("Can't use context");return e};var it=(e=>(e.month="month",e.year="year",e))(it||{}),Ht=(e=>(e.header="header",e.calendar="calendar",e.timePicker="timePicker",e))(Ht||{}),Qe=(e=>(e.month="month",e.year="year",e.calendar="calendar",e.time="time",e.minutes="minutes",e.hours="hours",e.seconds="seconds",e))(Qe||{});const Ri=["timestamp","date","iso"];var ut=(e=>(e.up="up",e.down="down",e.left="left",e.right="right",e))(ut||{}),Re=(e=>(e.arrowUp="ArrowUp",e.arrowDown="ArrowDown",e.arrowLeft="ArrowLeft",e.arrowRight="ArrowRight",e.enter="Enter",e.space=" ",e.esc="Escape",e.tab="Tab",e.home="Home",e.end="End",e.pageUp="PageUp",e.pageDown="PageDown",e))(Re||{}),na=(e=>(e.MONTH_AND_YEAR="MM-yyyy",e.YEAR="yyyy",e.DATE="dd-MM-yyyy",e))(na||{}),zr=(e=>(e[e.Sunday=0]="Sunday",e[e.Monday=1]="Monday",e[e.Tuesday=2]="Tuesday",e[e.Wednesday=3]="Wednesday",e[e.Thursday=4]="Thursday",e[e.Friday=5]="Friday",e[e.Saturday=6]="Saturday",e))(zr||{});const $i=()=>{const{rootProps:e,state:t}=Pe(),n=V(()=>t.arrowNavigationLevel),a=ie(-1),r=ie(-1);Je(n,(m,v)=>{d(m===0&&v>0)});const o=ie([]),s=ie(new Map),l=()=>{const m=Array.from(document.querySelectorAll(`[data-dp-action-element="${n.value}"]`)),v=new Map,M=new Map;for(const O of m){const E=O.getBoundingClientRect(),P=E.top,Y=E.left;v.has(P)||v.set(P,[]),v.get(P).push(O),M.set(O,{row:P,col:Y})}o.value=Array.from(v.entries()).sort((O,E)=>O[0]-E[0]).map(([O,E])=>u(E,M)),s.value=M},u=(m,v)=>m.sort((M,O)=>{const E=v.get(M),P=v.get(O);return E.col-P.col}),h=(m,v)=>{n.value===0&&(a.value=m,r.value=v)},p=m=>{if(![Re.arrowUp,Re.arrowDown,Re.arrowLeft,Re.arrowRight].includes(m.key))return;l(),m.preventDefault();const v=document.activeElement;if(!v?.hasAttribute("data-dp-action-element"))return;let M=-1,O=-1;for(let E=0;E{if(v>0){const M=o.value[m][v-1];h(m,v-1),M&&M.focus()}},w=(m,v)=>{if(v{if(m>0){const M=o.value[m-1],O=Math.min(v,M.length-1),E=M[O];h(m-1,O),E&&E.focus()}},y=(m,v)=>{if(m{Ge().then(()=>{l();const m=o.value[a.value]?.[r.value];m&&_(m)})},_=m=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{m.focus({preventScroll:!0})})})},d=m=>{if(m)return b();const v=document.querySelector(`[data-dp-element-active="${n.value}"]`);if(v&&!m)_(v);else{const M=document.querySelector(`[data-dp-action-element="${n.value}"]`);M&&_(M)}};je(()=>{e.arrowNavigation&&(d(!1),document.addEventListener("keydown",p))}),jt(()=>{e.arrowNavigation&&document.removeEventListener("keydown",p)})},Ei=()=>{const{checkPartialRangeValue:e,checkRangeEnabled:t,isValidDate:n}=st(),{convertType:a,errorMapper:r}=qe(),{getDate:o,rootEmit:s,state:l,rootProps:u,inputValue:h,defaults:{textInput:p,range:g,multiDates:w,timeConfig:c,formats:y},modelValue:b,updateTime:_}=Pe(),{setTime:d,getWeekFromDate:m}=Xe(),{formatSelectedDate:v,formatForTextInput:M}=Nt();Je(b,(D,R)=>{s("internal-model-change",b.value),JSON.stringify(R??{})!==JSON.stringify(D??{})&&_()},{deep:!0}),Je(g,(D,R)=>{D.enabled!==R.enabled&&(b.value=null)}),Je(()=>y.value.input,()=>{fe()});const O=D=>D?u.modelType?ne(D):{hours:xt(D),minutes:Tt(D),seconds:c.value.enableSeconds?Et(D):0}:null,E=D=>u.modelType?ne(D):{month:Ae(D),year:he(D)},P=D=>Array.isArray(D)?w.value.enabled?D.map(R=>Y(R,ct(o(),R))):t(()=>[ct(o(),D[0]),D[1]?ct(o(),D[1]):e(g.value.partialRange)],g.value.enabled):ct(o(),+D),Y=(D,R)=>(typeof D=="string"||typeof D=="number")&&u.modelType?ge(D):R,N=D=>Array.isArray(D)?[Y(D[0],d(D[0])),Y(D[1],d(D[1]))]:Y(D,d(D)),W=D=>{const R=xe(o(),{date:1});return Array.isArray(D)?w.value.enabled?D.map(Q=>Y(Q,xe(R,{month:+Q.month,year:+Q.year}))):t(()=>[Y(D[0],xe(R,{month:+D[0].month,year:+D[0].year})),Y(D[1],D[1]?xe(R,{month:+D[1].month,year:+D[1].year}):e(g.value.partialRange))],g.value.enabled):Y(D,xe(R,{month:+D.month,year:+D.year}))},H=D=>{if(Array.isArray(D))return D.map(R=>ge(R));throw new Error(r.dateArr("multi-dates"))},q=D=>{if(Array.isArray(D)&&g.value.enabled){const R=D[0],Q=D[1];return[o(Array.isArray(R)?R[0]:null),Array.isArray(Q)&&Q.length?o(Q[0]):null]}return o(D[0])},G=D=>u.modelAuto?Array.isArray(D)?[ge(D[0]),ge(D[1])]:u.autoApply?[ge(D)]:[ge(D),null]:Array.isArray(D)?t(()=>D[1]?[ge(D[0]),D[1]?ge(D[1]):e(g.value.partialRange)]:[ge(D[0])],g.value.enabled):ge(D),Z=()=>{Array.isArray(b.value)&&g.value.enabled&&b.value.length===1&&b.value.push(e(g.value.partialRange))},U=()=>{const D=b.value;return[ne(D[0]),D[1]?ne(D[1]):e(g.value.partialRange)]},X=()=>Array.isArray(b.value)?b.value[1]?U():ne(a(b.value[0])):[],$=()=>(b.value||[]).map(D=>ne(D)),I=(D=!1)=>(D||Z(),u.modelAuto?X():w.value.enabled?$():Array.isArray(b.value)?t(()=>U(),g.value.enabled):ne(a(b.value))),le=D=>!D||Array.isArray(D)&&!D.length?null:u.timePicker?N(a(D)):u.monthPicker?W(a(D)):u.yearPicker?P(a(D)):w.value.enabled?H(a(D)):u.weekPicker?q(a(D)):G(a(D)),z=D=>{if(l.isTextInputDate)return;const R=le(D);n(a(R))?(b.value=a(R),fe()):(b.value=null,h.value="")},se=()=>b.value?w.value.enabled?b.value.map(D=>v(D)).join("; "):p.value.enabled?M():v(b.value):"",fe=()=>{h.value=se()},ge=D=>u.modelType?Ri.includes(u.modelType)?o(D):u.modelType==="format"&&typeof y.value.input=="string"?_n(D,y.value.input,o(),{locale:u.locale}):_n(D,u.modelType,o(),{locale:u.locale}):o(D),ne=D=>D?u.modelType?u.modelType==="timestamp"?+D:u.modelType==="iso"?D.toISOString():u.modelType==="format"&&typeof y.value.input=="string"?v(D):v(D,u.modelType):D:null,pe=D=>{s("update:model-value",D)},ue=D=>Array.isArray(b.value)?w.value.enabled?b.value.map(R=>D(R)):[D(b.value[0]),b.value[1]?D(b.value[1]):null]:D(a(b.value)),ke=()=>{if(Array.isArray(b.value)){const D=m(b.value[0],u.weekStart),R=b.value[1]?m(b.value[1],u.weekStart):[];return[D.map(Q=>o(Q)),R.map(Q=>o(Q))]}return m(b.value,u.weekStart).map(D=>o(D))},me=D=>pe(a(ue(D))),Te=()=>s("update:model-value",ke());return{checkBeforeEmit:()=>b.value?g.value.enabled?g.value.partialRange?b.value.length>=1:b.value.length===2:!!b.value:!1,parseExternalModelValue:z,formatInputValue:fe,emitModelValue:()=>(fe(),u.monthPicker?me(E):u.timePicker?me(O):u.yearPicker?me(he):u.weekPicker?Te():pe(I()))}},Ca=()=>{const{defaults:{transitions:e}}=Pe(),t=V(()=>a=>e.value?a?e.value.open:e.value.close:""),n=V(()=>a=>e.value?a?e.value.menuAppearTop:e.value.menuAppearBottom:"");return{transitionName:t,showTransition:!!e.value,menuTransition:n}},Sa=e=>{const{today:t,time:n,modelValue:a,defaults:{range:r}}=Pe(),{setTimeModelValue:o}=qe();Je(r,(s,l)=>{s.enabled!==l.enabled&&o(n,a.value,t,r.value.enabled)},{deep:!0}),Je(a,(s,l)=>{e&&JSON.stringify(s??{})!==JSON.stringify(l??{})&&e()},{deep:!0})},st=()=>{const{defaults:{safeDates:e,range:t,multiDates:n,filters:a,timeConfig:r},rootProps:o,getDate:s}=Pe(),{getMapKeyType:l,getMapDate:u,errorMapper:h,convertType:p}=qe(),{isDateBefore:g,isDateAfter:w,isDateEqual:c,resetDate:y,getDaysInBetween:b,setTimeValue:_,getTimeObj:d,setTime:m}=Xe(),v=x=>e.value.disabledDates?typeof e.value.disabledDates=="function"?e.value.disabledDates(s(x)):!!u(x,e.value.disabledDates):!1,M=x=>e.value.maxDate?o.yearPicker?he(x)>he(e.value.maxDate):w(x,e.value.maxDate):!1,O=x=>e.value.minDate?o.yearPicker?he(x){if(!x)return!1;const B=M(x),J=O(x),T=v(x),L=a.value.months.map(A=>+A).includes(Ae(x)),f=a.value.weekDays?.length?a.value.weekDays.some(A=>+A===xl(x)):!1,S=H(x),k=he(x),j=k<+o.yearRange[0]||k>+o.yearRange[1];return!(B||J||T||L||j||f||S)},P=(x,B)=>g(...Te(e.value.minDate,x,B))||c(...Te(e.value.minDate,x,B)),Y=(x,B)=>w(...Te(e.value.maxDate,x,B))||c(...Te(e.value.maxDate,x,B)),N=(x,B,J)=>{let T=!1;return e.value.maxDate&&J&&Y(x,B)&&(T=!0),e.value.minDate&&!J&&P(x,B)&&(T=!0),T},W=(x,B,J,T)=>{let L=!1;return T&&(e.value.minDate||e.value.maxDate)?e.value.minDate&&e.value.maxDate?L=N(x,B,J):(e.value.minDate&&P(x,B)||e.value.maxDate&&Y(x,B))&&(L=!0):L=!0,L},H=x=>Array.isArray(e.value.allowedDates)&&!e.value.allowedDates.length?!0:e.value.allowedDates?!u(x,e.value.allowedDates,l(o.monthPicker,o.yearPicker)):!1,q=x=>!E(x),G=x=>t.value.noDisabledRange?!Yn({start:x[0],end:x[1]}).some(B=>q(B)):!0,Z=x=>{if(x){const B=he(x);return B>=+o.yearRange[0]&&B<=o.yearRange[1]}return!0},U=(x,B)=>!!(Array.isArray(x)&&x[B]&&(t.value.maxRange||t.value.minRange)&&Z(x[B])),X=(x,B,J=0)=>{if(U(B,J)&&Z(x)){const T=Mr(x,B[J]),L=b(B[J],x),f=L.length===1?0:L.filter(k=>q(k)).length,S=Math.abs(T)-(t.value.minMaxRawRange?0:f);if(t.value.minRange&&t.value.maxRange)return S>=+t.value.minRange&&S<=+t.value.maxRange;if(t.value.minRange)return S>=+t.value.minRange;if(t.value.maxRange)return S<=+t.value.maxRange}return!0},$=()=>!r.value.enableTimePicker||o.monthPicker||o.yearPicker||r.value.ignoreTimeValidation,I=x=>Array.isArray(x)?[x[0]?_(x[0]):null,x[1]?_(x[1]):null]:_(x),le=(x,B,J)=>B?x.find(T=>+T.hours===xt(B)&&T.minutes==="*"?!0:+T.minutes===Tt(B)&&+T.hours===xt(B))&&J:!1,z=(x,B,J)=>{const[T,L]=x,[f,S]=B;return!le(T,f,J)&&!le(L,S,J)&&J},se=(x,B)=>{const J=Array.isArray(B)?B:[B];return Array.isArray(o.disabledTimes)?Array.isArray(o.disabledTimes[0])?z(o.disabledTimes,J,x):!J.some(T=>le(o.disabledTimes,T,x)):x},fe=(x,B)=>{const J=Array.isArray(B)?[d(B[0]),B[1]?d(B[1]):void 0]:d(B),T=!o.disabledTimes(J);return x&&T},ge=(x,B)=>o.disabledTimes?Array.isArray(o.disabledTimes)?se(B,x):fe(B,x):B,ne=x=>{let B=!0;if(!x||$())return!0;const J=!e.value.minDate&&!e.value.maxDate?I(x):x;return(o.maxTime||e.value.maxDate)&&(B=R(o.maxTime,e.value.maxDate,"max",p(J),B)),(o.minTime||e.value.minDate)&&(B=R(o.minTime,e.value.minDate,"min",p(J),B)),ge(x,B)},pe=x=>{if(!o.monthPicker)return!0;let B=!0;const J=s(y(x));if(e.value.minDate&&e.value.maxDate){const T=s(y(e.value.minDate)),L=s(y(e.value.maxDate));return w(J,T)&&g(J,L)||c(J,T)||c(J,L)}if(e.value.minDate){const T=s(y(e.value.minDate));B=w(J,T)||c(J,T)}if(e.value.maxDate){const T=s(y(e.value.maxDate));B=g(J,T)||c(J,T)}return B},ue=V(()=>x=>!r.value.enableTimePicker||r.value.ignoreTimeValidation?!0:ne(x)),ke=V(()=>x=>o.monthPicker?Array.isArray(x)&&(t.value.enabled||n.value.enabled)?!x.filter(B=>!pe(B)).length:pe(x):!0),me=(x,B,J)=>{if(!B||J&&!e.value.maxDate||!J&&!e.value.minDate)return!1;const T=J?ft(x,1):ca(x,1),L=[Ae(T),he(T)];return J?!Y(...L):!P(...L)},Te=(x,B,J)=>[xe(s(x),{date:1}),xe(s(),{month:B,year:J,date:1})],D=(x,B,J,T)=>{if(!x)return!0;if(T){const L=J==="max"?Pt(x,B):wt(x,B),f={seconds:0,milliseconds:0};return L||ta(xe(x,f),xe(B,f))}return J==="max"?x.getTime()<=B.getTime():x.getTime()>=B.getTime()},R=(x,B,J,T,L)=>{if(Array.isArray(T)){const S=Q(x,T[0],B),k=Q(x,T[1],B);return D(T[0],S,J,!!B)&&D(T[1],k,J,!!B)&&L}const f=Q(x,T,B);return D(T,f,J,!!B)&&L},Q=(x,B,J)=>x?m(x,B):s(J??B);return{isDisabled:q,validateDate:E,validateMonthYearInRange:W,isDateRangeAllowed:G,checkMinMaxRange:X,isValidTime:ne,validateMonthYear:me,validateMinDate:P,validateMaxDate:Y,isValidDate:x=>Array.isArray(x)?_a(x[0])&&(x[1]?_a(x[1]):!0):x?_a(x):!1,checkPartialRangeValue:x=>{if(x)return null;throw new Error(h.prop("partial-range"))},checkRangeEnabled:(x,B)=>{if(B)return x();throw new Error(h.prop("range"))},checkMinMaxValue:(x,B,J)=>{const T=J!=null,L=B!=null;if(!T&&!L)return!1;const f=+J,S=+B;return T&&L?+x>f||+xf:L?+x{const{rootEmit:t,rootProps:n,defaults:{timeConfig:a,flow:r}}=Pe(),o=ie(0),s=Ha({[Ht.timePicker]:!a.value.enableTimePicker||n.timePicker||n.monthPicker,[Ht.calendar]:!1,[Ht.header]:!1}),l=V(()=>n.monthPicker||n.timePicker),u=c=>{if(r.value?.steps?.length){if(!c&&l.value)return w();s[c]=!0,Object.keys(s).filter(y=>!s[y]).length||w()}},h=()=>{r.value?.steps?.length&&o.value!==-1&&(o.value+=1,t("flow-step",o.value),w()),r.value?.steps?.length===o.value&&Ge().then(()=>p())},p=()=>{o.value=-1},g=(c,y,...b)=>{r.value?.steps[o.value]===c&&e.value&&e.value[y]?.(...b)},w=(c=0)=>{c&&(o.value+=c),g(Qe.month,"toggleMonthPicker",!0),g(Qe.year,"toggleYearPicker",!0),g(Qe.calendar,"toggleTimePicker",!1,!0),g(Qe.time,"toggleTimePicker",!0,!0);const y=r.value?.steps[o.value];(y===Qe.hours||y===Qe.minutes||y===Qe.seconds)&&g(y,"toggleTimePicker",!0,!0,y)};return{childMount:u,updateFlowStep:h,resetFlow:p,handleFlow:w,flowStep:o}};function pn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}function wa(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,l=n?.width?String(n.width):s;r=e.formattingValues[l]||e.formattingValues[s]}else{const s=e.defaultWidth,l=n?.width?String(n.width):e.defaultWidth;r=e.values[l]||e.values[s]}const o=e.argumentCallback?e.argumentCallback(t):t;return r[o]}}function ba(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=t.match(r);if(!o)return null;const s=o[0],l=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(l)?Fi(l,g=>g.test(s)):Ni(l,g=>g.test(s));let h;h=e.valueCallback?e.valueCallback(u):u,h=n.valueCallback?n.valueCallback(h):h;const p=t.slice(s.length);return{value:h,rest:p}}}function Ni(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Fi(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const l=t.slice(r.length);return{value:s,rest:l}}}const Li={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Wi=(e,t,n)=>{let a;const r=Li[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a},Ii={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Hi=(e,t,n,a)=>Ii[e],qi={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ui={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ji={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},zi={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Ki={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Xi={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Qi=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Gi={ordinalNumber:Qi,era:wa({values:qi,defaultWidth:"wide"}),quarter:wa({values:Ui,defaultWidth:"wide",argumentCallback:e=>e-1}),month:wa({values:ji,defaultWidth:"wide"}),day:wa({values:zi,defaultWidth:"wide"}),dayPeriod:wa({values:Ki,defaultWidth:"wide",formattingValues:Xi,defaultFormattingWidth:"wide"})},Zi=/^(\d+)(th|st|nd|rd)?/i,Ji=/\d+/i,eu={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},tu={any:[/^b/i,/^(a|c)/i]},au={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},nu={any:[/1/i,/2/i,/3/i,/4/i]},ru={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ou={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},su={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},lu={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},iu={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},uu={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},cu={ordinalNumber:Vi({matchPattern:Zi,parsePattern:Ji,valueCallback:e=>parseInt(e,10)}),era:ba({matchPatterns:eu,defaultMatchWidth:"wide",parsePatterns:tu,defaultParseWidth:"any"}),quarter:ba({matchPatterns:au,defaultMatchWidth:"wide",parsePatterns:nu,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ba({matchPatterns:ru,defaultMatchWidth:"wide",parsePatterns:ou,defaultParseWidth:"any"}),day:ba({matchPatterns:su,defaultMatchWidth:"wide",parsePatterns:lu,defaultParseWidth:"any"}),dayPeriod:ba({matchPatterns:iu,defaultMatchWidth:"any",parsePatterns:uu,defaultParseWidth:"any"})},du={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},fu={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},mu={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},vu={date:pn({formats:du,defaultWidth:"full"}),time:pn({formats:fu,defaultWidth:"full"}),dateTime:pn({formats:mu,defaultWidth:"full"})},pu={code:"en-US",formatDistance:Wi,formatLong:vu,formatRelative:Hi,localize:Gi,match:cu,options:{weekStartsOn:0,firstWeekContainsDate:1}},sr={noDisabledRange:!1,showLastInRange:!0,minMaxRawRange:!1,partialRange:!0,disableTimeRangeValidation:!1,maxRange:void 0,minRange:void 0,autoRange:void 0,fixedStart:!1,fixedEnd:!1,autoSwitchStartEnd:!0},hu={allowStopPropagation:!0,closeOnScroll:!1,modeHeight:255,allowPreventDefault:!1,closeOnClearValue:!0,closeOnAutoApply:!0,noSwipe:!1,keepActionRow:!1,onClickOutside:void 0,tabOutClosesMenu:!0,arrowLeft:void 0,keepViewOnOffsetClick:!1,timeArrowHoldThreshold:0,shadowDom:!1,mobileBreakpoint:600,setDateOnMenuClose:!1,escClose:!0,spaceConfirm:!0,monthChangeOnArrows:!0,monthChangeOnScroll:!0},lr={enterSubmit:!0,tabSubmit:!0,openMenu:"open",selectOnFocus:!1,rangeSeparator:" - ",escClose:!0,format:void 0,maskFormat:void 0,applyOnBlur:!1,separators:void 0},yu={dates:[],years:[],months:[],quarters:[],weeks:[],weekdays:[],options:{highlightDisabled:!1}},gu={showSelect:!0,showCancel:!0,showNow:!1,showPreview:!0,selectBtnLabel:"Select",cancelBtnLabel:"Cancel",nowBtnLabel:"Now",nowBtnRound:void 0},wu={toggleOverlay:"Toggle overlay",menu:"Datepicker menu",input:"Datepicker input",openTimePicker:"Open time picker",closeTimePicker:"Close time Picker",incrementValue:e=>`Increment ${e}`,decrementValue:e=>`Decrement ${e}`,openTpOverlay:e=>`Open ${e} overlay`,amPmButton:"Switch AM/PM mode",openYearsOverlay:"Open years overlay",openMonthsOverlay:"Open months overlay",nextMonth:"Next month",prevMonth:"Previous month",nextYear:"Next year",prevYear:"Previous year",day:void 0,weekDay:void 0,clearInput:"Clear value",calendarIcon:"Calendar icon",timePicker:"Time picker",monthPicker:e=>`Month picker${e?" overlay":""}`,yearPicker:e=>`Year picker${e?" overlay":""}`,timeOverlay:e=>`${e} overlay`},ir={menuAppearTop:"dp-menu-appear-top",menuAppearBottom:"dp-menu-appear-bottom",open:"dp-slide-down",close:"dp-slide-up",next:"calendar-next",previous:"calendar-prev",vNext:"dp-slide-up",vPrevious:"dp-slide-down"},bu={weekDays:[],months:[],years:[],times:{hours:[],minutes:[],seconds:[]}},ku={month:"LLL",year:"yyyy",weekDay:"EEEEEE",quarter:"MMMM",day:"d",input:void 0,preview:void 0},_u={enableTimePicker:!0,ignoreTimeValidation:!1,enableSeconds:!1,enableMinutes:!0,is24:!0,noHoursOverlay:!1,noMinutesOverlay:!1,noSecondsOverlay:!1,hoursGridIncrement:1,minutesGridIncrement:5,secondsGridIncrement:5,hoursIncrement:1,minutesIncrement:1,secondsIncrement:1,timePickerInline:!1,startTime:void 0},Du={flowStep:0,menuWrapRef:null,collapse:!1},xu={weekStart:zr.Monday,yearRange:()=>[1900,2100],ui:()=>({}),locale:()=>pu,dark:!1,transitions:!0,hideNavigation:()=>[],vertical:!1,hideMonthYearSelect:!1,disableYearSelect:!1,autoApply:!1,disabledDates:()=>[],hideOffsetDates:!1,noToday:!1,markers:()=>[],presetDates:()=>[],preventMinMaxNavigation:!1,reverseYears:!1,weekPicker:!1,arrowNavigation:!1,monthPicker:!1,yearPicker:!1,quarterPicker:!1,timePicker:!1,modelAuto:!1,multiDates:!1,range:!1,inline:!1,sixWeeks:!1,focusStartDate:!1,yearFirst:!1,loading:!1,centered:!1},ur={name:void 0,required:!1,autocomplete:"off",state:void 0,clearable:!0,alwaysClearable:!1,hideInputIcon:!1,id:void 0,inputmode:"none"},La={type:"local",hideOnOffsetDates:!1,label:"W"},Mu=e=>{const{getMapKey:t,getMapKeyType:n,getTimeObjFromCurrent:a}=qe();function r($,I){let le;return e.timezone?le=new aa($??new Date,e.timezone):le=$?new Date($):new Date,I?xe(le,{hours:0,minutes:0,seconds:0,milliseconds:0}):le}const o=()=>{const $=G.value.enableSeconds?":ss":"",I=G.value.enableMinutes?":mm":"";return G.value.is24?`HH${I}${$}`:`hh${I}${$} aa`},s=()=>e.monthPicker?"MM/yyyy":e.timePicker?o():e.weekPicker?`${E.value?.type==="iso"?"II":"ww"}-RR`:e.yearPicker?"yyyy":e.quarterPicker?"QQQ/yyyy":G.value.enableTimePicker?`MM/dd/yyyy, ${o()}`:"MM/dd/yyyy",l=$=>a(r(),$,G.value.enableSeconds),u=()=>N.value.enabled?G.value.startTime&&Array.isArray(G.value.startTime)?[l(G.value.startTime[0]),l(G.value.startTime[1])]:null:G.value.startTime&&!Array.isArray(G.value.startTime)?l(G.value.startTime):null,h=$=>$?typeof $=="boolean"?$?2:0:Math.max(+$,2):0,p=$=>{const I=n(e.monthPicker,e.yearPicker);return new Map($.map(le=>{const z=r(le,g.value);return[t(z,I),z]}))},g=V(()=>e.monthPicker||e.yearPicker||e.quarterPicker),w=V(()=>{const $=typeof e.multiCalendars=="object"&&e.multiCalendars,I={static:!0,solo:!1};if(!e.multiCalendars)return{...I,count:h(!1)};const le=$?e.multiCalendars:{},z=$?le.count??!0:e.multiCalendars,se=h(z);return Object.assign(I,le,{count:se})}),c=V(()=>u()),y=V(()=>({...wu,...e.ariaLabels})),b=V(()=>({...bu,...e.filters})),_=V(()=>typeof e.transitions=="boolean"?e.transitions?ir:!1:{...ir,...e.transitions}),d=V(()=>({...gu,...e.actionRow})),m=V(()=>typeof e.textInput=="object"?{...lr,...e.textInput,format:typeof e.textInput.format=="string"?e.textInput.format:H.value.input,pattern:e.textInput.format??H.value.input,enabled:!0}:{...lr,format:H.value.input,pattern:H.value.input,enabled:e.textInput}),v=V(()=>{const $={input:!1};return typeof e.inline=="object"?{...$,...e.inline,enabled:!0}:{enabled:e.inline,...$}}),M=V(()=>({...hu,...e.config})),O=V(()=>typeof e.highlight=="function"?e.highlight:{...yu,...e.highlight}),E=V(()=>typeof e.weekNumbers=="object"?{type:e.weekNumbers?.type??La.type,hideOnOffsetDates:e.weekNumbers?.hideOnOffsetDates??La.hideOnOffsetDates,label:e.weekNumbers.label??La.label}:e.weekNumbers?La:void 0),P=V(()=>typeof e.multiDates=="boolean"?{enabled:e.multiDates,dragSelect:!0,limit:null}:{enabled:!!e.multiDates,limit:e.multiDates?.limit?+e.multiDates.limit:null,dragSelect:e.multiDates?.dragSelect??!0}),Y=V(()=>({minDate:e.minDate?r(e.minDate):null,maxDate:e.maxDate?r(e.maxDate):null,disabledDates:Array.isArray(e.disabledDates)?p(e.disabledDates):e.disabledDates,allowedDates:Array.isArray(e.allowedDates)?p(e.allowedDates):null,highlight:typeof O.value=="object"&&Array.isArray(O.value.dates)?p(O.value.dates):O.value,markers:e.markers?.length?new Map(e.markers.map($=>{const I=r($.date);return[t(I,na.DATE),$]})):null})),N=V(()=>typeof e.range=="object"?{enabled:!0,...sr,...e.range}:{enabled:e.range,...sr}),W=V(()=>({...Object.fromEntries(Object.keys(e.ui).map($=>{const I=$,le=e.ui[I];if(I==="dayClass")return[I,e.ui[I]];const z=typeof e.ui[I]=="string"?{[le]:!0}:Object.fromEntries(le.map(se=>[se,!0]));return[$,z]}))})),H=V(()=>({...ku,...e.formats,input:e.formats?.input??s(),preview:e.formats?.preview??s()})),q=V(()=>{if(e.teleport)return typeof e.teleport=="string"?e.teleport:typeof e.teleport=="boolean"?"body":e.teleport}),G=V(()=>({..._u,...e.timeConfig})),Z=V(()=>{if(e.flow)return{steps:[],partial:!1,...e.flow}}),U=V(()=>{const $=m.value.enabled?"text":"none";return e.inputAttrs?{...ur,inputmode:$,...e.inputAttrs}:{...ur,inputmode:$}}),X=V(()=>({offset:e.floating?.offset??10,arrow:e.floating?.arrow??!0,strategy:e.floating?.strategy??void 0,placement:e.floating?.placement??void 0,flip:e.floating?.flip??!0,shift:e.floating?.shift??!0}));return{transitions:_,multiCalendars:w,startTime:c,ariaLabels:y,filters:b,actionRow:d,textInput:m,inline:v,config:M,highlight:O,weekNumbers:E,range:N,safeDates:Y,multiDates:P,ui:W,formats:H,teleport:q,timeConfig:G,flow:Z,inputAttrs:U,floatingConfig:X,getDate:r}},qe=()=>{const e=(m,v)=>nt(m,v??na.DATE),t=(m,v)=>m?na.MONTH_AND_YEAR:v?na.YEAR:na.DATE,n=(m,v,M)=>v.get(e(m,M)),a=m=>m,r=m=>m===0?m:!m||Number.isNaN(+m)?null:+m,o=()=>["a[href]","area[href]","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-datepicker-instance]"].join(", "),s=(m,v)=>{let M=[...document.querySelectorAll(o())];M=M.filter(E=>!m.contains(E)||"datepicker-instance"in E.dataset);const O=M.indexOf(m);if(O>=0&&(v?O-1>=0:O+1<=M.length))return M[O+(v?-1:1)]},l=m=>String(m).padStart(2,"0"),u=(m,v)=>m?.querySelector(`[data-dp-element="${v}"]`),h=(m,v,M=!1)=>{m&&v.allowStopPropagation&&(M&&m.stopImmediatePropagation(),m.stopPropagation())},p=(m,v,M=!1,O)=>{if(m.key===Re.enter||m.key===Re.space)return M&&m.preventDefault(),v();if(O)return O(m)},g=(m,v)=>{v.allowStopPropagation&&m.stopPropagation(),v.allowPreventDefault&&m.preventDefault()},w=m=>{if(m)return[...m.querySelectorAll("input, button, select, textarea, a[href]")][0]},c=()=>"ontouchstart"in globalThis||navigator.maxTouchPoints>0,y=m=>[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11][m],b=m=>{const v=[],M=O=>O.filter(E=>!!E);for(let O=0;O`"${m}" prop must be enabled!`,dateArr:m=>`You need to use array as "model-value" binding in order to support "${m}"`},d=(m,v,M,O,E)=>{const P={hours:xt,minutes:Tt,seconds:Et};if(!v)return O?[P[m](M),P[m](M)]:P[m](M);if(Array.isArray(v)&&O){const Y=v[0]??M,N=v[1];return[P[m](Y),N?P[m](N):E[m][1]??P[m](M)]}return Array.isArray(v)&&!O?P[m](v[v.length-1]??M):P[m](v)};return{getMapKey:e,getMapKeyType:t,getMapDate:n,convertType:a,getNumVal:r,findNextFocusableElement:s,padZero:l,getElWithin:u,checkStopPropagation:h,checkKeyDown:p,handleEventPropagation:g,findFocusableEl:w,isTouchDevice:c,hoursToAmPmHours:y,getGroupedList:b,setTimeModelValue:(m,v,M,O)=>{m.hours=d("hours",v,M,O,m),m.minutes=d("minutes",v,M,O,m),m.seconds=d("seconds",v,M,O,m)},getTimeObjFromCurrent:(m,v,M)=>{const O={hours:xt(m),minutes:Tt(m),seconds:M?Et(m):0};return Object.assign(O,v)},errorMapper:_}},Xe=()=>{const{getDate:e}=Pe(),{getMapDate:t,getGroupedList:n}=qe(),a=(d,m)=>{if(!d)return e();const v=e(d),M=xe(v,{hours:0,minutes:0,seconds:0,milliseconds:0});return m?Ys(M):M},r=(d,m)=>{const v=e(m);return xe(v,{hours:+(d.hours??xt(v)),minutes:+(d.minutes??Tt(v)),seconds:+(d.seconds??Et(v)),milliseconds:0})},o=(d,m)=>{const v=ot(d,{weekStartsOn:+m}),M=Rn(d,{weekStartsOn:+m});return[v,M]},s=(d,m)=>!d||!m?!1:Pt(a(d),a(m)),l=(d,m)=>!d||!m?!1:ta(a(d),a(m)),u=(d,m)=>!d||!m?!1:wt(a(d),a(m)),h=(d,m,v)=>d?.[0]&&d?.[1]?u(v,d[0])&&s(v,d[1]):d?.[0]&&m?u(v,d[0])&&s(v,m)||s(v,d[0])&&u(v,m):!1,p=(d,m)=>{const v=u(d,m)?m:d,M=u(m,d)?m:d;return Yn({start:v,end:M})},g=d=>`dp-${nt(d,"yyyy-MM-dd")}`,w=d=>a(xe(e(d),{date:1})),c=(d,m)=>{if(m){const v=he(e(m));if(v>d)return 12;if(v===d)return Ae(e(m))}},y=(d,m)=>{if(m){const v=he(e(m));return v{if(d)return he(e(d))},_=d=>({hours:xt(d),minutes:Tt(d),seconds:Et(d)});return{resetDateTime:a,groupListAndMap:(d,m)=>n(d).map(v=>v.map(M=>{const{active:O,disabled:E,isBetween:P,highlighted:Y}=m(M);return{...M,active:O,disabled:E,className:{dp__overlay_cell_active:O,dp__overlay_cell:!O,dp__overlay_cell_disabled:E,dp__overlay_cell_pad:!0,dp__overlay_cell_active_disabled:E&&O,dp__cell_in_between:P,"dp--highlighted":Y}}})),setTime:r,getWeekFromDate:o,isDateAfter:u,isDateBefore:s,isDateBetween:h,isDateEqual:l,getDaysInBetween:p,getCellId:g,resetDate:w,getMinMonth:c,getMaxMonth:y,getYearFromDate:b,getTimeObj:_,setTimeValue:d=>xe(e(),_(d)),sanitizeTime:(d,m,v)=>m&&(v||v===0)?Object.fromEntries(["hours","minutes","seconds"].map(M=>M===m?[M,v]:[M,Number.isNaN(+d[M])?void 0:+d[M]])):{hours:Number.isNaN(+d.hours)?void 0:+d.hours,minutes:Number.isNaN(+d.minutes)?void 0:+d.minutes,seconds:Number.isNaN(+(d.seconds??""))?void 0:+d.seconds},getBeforeAndAfterInRange:(d,m)=>{const v=Nr(a(m),d),M=rt(a(m),d);return{before:v,after:M}},isModelAuto:d=>Array.isArray(d)?!!d[0]&&!!d[1]:!1,matchDate:(d,m)=>d?m?m instanceof Map?!!t(d,m):m(e(d)):!1:!0,checkHighlightMonth:(d,m,v)=>typeof d=="function"?d({month:m,year:v}):d.months.some(M=>M.month===m&&M.year===v),checkHighlightYear:(d,m)=>typeof d=="function"?d(m):d.years.includes(m)}},Ja=()=>{const{defaults:{config:e}}=Pe(),t=ie(0);je(()=>{n(),globalThis.addEventListener("resize",n,{passive:!0})}),jt(()=>{globalThis.removeEventListener("resize",n)});const n=()=>{t.value=globalThis.document.documentElement.clientWidth};return{isMobile:V(()=>t.value<=e.value.mobileBreakpoint?!0:void 0)}},Nt=()=>{const{getDate:e,state:t,modelValue:n,rootProps:a,defaults:{formats:r,textInput:o}}=Pe(),s=y=>nt(ct(e(),y),r.value.year,{locale:a.locale}),l=y=>nt(Fr(e(),y),r.value.month,{locale:a.locale}),u=y=>nt(y,r.value.weekDay,{locale:a.locale}),h=y=>nt(y,r.value.quarter,{locale:a.locale}),p=(y,b)=>[y,b].map(_=>h(_)).join("-"),g=y=>nt(y,r.value.day,{locale:a.locale}),w=(y,b,_)=>{const d=_?r.value.preview:r.value.input;if(!y)return"";if(typeof d=="function")return d(y);const m=b??d,v={locale:a.locale};return Array.isArray(y)?`${nt(y[0],m,v)}${a.modelAuto&&!y[1]?"":o.value.rangeSeparator}${y[1]?nt(y[1],m,v):""}`:nt(y,m,v)},c=()=>{const y=b=>nt(b,o.value.format);return Array.isArray(n.value)?`${y(n.value[0])} ${o.value.rangeSeparator} ${n.value[1]?y(n.value[1]):""}`:""};return{formatYear:s,formatMonth:l,formatWeekDay:u,formatQuarter:h,formatSelectedDate:w,formatForTextInput:()=>t.isInputFocused&&n.value?Array.isArray(n.value)?c():nt(n.value,o.value.format):w(n.value),formatPreview:y=>w(y,void 0,!0),formatQuarterText:p,formatDay:g}},en=()=>{const{rootProps:e}=Pe(),{formatYear:t,formatMonth:n}=Nt();return{getMonths:()=>[0,1,2,3,4,5,6,7,8,9,10,11].map(a=>({text:n(a),value:a})),getYears:()=>{const a=[];for(let r=+e.yearRange[0];r<=+e.yearRange[1];r++)a.push({value:+r,text:t(r)});return e.reverseYears?a.reverse():a},isOutOfYearRange:a=>a<+e.yearRange[0]||a>+e.yearRange[1]}},Pu=e=>({openMenu:()=>e.value?.openMenu(),closeMenu:()=>e.value?.closeMenu(),selectDate:()=>e.value?.selectDate(),clearValue:()=>e.value?.clearValue(),formatInputValue:()=>e.value?.formatInputValue(),updateInternalModelValue:t=>e.value?.updateInternalModelValue(t),setMonthYear:(t,n)=>e.value?.setMonthYear(t,n),parseModel:()=>e.value?.parseModel(),switchView:(t,n)=>e.value?.switchView(t,n),handleFlow:()=>e.value?.handleFlow(),toggleMenu:()=>e.value?.toggleMenu(),dpMenuRef:()=>e.value?.dpMenuRef(),dpWrapMenuRef:()=>e.value?.dpWrapMenuRef(),inputRef:()=>e.value?.inputRef()}),fa=()=>({boolHtmlAttribute:e=>e?!0:void 0}),Au=()=>{const{getDate:e,rootProps:t,defaults:{textInput:n,startTime:a,timeConfig:r}}=Pe(),{getTimeObjFromCurrent:o}=qe(),s=ie(!1),l=V(()=>Array.isArray(a.value)?a.value[0]:a.value??o(e(),{},r.value.enableSeconds)),u=(p,g)=>{const w=/[^a-zA-Z]+/g,c=/\D+/g,y=g.split(c),b=p.split(w),_=p.match(w)||[],d=g.match(c)||[];let m="";for(let v=0;v0&&d[v-1]&&(m+=_[v-1]||d[v-1]);const M=y[v]?.length;m+=b[v]?.slice(0,M)}return m},h=(p,g,w)=>{const c=_n(p,u(g,p),e(),{locale:t.locale});return _a(c)&&Pr(c)?w||s.value?c:xe(c,{hours:+l.value.hours,minutes:+l.value.minutes,seconds:+(l.value.seconds??0),milliseconds:0}):null};return{textPasted:s,parseFreeInput:(p,g)=>{if(typeof n.value.pattern=="string")return h(p,n.value.pattern,g);if(Array.isArray(n.value.pattern)){let w=null;for(const c of n.value.pattern)if(w=h(p,c,g),w)break;return w}return typeof n.value.pattern=="function"?n.value.pattern(p):null},applyMaxValues:(p,g)=>{const w={MM:12,DD:31,hh:23,mm:59,ss:59};let c="",y=0;for(let b=0;bw[_]&&(v=w[_]),c+=v.toString().padStart(d,"0").slice(0,d)}y+=d}return c},createMaskedValue:(p,g)=>{const w=/(YYYY|MM|DD|hh|mm|ss)/g,c=[...g.matchAll(w)].map(m=>m[0]),y=g.replace(w,"|").split("|").filter(Boolean),b=c.map(m=>m.length);let _="",d=0;for(let m=0;m(e.Input="input",e.DatePicker="date-picker",e.Calendar="calendar",e.DatePickerHeader="date-picker-header",e.Menu="menu",e.ActionRow="action-row",e.TimePicker="time-picker",e.TimeInput="time-input",e.PassTrough="pass-trough",e.MonthPicker="month-picker",e.YearMode="year-mode",e.QuarterPicker="quarter-picker",e.YearPicker="year-picker",e))(mt||{});const Jt=["time-input","time-picker","pass-trough"],Kr=[{name:"trigger",use:["input"]},{name:"input-icon",use:["input"]},{name:"clear-icon",use:["input"]},{name:"dp-input",use:["input"]},{name:"clock-icon",use:["time-picker","time-input","pass-trough"]},{name:"arrow-left",use:["date-picker-header","pass-trough","year-mode"]},{name:"arrow-right",use:["date-picker-header","pass-trough","year-mode"]},{name:"arrow-up",use:["time-picker","time-input","date-picker-header","pass-trough"]},{name:"arrow-down",use:["time-picker","time-input","date-picker-header","pass-trough"]},{name:"calendar-icon",use:["date-picker-header","time-picker","pass-trough","year-mode"]},{name:"day",use:["calendar","pass-trough"]},{name:"month-overlay-value",use:["date-picker-header","pass-trough","month-picker"]},{name:"year-overlay-value",use:["date-picker-header","pass-trough","year-mode","year-picker"]},{name:"year-overlay",use:["date-picker-header","pass-trough"]},{name:"month-overlay",use:["date-picker-header","pass-trough"]},{name:"month-overlay-header",use:["date-picker-header","pass-trough"]},{name:"year-overlay-header",use:["date-picker-header","pass-trough"]},{name:"hours-overlay-value",use:Jt},{name:"hours-overlay-header",use:Jt},{name:"minutes-overlay-value",use:Jt},{name:"minutes-overlay-header",use:Jt},{name:"seconds-overlay-value",use:Jt},{name:"seconds-overlay-header",use:Jt},{name:"hours",use:["time-input","time-picker","pass-trough"]},{name:"minutes",use:["time-input","time-picker","pass-trough"]},{name:"seconds",use:["time-input","time-picker","pass-trough"]},{name:"month",use:["date-picker-header","time-picker","pass-trough"]},{name:"year",use:["date-picker-header","time-picker","pass-trough","year-mode"]},{name:"action-buttons",use:["action-row"]},{name:"action-preview",use:["action-row"]},{name:"calendar-header",use:["calendar","pass-trough"]},{name:"marker-tooltip",use:["calendar","pass-trough"]},{name:"action-extra",use:["menu"]},{name:"time-picker-overlay",use:["time-picker","time-picker","pass-trough"]},{name:"am-pm-button",use:["time-picker","time-input","pass-trough"]},{name:"left-sidebar",use:["menu"]},{name:"right-sidebar",use:["menu"]},{name:"month-year",use:["date-picker-header","pass-trough","month-picker","year-picker"]},{name:"time-picker",use:["date-picker","pass-trough"]},{name:"action-row",use:["action-row"]},{name:"marker",use:["calendar","pass-trough"]},{name:"quarter",use:["quarter-picker","pass-trough"]},{name:"top-extra",use:["date-picker-header","pass-trough","month-picker","quarter-picker","year-picker"]},{name:"tp-inline-arrow-up",use:["date-picker","time-input","time-picker","pass-trough"]},{name:"tp-inline-arrow-down",use:["date-picker","time-input","time-picker","pass-trough"]},{name:"arrow",use:["menu"]},{name:"menu-header",use:["menu"]}],_t=(e,t)=>Kr.filter(n=>e[n.name]&&n.use.includes(t)).map(n=>n.name),Xr=(e,t)=>Kr.map(n=>n.name).concat(t?.filter(n=>n.slot).map(n=>n.slot)??[]).filter(n=>!!e[n]),Tu={key:1,class:"dp__input_wrap"},Ou=["id","name","inputmode","placeholder","disabled","readonly","required","value","autocomplete","aria-label","aria-disabled","aria-invalid"],Cu={key:1,class:"dp--clear-btn"},Su=["aria-label"],Yu=Ue({__name:"DatepickerInput",props:{isMenuOpen:{type:Boolean,default:!1}},emits:["clear","open","set-input-date","close","select-date","set-empty-date","toggle","focus","blur","real-blur"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,inputValue:s,rootProps:l,defaults:{textInput:u,ariaLabels:h,inline:p,config:g,range:w,multiDates:c,ui:y,inputAttrs:b}}=Pe(),{checkMinMaxRange:_,isValidDate:d}=st(),{parseFreeInput:m,textPasted:v,createMaskedValue:M,applyMaxValues:O}=Au(),{checkKeyDown:E,checkStopPropagation:P}=qe(),{boolHtmlAttribute:Y}=fa(),N=Be("dp-input"),W=ie(null),H=ie(!1),q=V(()=>({dp__pointer:!l.disabled&&!l.readonly&&!u.value.enabled,dp__disabled:l.disabled,dp__input_readonly:!u.value.enabled,dp__input:!0,dp__input_not_clearable:!b.value.clearable,dp__input_icon_pad:!b.value.hideInputIcon,dp__input_valid:typeof b.value.state=="boolean"?b.value.state:!1,dp__input_invalid:typeof b.value.state=="boolean"?!b.value.state:!1,dp__input_focus:H.value||r.isMenuOpen,dp__input_reg:!u.value.enabled,...y.value.input})),G=()=>{a("set-input-date",null),b&&l.autoApply&&(a("set-empty-date"),W.value=null)},Z=D=>{if(u.value.separators?.length){const R=new RegExp(u.value.separators.map(Q=>Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"));return D.split(R)}return D.split(u.value.rangeSeparator)},U=D=>{const[R,Q]=Z(D);if(R){const x=m(R.trim(),s.value),B=Q?m(Q.trim(),s.value):void 0;if(wt(x,B))return;const J=x&&B?[x,B]:[x];_(B,J,0)&&(W.value=x?J:null)}},X=()=>{v.value=!0},$=D=>{if(w.value.enabled)U(D);else if(c.value.enabled){const R=D.split(";");W.value=R.map(Q=>m(Q.trim())).filter(Q=>!!Q)}else W.value=m(D,s.value)},I=D=>{const R=typeof D=="string"?D:D.target?.value,Q=u?.value?.maskFormat;let x=R;if(typeof Q=="string"){const B=/(YYYY|MM|DD|hh|mm|ss)/g,J=[...Q.matchAll(B)].map(f=>f[0]),T=R.replace(/\D/g,""),L=O(T,J);x=M(L,Q)}x===""?G():(u.value.openMenu&&!r.isMenuOpen&&a("open"),$(x),a("set-input-date",W.value)),v.value=!1,s.value=x,o("text-input",D,W.value)},le=D=>{u.value.enabled?($(D.target.value),u.value.enterSubmit&&d(W.value)&&s.value!==""?(a("set-input-date",W.value,!0),W.value=null):u.value.enterSubmit&&s.value===""&&(W.value=null,a("clear"))):fe(D)},z=(D,R)=>{u.value.enabled&&u.value.tabSubmit&&!R&&$(D.target.value),u.value.tabSubmit&&d(W.value)&&s.value!==""?(a("set-input-date",W.value,!0,!0),W.value=null):u.value.tabSubmit&&s.value===""&&(W.value=null,a("clear"))},se=()=>{H.value=!0,a("focus"),Ge().then(()=>{u.value.enabled&&u.value.selectOnFocus&&N.value?.select()})},fe=D=>{if(P(D,g.value,!0),u.value.enabled&&u.value.openMenu&&!p.value.input){if(u.value.openMenu==="open"&&!r.isMenuOpen)return a("open");if(u.value.openMenu==="toggle")return a("toggle")}else u.value.enabled||a("toggle")},ge=()=>{a("real-blur"),H.value=!1,(!r.isMenuOpen||p.value.enabled&&p.value.input)&&a("blur"),(l.autoApply&&u.value.enabled&&W.value&&!r.isMenuOpen||u.value.applyOnBlur)&&(a("set-input-date",W.value),a("select-date"),W.value=null)},ne=D=>{P(D,g.value,!0),a("clear")},pe=()=>{a("close")},ue=D=>{if(D.key==="Tab"&&z(D),D.key==="Enter"&&le(D),D.key==="Escape"&&u.value.escClose&&pe(),!u.value.enabled){if(D.code==="Tab")return;D.preventDefault()}},ke=()=>{N.value?.focus({preventScroll:!0})},me=D=>{W.value=D},Te=D=>{D.key===Re.tab&&z(D,!0)};return t({focusInput:ke,setParsedDate:me}),(D,R)=>(F(),te("div",{onClick:fe},[!D.$slots["dp-input"]&&!i(p).enabled?oe(D.$slots,"trigger",{key:0}):re("",!0),!D.$slots.trigger&&(!i(p).enabled||i(p).input)?(F(),te("div",Tu,[!D.$slots.trigger&&(!i(p).enabled||i(p).enabled&&i(p).input)?oe(D.$slots,"dp-input",{key:0,value:i(s),isMenuOpen:e.isMenuOpen,onInput:I,onEnter:le,onTab:z,onClear:ne,onBlur:ge,onKeypress:ue,onPaste:X,onFocus:se,openMenu:()=>D.$emit("open"),closeMenu:()=>D.$emit("close"),toggleMenu:()=>D.$emit("toggle")},()=>[we("input",{id:i(b).id,ref:"dp-input","data-test-id":"dp-input",name:i(b).name,class:ye(q.value),inputmode:i(b).inputmode,placeholder:i(l).placeholder,disabled:i(Y)(i(l).disabled),readonly:i(Y)(i(l).readonly),required:i(Y)(i(b).required),value:i(s),autocomplete:i(b).autocomplete,"aria-label":i(h).input,"aria-disabled":i(l).disabled||void 0,"aria-invalid":i(b).state===!1?!0:void 0,onInput:I,onBlur:ge,onFocus:se,onKeypress:ue,onKeydown:R[0]||(R[0]=Q=>ue(Q)),onPaste:X,onInvalid:R[1]||(R[1]=Q=>i(o)("invalid",Q))},null,42,Ou)]):re("",!0),we("div",{onClick:R[4]||(R[4]=Q=>a("toggle"))},[D.$slots["input-icon"]&&!i(b).hideInputIcon?(F(),te("span",{key:0,class:"dp__input_icon",onClick:R[2]||(R[2]=Q=>a("toggle"))},[oe(D.$slots,"input-icon")])):re("",!0),!D.$slots["input-icon"]&&!i(b).hideInputIcon&&!D.$slots["dp-input"]?(F(),$e(i(Oa),{key:1,"aria-label":i(h)?.calendarIcon,class:"dp__input_icon dp__input_icons",onClick:R[3]||(R[3]=Q=>a("toggle"))},null,8,["aria-label"])):re("",!0)]),D.$slots["clear-icon"]&&(i(b).alwaysClearable||i(s)&&i(b).clearable&&!i(l).disabled&&!i(l).readonly)?(F(),te("span",Cu,[oe(D.$slots,"clear-icon",{clear:ne})])):re("",!0),!D.$slots["clear-icon"]&&(i(b).alwaysClearable||i(b).clearable&&i(s)&&!i(l).disabled&&!i(l).readonly)?(F(),te("button",{key:2,"aria-label":i(h)?.clearInput,class:"dp--clear-btn",type:"button","data-test-id":"clear-input-value-btn",onKeydown:R[5]||(R[5]=Q=>i(E)(Q,()=>ne(Q),!0,Te)),onClick:R[6]||(R[6]=sa(Q=>ne(Q),["prevent"]))},[He(i(Si),{class:"dp__input_icons"})],40,Su)):re("",!0)])):re("",!0)]))}}),Ru={ref:"action-row",class:"dp__action_row"},$u=["title"],Eu={ref:"action-buttons-container",class:"dp__action_buttons","data-dp-element":"action-row"},Bu=["disabled"],Nu=Ue({__name:"ActionRow",props:{menuMount:{type:Boolean,default:!1},calendarWidth:{default:0}},emits:["close-picker","select-date","select-now"],setup(e,{emit:t}){const n=t,a=e,{rootEmit:r,rootProps:o,modelValue:s,defaults:{actionRow:l,multiCalendars:u,inline:h,range:p,multiDates:g,formats:w}}=Pe(),{isTimeValid:c,isMonthValid:y}=st(),{formatPreview:b}=Nt(),{checkKeyDown:_,convertType:d}=qe(),{boolHtmlAttribute:m}=fa(),v=Be("action-buttons-container"),M=Be("action-row"),O=ie(!1),E=ie({});je(()=>{P(),globalThis.addEventListener("resize",P)}),jt(()=>{globalThis.removeEventListener("resize",P)});const P=()=>{O.value=!1,setTimeout(()=>{const X=v.value?.getBoundingClientRect(),$=M.value?.getBoundingClientRect();X&&$&&(E.value.maxWidth=`${$.width-X.width-20}px`),O.value=!0},0)},Y=V(()=>p.value.enabled&&!p.value.partialRange&&s.value?s.value.length===2:!0),N=V(()=>!c.value(s.value)||!y.value(s.value)||!Y.value),W=()=>{const X=w.value.preview;return o.timePicker||o.monthPicker,X(d(s.value))},H=()=>{const X=s.value;return u.value.count>0?`${b(X[0])} - ${b(X[1])}`:[b(X[0]),b(X[1])]},q=V(()=>!s.value||!a.menuMount?"":typeof w.value.preview=="string"?Array.isArray(s.value)?s.value.length===2&&s.value[1]?H():g.value.enabled?s.value.map(X=>`${b(X)}`):o.modelAuto?`${b(s.value[0])}`:`${b(s.value[0])} -`:b(s.value):W()),G=()=>g.value.enabled?"; ":" - ",Z=V(()=>Array.isArray(q.value)?q.value.join(G()):q.value),U=()=>{c.value(s.value)&&y.value(s.value)&&Y.value?n("select-date"):r("invalid-select")};return(X,$)=>(F(),te("div",Ru,[X.$slots["action-row"]?oe(X.$slots,"action-row",et(vt({key:0},{modelValue:i(s),disabled:N.value,selectDate:()=>X.$emit("select-date"),closePicker:()=>X.$emit("close-picker")}))):(F(),te(Se,{key:1},[i(l).showPreview?(F(),te("div",{key:0,class:"dp__selection_preview",title:Z.value||void 0,style:tt(E.value)},[X.$slots["action-preview"]&&O.value?oe(X.$slots,"action-preview",{key:0,value:i(s),formatValue:Z.value}):re("",!0),!X.$slots["action-preview"]&&O.value?(F(),te(Se,{key:1},[At(Ke(Z.value),1)],64)):re("",!0)],12,$u)):re("",!0),we("div",Eu,[X.$slots["action-buttons"]?oe(X.$slots,"action-buttons",{key:0,value:i(s),selectDate:U,selectionDisabled:N.value}):re("",!0),X.$slots["action-buttons"]?re("",!0):(F(),te(Se,{key:1},[!i(h).enabled&&i(l).showCancel?(F(),te("button",{key:0,ref:"cancel-btn",type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_cancel",onClick:$[0]||($[0]=I=>X.$emit("close-picker")),onKeydown:$[1]||($[1]=I=>i(_)(I,()=>X.$emit("close-picker")))},Ke(i(l).cancelBtnLabel),545)):re("",!0),i(l).showNow?(F(),te("button",{key:1,type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_cancel",onClick:$[2]||($[2]=I=>X.$emit("select-now")),onKeydown:$[3]||($[3]=I=>i(_)(I,()=>X.$emit("select-now")))},Ke(i(l).nowBtnLabel),33)):re("",!0),i(l).showSelect?(F(),te("button",{key:2,ref:"select-btn",type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_select",disabled:i(m)(N.value),"data-test-id":"select-button",onKeydown:$[4]||($[4]=I=>i(_)(I,()=>U())),onClick:U},Ke(i(l).selectBtnLabel),41,Bu)):re("",!0)],64))],512)],64))],512))}}),tn=()=>{const{rootProps:e,defaults:{multiCalendars:t}}=Pe(),n=V(()=>o=>e.hideNavigation?.includes(o)),a=V(()=>o=>t.value.count?t.value.solo?!0:o===0:!0),r=V(()=>o=>t.value.count?t.value.solo?!0:o===t.value.count-1:!0);return{hideNavigationButtons:n,showLeftIcon:a,showRightIcon:r}},Fu=["role","aria-label","tabindex"],Vu={class:"dp__selection_grid_header"},Lu=["aria-selected","aria-disabled","data-dp-action-element","data-dp-element-active","data-test-id","onClick","onKeydown","onMouseover"],Wu=["aria-label","data-dp-action-element"],Ya=Ue({__name:"SelectionOverlay",props:{items:{},type:{},useRelative:{type:Boolean},height:{},overlayLabel:{},isLast:{type:Boolean},level:{}},emits:["selected","toggle","reset-flow","hover-value"],setup(e,{emit:t}){const n=t,a=e,{setState:r,defaults:{ariaLabels:o,config:s}}=Pe(),{hideNavigationButtons:l}=tn(),{handleEventPropagation:u,checkKeyDown:h}=qe(),p=Be("toggle-button"),g=Be("overlay-container"),w=Be("grid-wrap"),c=ie(!1),y=ie(null),b=ie(),_=ie(0);bo(()=>{y.value=null}),je(async()=>{await Ge(),E(),r("arrowNavigationLevel",a.level??1)}),jt(()=>{r("arrowNavigationLevel",(a.level??1)-1)});const d=V(()=>({dp__overlay:!0,"dp--overlay-absolute":!a.useRelative,"dp--overlay-relative":a.useRelative})),m=V(()=>a.useRelative?{height:`${a.height}px`,width:"var(--dp-menu-min-width)"}:void 0),v=V(()=>({dp__overlay_col:!0})),M=V(()=>({dp__btn:!0,dp__button:!0,dp__overlay_action:!0,dp__over_action_scroll:c.value,dp__button_bottom:a.isLast})),O=V(()=>({dp__overlay_container:!0,dp__container_flex:a.items?.length<=6,dp__container_block:a.items?.length>6}));Je(()=>a.items,()=>E(!1),{deep:!0});const E=(G=!0)=>{Ge().then(()=>{const Z=document.querySelector(`[data-dp-element-active="${a.level??1}"]`),U=Yt(w),X=Yt(p),$=Yt(g),I=X?X.getBoundingClientRect().height:0;U&&(U.getBoundingClientRect().height?_.value=U.getBoundingClientRect().height-I:_.value=s.value.modeHeight-I),Z&&$&&G&&($.scrollTop=Z.offsetTop-$.offsetTop-(_.value/2-Z.getBoundingClientRect().height)-I)})},P=G=>{G.disabled||n("selected",G.value)},Y=()=>{n("toggle"),n("reset-flow")},N=G=>{s.value.escClose&&(Y(),u(G,s.value))},W=G=>{b.value=G,n("hover-value",G)},H=G=>{if(G.key===Re.esc)return N(G)},q=G=>{if(G.key===Re.enter)return Y()};return(G,Z)=>(F(),te("div",{ref:"grid-wrap",class:ye(d.value),style:tt(m.value),role:e.useRelative?void 0:"dialog","aria-label":e.overlayLabel,tabindex:e.useRelative?void 0:"0",onKeydown:H,onClick:Z[0]||(Z[0]=sa(()=>{},["prevent"]))},[we("div",{ref:"overlay-container",class:ye(O.value),style:tt({"--dp-overlay-height":`${_.value}px`}),role:"grid"},[we("div",Vu,[oe(G.$slots,"header")]),oe(G.$slots,"overlay",{},()=>[(F(!0),te(Se,null,Ee(e.items,(U,X)=>(F(),te("div",{key:X,class:ye(["dp__overlay_row",{dp__flex_row:e.items.length>=3}]),role:"row"},[(F(!0),te(Se,null,Ee(U,$=>(F(),te("div",{key:$.value,role:"gridcell",class:ye(v.value),"aria-selected":$.active||void 0,"aria-disabled":$.disabled||void 0,"data-dp-action-element":e.level??1,"data-dp-element-active":$.active?e.level??1:void 0,tabindex:"0","data-test-id":$.text,onClick:sa(I=>P($),["prevent"]),onKeydown:I=>i(h)(I,()=>P($),!0),onMouseover:I=>W($.value)},[we("div",{class:ye($.className)},[oe(G.$slots,"item",{item:$},()=>[At(Ke($.text),1)])],2)],42,Lu))),128))],2))),128))])],6),G.$slots["button-icon"]?Wa((F(),te("button",{key:0,ref:"toggle-button",type:"button","aria-label":i(o)?.toggleOverlay,class:ye(M.value),tabindex:"0","data-dp-action-element":e.level??1,onClick:Y,onKeydown:q},[oe(G.$slots,"button-icon")],42,Wu)),[[Ia,!i(l)(e.type)]]):re("",!0)],46,Fu))}}),Iu=["data-dp-mobile"],an=Ue({__name:"InstanceWrap",props:{stretch:{type:Boolean},collapse:{type:Boolean}},setup(e){const{defaults:{multiCalendars:t}}=Pe(),{isMobile:n}=Ja(),a=V(()=>t.value.count>0?[...new Array(t.value.count).keys()]:[0]);return(r,o)=>(F(),te("div",{class:ye({dp__menu_inner:!e.stretch,"dp--menu--inner-stretched":e.stretch,dp__flex_display:i(t).count>0,"dp--flex-display-collapsed":e.collapse}),"data-dp-mobile":i(n)},[oe(r.$slots,"default",{instances:a.value,wrapClass:{dp__instance_calendar:i(t).count>0}})],10,Iu))}}),Hu=["data-dp-element","aria-label","aria-disabled"],Da=Ue({__name:"ArrowBtn",props:{ariaLabel:{},elName:{},disabled:{type:Boolean}},emits:["activate","set-ref"],setup(e,{emit:t}){const{checkKeyDown:n}=qe(),a=t;return(r,o)=>(F(),te("button",{ref:"arrow-btn",type:"button","data-dp-element":e.elName,"data-dp-action-element":"0",class:"dp__btn dp--arrow-btn-nav",tabindex:"0","aria-label":e.ariaLabel,"aria-disabled":e.disabled||void 0,onClick:o[0]||(o[0]=s=>a("activate")),onKeydown:o[1]||(o[1]=s=>i(n)(s,()=>a("activate"),!0))},[we("span",{class:ye(["dp__inner_nav",{dp__inner_nav_disabled:e.disabled}])},[oe(r.$slots,"default")],2)],40,Hu))}}),qu=["aria-label","data-test-id"],Qr=Ue({__name:"YearModePicker",props:{items:{},instance:{},year:{},showYearPicker:{type:Boolean,default:!1},isDisabled:{}},emits:["handle-year","year-select","toggle-year-picker"],setup(e,{emit:t}){const n=t,a=e,{showRightIcon:r,showLeftIcon:o}=tn(),{rootProps:s,defaults:{config:l,ariaLabels:u,ui:h}}=Pe(),{showTransition:p,transitionName:g}=Ca(),{formatYear:w}=Nt(),{boolHtmlAttribute:c}=fa(),y=ie(!1),b=V(()=>w(a.year)),_=(v=!1,M)=>{y.value=!y.value,n("toggle-year-picker",{flow:v,show:M})},d=v=>{y.value=!1,n("year-select",v)},m=(v=!1)=>{n("handle-year",v)};return(v,M)=>(F(),te(Se,null,[we("div",{class:ye(["dp--year-mode-picker",{"dp--hidden-el":y.value}])},[i(o)(e.instance)?(F(),$e(Da,{key:0,ref:"mpPrevIconRef","aria-label":i(u)?.prevYear,disabled:i(c)(e.isDisabled(!1)),class:ye(i(h)?.navBtnPrev),onActivate:M[0]||(M[0]=O=>m(!1))},{default:be(()=>[v.$slots["arrow-left"]?oe(v.$slots,"arrow-left",{key:0}):re("",!0),v.$slots["arrow-left"]?re("",!0):(F(),$e(i(Wr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),we("button",{ref:"mpYearButtonRef",class:"dp__btn dp--year-select",type:"button","aria-label":`${e.year}-${i(u)?.openYearsOverlay}`,"data-test-id":`year-mode-btn-${e.instance}`,"data-dp-action-element":"0",onClick:M[1]||(M[1]=()=>_(!1)),onKeydown:M[2]||(M[2]=ko(sa(()=>_(!1),["prevent"]),["enter"]))},[v.$slots.year?oe(v.$slots,"year",{key:0,text:b.value,value:e.year}):re("",!0),v.$slots.year?re("",!0):(F(),te(Se,{key:1},[At(Ke(e.year),1)],64))],40,qu),i(r)(e.instance)?(F(),$e(Da,{key:1,ref:"mpNextIconRef","aria-label":i(u)?.nextYear,disabled:i(c)(e.isDisabled(!0)),class:ye(i(h)?.navBtnNext),onActivate:M[3]||(M[3]=O=>m(!0))},{default:be(()=>[v.$slots["arrow-right"]?oe(v.$slots,"arrow-right",{key:0}):re("",!0),v.$slots["arrow-right"]?re("",!0):(F(),$e(i(Ir),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0)],2),He(da,{name:i(g)(e.showYearPicker),css:i(p)},{default:be(()=>[e.showYearPicker?(F(),$e(Ya,{key:0,items:e.items,config:i(l),"is-last":i(s).autoApply&&!i(l).keepActionRow,"overlay-label":i(u)?.yearPicker?.(!0),type:"year",onToggle:_,onSelected:M[4]||(M[4]=O=>d(O))},ze({"button-icon":be(()=>[v.$slots["calendar-icon"]?oe(v.$slots,"calendar-icon",{key:0}):re("",!0),v.$slots["calendar-icon"]?re("",!0):(F(),$e(i(Oa),{key:1}))]),_:2},[v.$slots["year-overlay-value"]?{name:"item",fn:be(({item:O})=>[oe(v.$slots,"year-overlay-value",{text:O.text,value:O.value})]),key:"0"}:void 0]),1032,["items","config","is-last","overlay-label"])):re("",!0)]),_:3},8,["name","css"])],64))}}),Gr=e=>{const{getDate:t,rootEmit:n,state:a,month:r,year:o,modelValue:s,calendars:l,rootProps:u,defaults:{multiCalendars:h,range:p,safeDates:g,filters:w,highlight:c}}=Pe(),{resetDate:y,getYearFromDate:b,checkHighlightYear:_,groupListAndMap:d}=Xe(),{getYears:m}=en(),{validateMonthYear:v,checkMinMaxValue:M}=st(),O=ie([!1]),E=V(()=>m()),P=V(()=>(z,se)=>{const fe=xe(y(t()),{month:r.value(z),year:o.value(z)}),ge=se?Tr(fe):oa(fe);return v(ge,u.preventMinMaxNavigation,se)}),Y=()=>Array.isArray(s.value)&&h.value.solo&&s.value[1],N=()=>{for(let z=0;z{if(!z)return N();const se=xe(t(),l.value[z]);return l.value[0].year=he(Vr(se,h.value.count-1)),N()},H=(z,se)=>{const fe=Cs(se,z);return p.value.showLastInRange&&fe>1?se:z},q=z=>u.focusStartDate||h.value.solo?z[0]:z[1]?H(z[0],z[1]):z[0],G=()=>{if(s.value){const z=Array.isArray(s.value)?q(s.value):s.value;l.value[0]={month:Ae(z),year:he(z)}}},Z=()=>{G(),h.value.count&&N()};Je(s,(z,se)=>{a.isTextInputDate&&JSON.stringify(z??{})!==JSON.stringify(se??{})&&Z()}),je(()=>{Z()});const U=(z,se)=>{l.value[se].year=z,n("update-month-year",{instance:se,year:z,month:l.value[se].month}),h.value.count&&!h.value.solo&&W(se)},X=V(()=>z=>d(E.value,se=>{const fe=o.value(z)===se.value,ge=M(se.value,b(g.value.minDate),b(g.value.maxDate))||w.value.years?.includes(o.value(z)),ne=_(c.value,se.value);return{active:fe,disabled:ge,highlighted:ne}})),$=(z,se)=>{U(z,se),le(se)},I=(z,se=!1)=>{if(!P.value(z,se)){const fe=se?o.value(z)+1:o.value(z)-1;U(fe,z)}},le=(z,se=!1,fe)=>{se||e("reset-flow"),fe===void 0?O.value[z]=!O.value[z]:O.value[z]=fe,O.value[z]?n("overlay-toggle",{open:!0,overlay:Qe.year}):n("overlay-toggle",{open:!1,overlay:Qe.year})};return{isDisabled:P,groupedYears:X,showYearPicker:O,selectYear:U,setStartDate:()=>{u.startDate&&(s.value&&u.focusStartDate||!s.value)&&U(he(t(u.startDate)),0)},toggleYearPicker:le,handleYearSelect:$,handleYear:I}},nn=()=>{const{isDateAfter:e,isDateBefore:t,isDateEqual:n}=Xe(),{getDate:a,rootEmit:r,rootProps:o,modelValue:s,defaults:{range:l}}=Pe();return{getRangeWithFixedDate:u=>Array.isArray(s.value)&&(s.value.length===2||s.value.length===1&&l.value.partialRange)?l.value.fixedStart&&(e(u,s.value[0])||n(u,s.value[0]))?[s.value[0],u]:l.value.fixedEnd&&(t(u,s.value[1])||n(u,s.value[1]))?[u,s.value[1]]:(r("invalid-fixed-range",u),s.value):[],setPresetDate:u=>{Array.isArray(u.value)&&u.value.length<=2&&l.value.enabled?s.value=u.value.map(h=>a(h)):Array.isArray(u.value)||(s.value=a(u.value))},checkRangeAutoApply:(u,h,p)=>{l&&(u[0]&&u[1]&&o.autoApply&&h("auto-apply",p),u[0]&&!u[1]&&(o.modelAuto||l.value.partialRange)&&o.autoApply&&h("auto-apply",p))},setMonthOrYearRange:u=>{let h=s.value?s.value.slice():[];return h.length===2&&h[1]!==null&&(h=[]),h.length?(t(u,h[0])?h.unshift(u):h[1]=u,r("range-end",u)):(h=[u],r("range-start",u)),h},handleMultiDatesSelect:(u,h)=>{if(s.value&&Array.isArray(s.value))if(s.value.some(p=>n(u,p))){const p=s.value.filter(g=>!n(g,u));s.value=p.length?p:null}else(h&&+h>s.value.length||!h)&&s.value.push(u);else s.value=[u]}}},Uu=(e,t)=>{const{getDate:n,rootEmit:a,state:r,calendars:o,year:s,modelValue:l,rootProps:u,defaults:{range:h,highlight:p,safeDates:g,filters:w,multiDates:c}}=Pe();Sa(()=>{r.isTextInputDate&&$(he(n(u.startDate)),0)});const{checkMinMaxRange:y,checkMinMaxValue:b}=st(),{isDateBetween:_,resetDateTime:d,resetDate:m,getMinMonth:v,getMaxMonth:M,checkHighlightMonth:O,groupListAndMap:E}=Xe(),{checkRangeAutoApply:P,getRangeWithFixedDate:Y,handleMultiDatesSelect:N,setMonthOrYearRange:W,setPresetDate:H}=nn(),{padZero:q}=qe(),{getMonths:G,isOutOfYearRange:Z}=en(),U=V(()=>G()),X=ie(null),{selectYear:$,groupedYears:I,showYearPicker:le,toggleYearPicker:z,handleYearSelect:se,handleYear:fe,isDisabled:ge,setStartDate:ne}=Gr(t);je(()=>{ne()});const pe=A=>A?{month:Ae(A),year:he(A)}:{month:null,year:null},ue=()=>l.value?Array.isArray(l.value)?l.value.map(A=>pe(A)):pe(l.value):pe(),ke=(A,ae)=>{const ee=o.value[A],Me=ue();return Array.isArray(Me)?Me.some(_e=>_e.year===ee?.year&&_e.month===ae):ee?.year===Me.year&&ae===Me.month},me=(A,ae,ee)=>{const Me=ue();return Array.isArray(Me)?s.value(ae)===Me[ee]?.year&&A===Me[ee]?.month:!1},Te=(A,ae)=>{if(h.value.enabled){const ee=ue();if(Array.isArray(l.value)&&Array.isArray(ee)){const Me=me(A,ae,0)||me(A,ae,1),_e=xe(m(n()),{month:A,year:s.value(ae)});return _(l.value,X.value,_e)&&!Me}return!1}return!1},D=V(()=>A=>E(U.value,ae=>{const ee=ke(A,ae.value),Me=b(ae.value,v(s.value(A),g.value.minDate),M(s.value(A),g.value.maxDate))||k(g.value.disabledDates,s.value(A),ae.value)||w.value.months?.includes(ae.value)||!j(g.value.allowedDates,s.value(A),ae.value)||Z(s.value(A)),_e=Te(ae.value,A),Xt=O(p.value,ae.value,s.value(A));return{active:ee,disabled:Me,isBetween:_e,highlighted:Xt}})),R=(A,ae)=>xe(m(n()),{month:A,year:s.value(ae)}),Q=(A,ae)=>{const ee=l.value?l.value:m(n());l.value=xe(ee,{month:A,year:s.value(ae)}),t("auto-apply"),t("update-flow-step")},x=(A,ae)=>{const ee=R(A,ae);h.value.fixedEnd||h.value.fixedStart?l.value=Y(ee):l.value?y(ee,l.value)&&(l.value=W(R(A,ae))):l.value=[R(A,ae)],Ge().then(()=>{P(l.value,t,l.value.length<2)})},B=(A,ae)=>{N(R(A,ae),c.value.limit),t("auto-apply",!0)},J=(A,ae)=>(o.value[ae].month=A,L(ae,o.value[ae].year,A),c.value.enabled?B(A,ae):h.value.enabled?x(A,ae):Q(A,ae)),T=(A,ae)=>{$(A,ae),L(ae,A,null)},L=(A,ae,ee)=>{let Me=ee;if(!Me&&Me!==0){const _e=ue();Me=Array.isArray(_e)?_e[A].month:_e.month}a("update-month-year",{instance:A,year:ae,month:Me})},f=(A,ae)=>{X.value=R(A,ae)},S=A=>{H({value:A}),t("auto-apply")},k=(A,ae,ee)=>{if(A instanceof Map){const Me=`${q(ee+1)}-${ae}`;return A.size?A.has(Me):!1}return typeof A=="function"?A(d(xe(n(),{month:ee,year:ae}),!0)):!1},j=(A,ae,ee)=>{if(A instanceof Map){const Me=`${q(ee+1)}-${ae}`;return A.size?A.has(Me):!0}return!0};return{groupedMonths:D,groupedYears:I,year:s,isDisabled:ge,showYearPicker:le,modelValue:l,toggleYearPicker:z,handleYearSelect:se,handleYear:fe,presetDate:S,setHoverDate:f,selectMonth:J,selectYear:T,getModelMonthYear:ue}},ju=Ue({__name:"MonthPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply","update-flow-step","mount"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=Bt(),{rootProps:s,defaults:{config:l}}=Pe(),u=_t(o,mt.YearMode);je(()=>{a("mount")});const{groupedMonths:h,groupedYears:p,year:g,isDisabled:w,showYearPicker:c,modelValue:y,presetDate:b,setHoverDate:_,selectMonth:d,selectYear:m,toggleYearPicker:v,handleYearSelect:M,handleYear:O,getModelMonthYear:E}=Uu(r,a);return t({getSidebarProps:()=>({modelValue:y,year:g,getModelMonthYear:E,selectMonth:d,selectYear:m,handleYear:O}),presetDate:b,toggleYearPicker:P=>v(0,P)}),(P,Y)=>(F(),$e(an,{collapse:e.collapse,stretch:""},{default:be(({instances:N,wrapClass:W})=>[(F(!0),te(Se,null,Ee(N,H=>(F(),te("div",{key:H,class:ye(W)},[P.$slots["top-extra"]?oe(P.$slots,"top-extra",{key:0,value:i(y)}):re("",!0),oe(P.$slots,"month-year",vt({ref_for:!0},{year:i(g),months:i(h)(H),years:i(p)(H),selectMonth:i(d),selectYear:i(m),instance:H}),()=>[He(Ya,{items:i(h)(H),"is-last":i(s).autoApply&&!i(l).keepActionRow,height:i(l).modeHeight,"no-overlay-focus":!!(e.noOverlayFocus||i(s).textInput),"use-relative":"",level:0,type:"month",onSelected:q=>i(d)(q,H),onHoverValue:q=>i(_)(q,H)},ze({header:be(()=>[He(Qr,{items:i(p)(H),instance:H,"show-year-picker":i(c)[H],year:i(g)(H),"is-disabled":q=>i(w)(H,q),onHandleYear:q=>i(O)(H,q),onYearSelect:q=>i(M)(q,H),onToggleYearPicker:q=>i(v)(H,q?.flow,q?.show)},ze({_:2},[Ee(i(u),(q,G)=>({name:q,fn:be(Z=>[oe(P.$slots,q,vt({ref_for:!0},Z))])}))]),1032,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),_:2},[P.$slots["month-overlay-value"]?{name:"item",fn:be(({item:q})=>[oe(P.$slots,"month-overlay-value",{text:q.text,value:q.value})]),key:"0"}:void 0]),1032,["items","is-last","height","no-overlay-focus","onSelected","onHoverValue"])])],2))),128))]),_:3},8,["collapse"]))}}),zu=(e,t)=>{const{rootEmit:n,getDate:a,state:r,modelValue:o,rootProps:s,defaults:{highlight:l,multiDates:u,filters:h,range:p,safeDates:g}}=Pe(),{getYears:w}=en(),{isDateBetween:c,resetDate:y,resetDateTime:b,getYearFromDate:_,checkHighlightYear:d,groupListAndMap:m}=Xe(),{checkRangeAutoApply:v,setMonthOrYearRange:M}=nn(),{checkMinMaxValue:O,checkMinMaxRange:E}=st();Sa(()=>{r.isTextInputDate&&(Y.value=he(a(s.startDate)))});const P=ie(null),Y=ie();je(()=>{s.startDate&&(o.value&&s.focusStartDate||!o.value)&&(Y.value=he(a(s.startDate)))});const N=U=>Array.isArray(o.value)?o.value.some(X=>he(X)===U):o.value?he(o.value)===U:!1,W=U=>p.value.enabled&&Array.isArray(o.value)?c(o.value,P.value,Z(U)):!1,H=U=>g.value.allowedDates?.size?g.value.allowedDates.has(`${U}`):!0,q=U=>g.value.disabledDates instanceof Map?g.value.disabledDates.size?g.value.disabledDates.has(`${U}`):!1:typeof g.value.disabledDates=="function"?g.value.disabledDates(ct(b(oa(a())),U)):!0,G=V(()=>m(w(),U=>{const X=N(U.value),$=O(U.value,_(g.value.minDate),_(g.value.maxDate))||h.value.years.includes(U.value)||!H(U.value)||q(U.value),I=W(U.value)&&!X,le=d(l.value,U.value);return{active:X,disabled:$,isBetween:I,highlighted:le}})),Z=U=>ct(y(oa(a())),U);return{groupedYears:G,focusYear:Y,setHoverValue:U=>{P.value=ct(y(a()),U)},selectYear:U=>{if(n("update-month-year",{instance:0,year:U,month:Number.NaN}),u.value.enabled)return o.value?Array.isArray(o.value)&&((o.value?.map(X=>he(X))).includes(U)?o.value=o.value.filter(X=>he(X)!==U):o.value.push(ct(b(a()),U))):o.value=[ct(b(oa(a())),U)],t("auto-apply",!0);p.value.enabled?E(Z(U),o.value)&&(o.value=M(Z(U)),Ge().then(()=>{v(o.value,t,o.value.length<2)})):(o.value=Z(U),t("auto-apply"))}}},Ku=Ue({__name:"YearPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{modelValue:o,defaults:{config:s},rootProps:l}=Pe(),{groupedYears:u,focusYear:h,selectYear:p,setHoverValue:g}=zu(r,a);return t({getSidebarProps:()=>({modelValue:o,selectYear:p})}),(w,c)=>(F(),te("div",null,[w.$slots["top-extra"]?oe(w.$slots,"top-extra",{key:0,value:i(o)}):re("",!0),w.$slots["month-year"]?oe(w.$slots,"month-year",et(vt({key:1},{years:i(u),selectYear:i(p)}))):(F(),$e(Ya,{key:2,items:i(u),"is-last":i(l).autoApply&&!i(s).keepActionRow,height:i(s).modeHeight,"no-overlay-focus":!!(e.noOverlayFocus||i(l).textInput),"focus-value":i(h),type:"year","use-relative":"",onSelected:i(p),onHoverValue:i(g)},ze({_:2},[w.$slots["year-overlay-value"]?{name:"item",fn:be(({item:y})=>[oe(w.$slots,"year-overlay-value",{text:y.text,value:y.value})]),key:"0"}:void 0]),1032,["items","is-last","height","no-overlay-focus","focus-value","onSelected","onHoverValue"]))]))}}),Xu={key:0,class:"dp__time_input"},Qu=["data-compact","data-collapsed"],Gu=["data-test-id","aria-label","data-dp-action-element","onKeydown","onClick","onMousedown"],Zu=["aria-label","disabled","data-dp-action-element","data-test-id","onKeydown","onClick"],Ju=["data-test-id","aria-label","data-dp-action-element","onKeydown","onClick","onMousedown"],ec={key:0},tc=["aria-label","data-dp-action-element","data-compact"],ac=Ue({__name:"TimeInput",props:{hours:{},minutes:{},seconds:{},order:{},closeTimePickerBtn:{},disabledTimesConfig:{},validateTime:{}},emits:["update:hours","update:minutes","update:seconds","overlay-opened","overlay-closed","set-hours","set-minutes","reset-flow","mounted"],setup(e,{expose:t,emit:n}){const a=n,r=e,{getDate:o,rootEmit:s,rootProps:l,defaults:{ariaLabels:u,filters:h,config:p,range:g,multiCalendars:w,timeConfig:c}}=Pe(),{checkKeyDown:y,hoursToAmPmHours:b}=qe(),{boolHtmlAttribute:_}=fa(),{sanitizeTime:d,groupListAndMap:m}=Xe(),{transitionName:v,showTransition:M}=Ca(),O=Ha({hours:!1,minutes:!1,seconds:!1}),E=ie("AM"),P=ie(null),Y=ie(),N=ie(!1);je(()=>{a("mounted")});const W=k=>xe(o(),{hours:k.hours,minutes:k.minutes,seconds:c.value.enableSeconds?k.seconds:0,milliseconds:0}),H=V(()=>l.timePicker||c.value.timePickerInline?0:1),q=V(()=>k=>pe(k,r[k])||Z(k,r[k])),G=V(()=>({hours:r.hours,minutes:r.minutes,seconds:r.seconds})),Z=(k,j)=>g.value.enabled&&!g.value.disableTimeRangeValidation?!r.validateTime(k,j):!1,U=(k,j)=>{if(g.value.enabled&&!g.value.disableTimeRangeValidation){const A=j?+c.value[`${k}Increment`]:-+c.value[`${k}Increment`],ae=r[k]+A;return!r.validateTime(k,ae)}return!1},X=V(()=>k=>!D(+r[k]+ +c.value[`${k}Increment`],k)||U(k,!0)),$=V(()=>k=>!D(+r[k]-+c.value[`${k}Increment`],k)||U(k,!1)),I=(k,j)=>Dr(xe(o(),k),j),le=(k,j)=>Pi(xe(o(),k),j),z=V(()=>({dp__time_col:!0,dp__time_col_block:!c.value.timePickerInline,dp__time_col_reg_block:!c.value.enableSeconds&&c.value.is24&&!c.value.timePickerInline,dp__time_col_reg_inline:!c.value.enableSeconds&&c.value.is24&&c.value.timePickerInline,dp__time_col_reg_with_button:!c.value.enableSeconds&&!c.value.is24,dp__time_col_sec:c.value.enableSeconds&&c.value.is24,dp__time_col_sec_with_button:c.value.enableSeconds&&!c.value.is24})),se=V(()=>c.value.timePickerInline&&g.value.enabled&&!w.value.count),fe=V(()=>{const k=[{type:"hours"}];return c.value.enableMinutes&&k.push({type:"",separator:!0},{type:"minutes"}),c.value.enableSeconds&&k.push({type:"",separator:!0},{type:"seconds"}),k}),ge=V(()=>fe.value.filter(k=>!k.separator)),ne=V(()=>k=>{if(k==="hours"){const j=T(+r.hours);return{text:j<10?`0${j}`:`${j}`,value:j}}return{text:r[k]<10?`0${r[k]}`:`${r[k]}`,value:r[k]}}),pe=(k,j)=>{if(!r.disabledTimesConfig)return!1;const A=r.disabledTimesConfig(r.order,k==="hours"?j:void 0);return A[k]?!!A[k]?.includes(j):!0},ue=(k,j)=>j!=="hours"||E.value==="AM"?k:k+12,ke=k=>{const j=c.value.is24?24:12,A=k==="hours"?j:60,ae=+c.value[`${k}GridIncrement`],ee=k==="hours"&&!c.value.is24?ae:0,Me=[];for(let _e=ee;_e({active:!1,disabled:h.value.times[k].includes(_e.value)||!D(_e.value,k)||pe(k,_e.value)||Z(k,_e.value)}))},me=k=>k>=0?k:59,Te=k=>k>=0?k:23,D=(k,j)=>{const A=l.minTime?W(d(l.minTime)):null,ae=l.maxTime?W(d(l.maxTime)):null,ee=W(d(G.value,j,j==="minutes"||j==="seconds"?me(k):Te(k)));return A&&ae?(Pt(ee,ae)||ta(ee,ae))&&(wt(ee,A)||ta(ee,A)):A?wt(ee,A)||ta(ee,A):ae?Pt(ee,ae)||ta(ee,ae):!0},R=k=>c.value[`no${k[0].toUpperCase()+k.slice(1)}Overlay`],Q=k=>{R(k)||(O[k]=!O[k],O[k]?(N.value=!0,a("overlay-opened",k)):(N.value=!1,a("overlay-closed",k)))},x=k=>k==="hours"?xt:k==="minutes"?Tt:Et,B=()=>{Y.value&&clearTimeout(Y.value)},J=(k,j=!0,A)=>{const ae=j?I:le,ee=j?+c.value[`${k}Increment`]:-+c.value[`${k}Increment`];D(+r[k]+ee,k)&&a(`update:${k}`,x(k)(ae({[k]:+r[k]},{[k]:+c.value[`${k}Increment`]}))),!A?.keyboard&&p.value.timeArrowHoldThreshold&&(Y.value=setTimeout(()=>{J(k,j)},p.value.timeArrowHoldThreshold))},T=k=>c.value.is24?k:(k>=12?E.value="PM":E.value="AM",b(k)),L=()=>{E.value==="PM"?(E.value="AM",a("update:hours",r.hours-12)):(E.value="PM",a("update:hours",r.hours+12)),s("am-pm-change",E.value)},f=k=>{O[k]=!0},S=(k,j)=>(Q(k),a(`update:${k}`,j));return t({openChildCmp:f}),(k,j)=>i(l).disabled?re("",!0):(F(),te("div",Xu,[(F(!0),te(Se,null,Ee(fe.value,(A,ae)=>(F(),te("div",{key:ae,class:ye(z.value),"data-compact":se.value&&!i(c).enableSeconds,"data-collapsed":se.value&&i(c).enableSeconds},[A.separator?(F(),te(Se,{key:0},[N.value?re("",!0):(F(),te(Se,{key:0},[At(":")],64))],64)):(F(),te(Se,{key:1},[we("button",{type:"button",class:ye({dp__btn:!0,dp__inc_dec_button:!i(c).timePickerInline,dp__inc_dec_button_inline:i(c).timePickerInline,dp__tp_inline_btn_top:i(c).timePickerInline,dp__inc_dec_button_disabled:X.value(A.type),"dp--hidden-el":N.value}),"data-test-id":`${A.type}-time-inc-btn-${r.order}`,"aria-label":i(u)?.incrementValue(A.type),tabindex:"0","data-dp-action-element":H.value,onKeydown:ee=>i(y)(ee,()=>J(A.type,!0,{keyboard:!0}),!0),onClick:ee=>i(p).timeArrowHoldThreshold?void 0:J(A.type,!0),onMousedown:ee=>i(p).timeArrowHoldThreshold?J(A.type,!0):void 0,onMouseup:B},[i(c).timePickerInline?oe(k.$slots,"tp-inline-arrow-up",{key:1},()=>[j[2]||(j[2]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),j[3]||(j[3]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))]):oe(k.$slots,"arrow-up",{key:0},()=>[He(i(qr))])],42,Gu),we("button",{type:"button","aria-label":`${ne.value(A.type).text}-${i(u)?.openTpOverlay(A.type)}`,class:ye({dp__time_display:!0,dp__time_display_block:!i(c).timePickerInline,dp__time_display_inline:i(c).timePickerInline,"dp--time-invalid":q.value(A.type),"dp--time-overlay-btn":!q.value(A.type),"dp--hidden-el":N.value}),disabled:i(_)(R(A.type)),tabindex:"0","data-dp-action-element":H.value,"data-test-id":`${A.type}-toggle-overlay-btn-${r.order}`,onKeydown:ee=>i(y)(ee,()=>Q(A.type),!0),onClick:ee=>Q(A.type)},[oe(k.$slots,A.type,{text:ne.value(A.type).text,value:ne.value(A.type).value},()=>[At(Ke(ne.value(A.type).text),1)])],42,Zu),we("button",{type:"button",class:ye({dp__btn:!0,dp__inc_dec_button:!i(c).timePickerInline,dp__inc_dec_button_inline:i(c).timePickerInline,dp__tp_inline_btn_bottom:i(c).timePickerInline,dp__inc_dec_button_disabled:$.value(A.type),"dp--hidden-el":N.value}),"data-test-id":`${A.type}-time-dec-btn-${r.order}`,"aria-label":i(u)?.decrementValue(A.type),tabindex:"0","data-dp-action-element":H.value,onKeydown:ee=>i(y)(ee,()=>J(A.type,!1,{keyboard:!0}),!0),onClick:ee=>i(p).timeArrowHoldThreshold?void 0:J(A.type,!1),onMousedown:ee=>i(p).timeArrowHoldThreshold?J(A.type,!1):void 0,onMouseup:B},[i(c).timePickerInline?oe(k.$slots,"tp-inline-arrow-down",{key:1},()=>[j[4]||(j[4]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),j[5]||(j[5]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))]):oe(k.$slots,"arrow-down",{key:0},()=>[He(i(Ur))])],42,Ju)],64))],10,Qu))),128)),i(c).is24?re("",!0):(F(),te("div",ec,[oe(k.$slots,"am-pm-button",{toggle:L,value:E.value},()=>[we("button",{ref_key:"amPmButton",ref:P,type:"button",class:"dp__pm_am_button",role:"button","aria-label":i(u)?.amPmButton,tabindex:"0","data-dp-action-element":H.value,"data-compact":se.value,onClick:L,onKeydown:j[0]||(j[0]=A=>i(y)(A,()=>L(),!0))},Ke(E.value),41,tc)])])),(F(!0),te(Se,null,Ee(ge.value,(A,ae)=>(F(),$e(da,{key:ae,name:i(v)(O[A.type]),css:i(M)},{default:be(()=>[O[A.type]?(F(),$e(Ya,{key:0,items:ke(A.type),"is-last":i(l).autoApply&&!i(p).keepActionRow,type:A.type,"aria-labels":i(u),level:i(c).timePickerInline||i(l).timePicker?1:2,"overlay-label":i(u).timeOverlay?.(A.type),onSelected:ee=>S(A.type,ee),onToggle:ee=>Q(A.type),onResetFlow:j[1]||(j[1]=ee=>k.$emit("reset-flow"))},ze({"button-icon":be(()=>[oe(k.$slots,"clock-icon",{},()=>[k.$slots["clock-icon"]?re("",!0):(F(),$e(xn(i(c).timePickerInline?i(Oa):i(Hr)),{key:0}))])]),_:2},[k.$slots[`${A.type}-overlay-value`]?{name:"item",fn:be(({item:ee})=>[oe(k.$slots,`${A.type}-overlay-value`,{text:ee.text,value:ee.value})]),key:"0"}:void 0,k.$slots[`${A.type}-overlay-header`]?{name:"header",fn:be(()=>[oe(k.$slots,`${A.type}-overlay-header`,{toggle:()=>Q(A.type)})]),key:"1"}:void 0]),1032,["items","is-last","type","aria-labels","level","overlay-label","onSelected","onToggle"])):re("",!0)]),_:2},1032,["name","css"]))),128))]))}}),nc=["data-dp-mobile"],rc=["aria-label","tabindex"],oc=["role","aria-label","tabindex"],sc=["aria-label"],Zr=Ue({__name:"TimePicker",props:{hours:{},minutes:{},seconds:{},disabledTimesConfig:{type:[Function,null]},noOverlayFocus:{type:Boolean},validateTime:{type:Function}},emits:["update:hours","update:minutes","update:seconds","mount","reset-flow"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,setState:s,modelValue:l,rootProps:u,defaults:{ariaLabels:h,textInput:p,config:g,range:w,timeConfig:c}}=Pe(),{isModelAuto:y}=Xe(),{checkKeyDown:b,findFocusableEl:_}=qe(),{transitionName:d,showTransition:m}=Ca(),{hideNavigationButtons:v}=tn(),{isMobile:M}=Ja(),O=Bt(),E=Be("overlay"),P=Be("close-tp-btn"),Y=Be("tp-input"),N=ie(!1);je(()=>{a("mount")});const W=V(()=>w.value.enabled&&u.modelAuto?y(l.value):!0),H=ie(!1),q=ne=>({hours:Array.isArray(r.hours)?r.hours[ne]:r.hours,minutes:Array.isArray(r.minutes)?r.minutes[ne]:r.minutes,seconds:Array.isArray(r.seconds)?r.seconds[ne]:r.seconds}),G=V(()=>{const ne=[];if(w.value.enabled)for(let pe=0;pe<2;pe++)ne.push(q(pe));else ne.push(q(0));return ne}),Z=(ne,pe=!1,ue="")=>{pe||a("reset-flow"),H.value=ne,s("arrowNavigationLevel",ne?1:0),o("overlay-toggle",{open:ne,overlay:Qe.time}),Ge(()=>{ue!==""&&Y.value?.[0]&&Y.value[0].openChildCmp(ue)})},U=V(()=>({dp__btn:!0,dp__button:!0,dp__button_bottom:u.autoApply&&!g.value.keepActionRow})),X=_t(O,mt.TimeInput),$=(ne,pe,ue)=>w.value.enabled?pe===0?[ne,G.value[1][ue]]:[G.value[0][ue],ne]:ne,I=ne=>{a("update:hours",ne)},le=ne=>{a("update:minutes",ne)},z=ne=>{a("update:seconds",ne)},se=()=>{if(E.value&&!p.value.enabled&&!r.noOverlayFocus){const ne=_(E.value);ne&&ne.focus({preventScroll:!0})}},fe=ne=>{N.value=!1,o("overlay-toggle",{open:!1,overlay:ne})},ge=ne=>{N.value=!0,o("overlay-toggle",{open:!0,overlay:ne})};return t({toggleTimePicker:Z}),(ne,pe)=>(F(),te("div",{class:"dp--tp-wrap","data-dp-mobile":i(M)},[!i(u).timePicker&&!i(c).timePickerInline?Wa((F(),te("button",{key:0,ref:"open-tp-btn",type:"button","data-dp-action-element":"0",class:ye({...U.value,"dp--hidden-el":H.value}),"aria-label":i(h)?.openTimePicker,tabindex:e.noOverlayFocus?void 0:0,"data-test-id":"open-time-picker-btn",onKeydown:pe[0]||(pe[0]=ue=>i(b)(ue,()=>Z(!0))),onClick:pe[1]||(pe[1]=ue=>Z(!0))},[oe(ne.$slots,"clock-icon",{},()=>[He(i(Hr))])],42,rc)),[[Ia,!i(v)("time")]]):re("",!0),He(da,{name:i(d)(H.value),css:i(m)&&!i(c).timePickerInline},{default:be(()=>[H.value||i(u).timePicker||i(c).timePickerInline?(F(),te("div",{key:0,ref:"overlay",role:i(c).timePickerInline?void 0:"dialog",class:ye({dp__overlay:!i(c).timePickerInline,"dp--overlay-absolute":!i(u).timePicker&&!i(c).timePickerInline,"dp--overlay-relative":i(u).timePicker}),style:tt(i(u).timePicker?{height:`${i(g).modeHeight}px`}:void 0),"aria-label":i(h)?.timePicker,tabindex:i(c).timePickerInline?void 0:0},[we("div",{class:ye(i(c).timePickerInline?"dp__time_picker_inline_container":"dp__overlay_container dp__container_flex dp__time_picker_overlay_container"),style:{display:"flex"}},[oe(ne.$slots,"time-picker-overlay",{hours:e.hours,minutes:e.minutes,seconds:e.seconds,setHours:I,setMinutes:le,setSeconds:z},()=>[we("div",{class:ye(i(c).timePickerInline?"dp__flex":"dp__overlay_row dp__flex_row")},[(F(!0),te(Se,null,Ee(G.value,(ue,ke)=>Wa((F(),$e(ac,vt({key:ke},{ref_for:!0},{order:ke,hours:ue.hours,minutes:ue.minutes,seconds:ue.seconds,closeTimePickerBtn:P.value,disabledTimesConfig:e.disabledTimesConfig,disabled:ke===0?i(w).fixedStart:i(w).fixedEnd},{ref_for:!0,ref:"tp-input","validate-time":(me,Te)=>e.validateTime(me,$(Te,ke,me)),"onUpdate:hours":me=>I($(me,ke,"hours")),"onUpdate:minutes":me=>le($(me,ke,"minutes")),"onUpdate:seconds":me=>z($(me,ke,"seconds")),onMounted:se,onOverlayClosed:fe,onOverlayOpened:ge}),ze({_:2},[Ee(i(X),(me,Te)=>({name:me,fn:be(D=>[oe(ne.$slots,me,vt({ref_for:!0},D))])}))]),1040,["validate-time","onUpdate:hours","onUpdate:minutes","onUpdate:seconds"])),[[Ia,ke===0?!0:W.value]])),128))],2)]),!i(u).timePicker&&!i(c).timePickerInline?Wa((F(),te("button",{key:0,ref:"close-tp-btn","data-dp-action-element":"1",type:"button",class:ye({...U.value,"dp--hidden-el":N.value}),"aria-label":i(h)?.closeTimePicker,tabindex:"0",onKeydown:pe[2]||(pe[2]=ue=>i(b)(ue,()=>Z(!1))),onClick:pe[3]||(pe[3]=ue=>Z(!1))},[oe(ne.$slots,"calendar-icon",{},()=>[He(i(Oa))])],42,sc)),[[Ia,!i(v)("time")]]):re("",!0)],2)],14,oc)):re("",!0)]),_:3},8,["name","css"])],8,nc))}}),Jr=e=>{const{getDate:t,modelValue:n,time:a,rootProps:r,defaults:{range:o,timeConfig:s}}=Pe(),{isDateEqual:l,setTime:u}=Xe(),h=(P,Y)=>Array.isArray(a[P])?a[P][Y]:a[P],p=P=>s.value.enableSeconds?Array.isArray(a.seconds)?a.seconds[P]:a.seconds:0,g=(P,Y)=>P?u(Y!==void 0?{hours:h("hours",Y),minutes:h("minutes",Y),seconds:p(Y)}:{hours:a.hours,minutes:a.minutes,seconds:p()},P):Mi(t(),p(Y)),w=(P,Y)=>{a[P]=Y},c=V(()=>r.modelAuto&&o.value.enabled?Array.isArray(n.value)?n.value.length>1:!1:o.value.enabled),y=(P,Y)=>{const N=Object.fromEntries(Object.keys(a).map(W=>W===P?[W,Y]:[W,a[W]].slice()));if(c.value&&!o.value.disableTimeRangeValidation){const W=q=>n.value?u({hours:N.hours[q],minutes:N.minutes[q],seconds:N.seconds[q]},n.value[q]):null,H=q=>xi(n.value[q],0);return!(l(W(0),W(1))&&(wt(W(0),H(1))||Pt(W(1),H(0))))}return!0},b=(P,Y)=>{y(P,Y)&&(w(P,Y),e&&e())},_=P=>{b("hours",P)},d=P=>{b("minutes",P)},m=P=>{b("seconds",P)},v=(P,Y)=>{_(P.hours),d(P.minutes),m(P.seconds),n.value&&Y(n.value)},M=P=>{if(P){const Y=Array.isArray(P),N=Y?[+P[0].hours,+P[1].hours]:+P.hours,W=Y?[+P[0].minutes,+P[1].minutes]:+P.minutes,H=Y?[+(P[0].seconds??0),+(P[1].seconds??0)]:+(P.seconds??0);w("hours",N),w("minutes",W),s.value.enableSeconds&&w("seconds",H)}},O=(P,Y)=>{const N={hours:Array.isArray(a.hours)?a.hours[P]:a.hours,disabledArr:[]};return(Y||Y===0)&&(N.hours=Y),Array.isArray(r.disabledTimes)&&(N.disabledArr=o.value.enabled&&Array.isArray(r.disabledTimes[P])?r.disabledTimes[P]:r.disabledTimes),N},E=V(()=>(P,Y)=>{if(Array.isArray(r.disabledTimes)){const{disabledArr:N,hours:W}=O(P,Y),H=N.filter(q=>+q.hours===W);return H[0]?.minutes==="*"?{hours:[W],minutes:void 0,seconds:void 0}:{hours:[],minutes:H?.map(q=>+q.minutes)??[],seconds:H?.map(q=>q.seconds?+q.seconds:void 0)??[]}}return{hours:[],minutes:[],seconds:[]}});return{assignTime:w,updateHours:_,updateMinutes:d,updateSeconds:m,getSetDateTime:g,updateTimeValues:v,getSecondsValue:p,assignStartTime:M,validateTime:y,disabledTimesConfig:E}},lc=e=>{const{getDate:t,time:n,modelValue:a,state:r,defaults:{startTime:o,range:s,timeConfig:l}}=Pe(),{getTimeObj:u}=Xe();Sa(()=>{r.isTextInputDate&&O()});const{updateTimeValues:h,getSetDateTime:p,assignTime:g,assignStartTime:w,disabledTimesConfig:c,validateTime:y}=Jr(b);function b(){e("update-flow-step")}const _=P=>{const{hours:Y,minutes:N,seconds:W}=P;return{hours:+Y,minutes:+N,seconds:W?+W:0}},d=()=>{if(l.value.startTime){if(Array.isArray(l.value.startTime)){const Y=_(l.value.startTime[0]),N=_(l.value.startTime[1]);return[xe(t(),Y),xe(t(),N)]}const P=_(l.value.startTime);return xe(t(),P)}return s.value.enabled?[null,null]:null},m=()=>{if(s.value.enabled){const[P,Y]=d();a.value=[p(P,0),p(Y,1)]}else a.value=p(d())},v=P=>Array.isArray(P)?[u(t(P[0])),u(t(P[1]))]:[u(P??t())],M=(P,Y,N)=>{g("hours",P),g("minutes",Y),g("seconds",l.value.enableSeconds?N:0)},O=()=>{const[P,Y]=v(a.value);return s.value.enabled?M([P.hours,Y.hours],[P.minutes,Y.minutes],[P.seconds,Y.seconds]):M(P.hours,P.minutes,P.seconds)};je(()=>(w(o.value),a.value?O():m()));const E=()=>{Array.isArray(a.value)?a.value=a.value.map((P,Y)=>P&&p(P,Y)):a.value=p(a.value),e("time-update")};return{modelValue:a,time:n,disabledTimesConfig:c,validateTime:y,updateTime:P=>{h(P,E)}}},ic=Ue({__name:"TimePickerSolo",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["time-update","mount","reset-flow","update-flow-step"],setup(e,{expose:t,emit:n}){const a=n,r=Bt(),o=_t(r,mt.TimePicker),s=Be("time-input"),{time:l,modelValue:u,disabledTimesConfig:h,updateTime:p,validateTime:g}=lc(a);return je(()=>{a("mount")}),t({getSidebarProps:()=>({modelValue:u,time:l,updateTime:p}),toggleTimePicker:(w,c=!1,y="")=>{s.value?.toggleTimePicker(w,c,y)}}),(w,c)=>(F(),$e(an,{"multi-calendars":0,stretch:""},{default:be(({wrapClass:y})=>[we("div",{class:ye(y)},[He(Zr,vt({ref:"time-input"},w.$props,{hours:i(l).hours,minutes:i(l).minutes,seconds:i(l).seconds,"disabled-times-config":i(h),"validate-time":i(g),"onUpdate:hours":c[0]||(c[0]=b=>i(p)({hours:b,minutes:i(l).minutes,seconds:i(l).seconds})),"onUpdate:minutes":c[1]||(c[1]=b=>i(p)({hours:i(l).hours,minutes:b,seconds:i(l).seconds})),"onUpdate:seconds":c[2]||(c[2]=b=>i(p)({hours:i(l).hours,minutes:i(l).minutes,seconds:b})),onResetFlow:c[3]||(c[3]=b=>w.$emit("reset-flow"))}),ze({_:2},[Ee(i(o),(b,_)=>({name:b,fn:be(d=>[oe(w.$slots,b,et(dt(d)))])}))]),1040,["hours","minutes","seconds","disabled-times-config","validate-time"])],2)]),_:3}))}}),uc=(e,t)=>{const{getDate:n,rootProps:a,defaults:{filters:r}}=Pe(),{validateMonthYearInRange:o,validateMonthYear:s}=st(),l=(w,c)=>{let y=w;return r.value.months.includes(Ae(y))?(y=c?ft(w,1):ca(w,1),l(y,c)):y},u=(w,c)=>{let y=w;return r.value.years.includes(he(y))?(y=c?Sn(w,1):Vr(w,1),u(y,c)):y},h=(w,c=!1)=>{const y=xe(n(),{month:e.month,year:e.year});let b=w?ft(y,1):ca(y,1);a.disableYearSelect&&(b=ct(b,e.year));let _=Ae(b),d=he(b);r.value.months.includes(_)&&(b=l(b,w),_=Ae(b),d=he(b)),r.value.years.includes(d)&&(b=u(b,w),d=he(b)),o(_,d,w,a.preventMinMaxNavigation)&&p(_,d,c)},p=(w,c,y=!1)=>{t("update-month-year",{month:w,year:c,fromNav:y})},g=V(()=>w=>s(xe(n(),{month:e.month,year:e.year}),a.preventMinMaxNavigation,w));return{handleMonthYearChange:h,isDisabled:g,updateMonthYear:p}},cc={class:"dp--header-wrap"},dc={key:0,class:"dp__month_year_wrap"},fc={key:0},mc={class:"dp__month_year_wrap"},vc=["data-dp-element","aria-label","data-test-id","onClick","onKeydown"],pc=Ue({__name:"DpHeader",props:{month:{},year:{},instance:{},years:{},months:{},menuWrapRef:{}},emits:["mount","reset-flow","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,rootProps:s,modelValue:l,defaults:{ariaLabels:u,filters:h,config:p,highlight:g,safeDates:w,ui:c}}=Pe(),{transitionName:y,showTransition:b}=Ca(),{showLeftIcon:_,showRightIcon:d}=tn(),{handleMonthYearChange:m,isDisabled:v,updateMonthYear:M}=uc(r,a),{getMaxMonth:O,getMinMonth:E,getYearFromDate:P,groupListAndMap:Y,checkHighlightYear:N,checkHighlightMonth:W}=Xe(),{checkKeyDown:H}=qe(),{formatYear:q}=Nt(),{checkMinMaxValue:G}=st(),{boolHtmlAttribute:Z}=fa(),U=ie(!1),X=ie(!1),$=ie(!1);je(()=>{a("mount")});const I=R=>({get:()=>r[R],set:Q=>{const x=R===it.month?it.year:it.month;a("update-month-year",{[R]:Q,[x]:r[x]}),R===it.month?ue(!0):ke(!0)}}),le=V(I(it.month)),z=V(I(it.year)),se=V(()=>R=>({month:r.month,year:r.year,items:R===it.month?r.months:r.years,instance:r.instance,updateMonthYear:M,toggle:R===it.month?ue:ke})),fe=V(()=>r.months.find(Q=>Q.value===r.month)||{text:"",value:0}),ge=V(()=>Y(r.months,R=>{const Q=r.month===R.value,x=G(R.value,E(r.year,w.value.minDate),O(r.year,w.value.maxDate))||h.value.months.includes(R.value),B=W(g.value,R.value,r.year);return{active:Q,disabled:x,highlighted:B}})),ne=V(()=>Y(r.years,R=>{const Q=r.year===R.value,x=G(R.value,P(w.value.minDate),P(w.value.maxDate))||h.value.years.includes(R.value),B=N(g.value,R.value);return{active:Q,disabled:x,highlighted:B}})),pe=(R,Q,x)=>{x===void 0?R.value=!R.value:R.value=x,R.value?($.value=!0,o("overlay-toggle",{open:!0,overlay:Q})):($.value=!1,o("overlay-toggle",{open:!1,overlay:Q}))},ue=(R=!1,Q)=>{me(R),pe(U,Qe.month,Q)},ke=(R=!1,Q)=>{me(R),pe(X,Qe.year,Q)},me=R=>{R||a("reset-flow")},Te=V(()=>[{type:it.month,index:1,toggle:ue,modelValue:le.value,updateModelValue:R=>le.value=R,text:fe.value.text,showSelectionGrid:U.value,items:ge.value,ariaLabel:u.value?.openMonthsOverlay,overlayLabel:u.value.monthPicker?.(!0)??void 0},{type:it.year,index:2,toggle:ke,modelValue:z.value,updateModelValue:R=>z.value=R,text:q(r.year),showSelectionGrid:X.value,items:ne.value,ariaLabel:u.value?.openYearsOverlay,overlayLabel:u.value.yearPicker?.(!0)??void 0}]),D=V(()=>s.disableYearSelect?[Te.value[0]]:s.yearFirst?[...Te.value].reverse():Te.value);return t({toggleMonthPicker:ue,toggleYearPicker:ke,handleMonthYearChange:m}),(R,Q)=>(F(),te("div",cc,[R.$slots["month-year"]?(F(),te("div",dc,[oe(R.$slots,"month-year",et(dt({month:e.month,year:e.year,months:e.months,years:e.years,updateMonthYear:i(M),handleMonthYearChange:i(m),instance:e.instance,isDisabled:i(v)})))])):(F(),te(Se,{key:1},[R.$slots["top-extra"]?(F(),te("div",fc,[oe(R.$slots,"top-extra",{value:i(l)})])):re("",!0),we("div",mc,[i(_)(e.instance)&&!i(s).vertical?(F(),$e(Da,{key:0,"aria-label":i(u)?.prevMonth,disabled:i(Z)(i(v)(!1)),class:ye(i(c)?.navBtnPrev),"el-name":"action-prev",onActivate:Q[0]||(Q[0]=x=>i(m)(!1,!0))},{default:be(()=>[R.$slots["arrow-left"]?oe(R.$slots,"arrow-left",{key:0}):re("",!0),R.$slots["arrow-left"]?re("",!0):(F(),$e(i(Wr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),we("div",{class:ye(["dp__month_year_wrap",{dp__year_disable_select:i(s).disableYearSelect}])},[(F(!0),te(Se,null,Ee(D.value,x=>(F(),te(Se,{key:x.type},[we("button",{type:"button","data-dp-element":`overlay-${x.type}`,class:ye(["dp__btn dp__month_year_select",{"dp--hidden-el":$.value}]),"aria-label":`${x.text}-${x.ariaLabel}`,"data-test-id":`${x.type}-toggle-overlay-${e.instance}`,tabindex:"0","data-dp-action-element":"0",onClick:B=>x.toggle(!1),onKeydown:B=>i(H)(B,()=>x.toggle(),!0)},[R.$slots[x.type]?oe(R.$slots,x.type,{key:0,text:x.text,value:r[x.type]}):re("",!0),R.$slots[x.type]?re("",!0):(F(),te(Se,{key:1},[At(Ke(x.text),1)],64))],42,vc),He(da,{name:i(y)(x.showSelectionGrid),css:i(b)},{default:be(()=>[x.showSelectionGrid?(F(),$e(Ya,{key:0,items:x.items,"is-last":i(s).autoApply&&!i(p).keepActionRow,"skip-button-ref":!1,type:x.type,"header-refs":[],"menu-wrap-ref":e.menuWrapRef,"overlay-label":x.overlayLabel,onSelected:x.updateModelValue,onToggle:x.toggle},ze({"button-icon":be(()=>[R.$slots["calendar-icon"]?oe(R.$slots,"calendar-icon",{key:0}):re("",!0),R.$slots["calendar-icon"]?re("",!0):(F(),$e(i(Oa),{key:1}))]),_:2},[R.$slots[`${x.type}-overlay-value`]?{name:"item",fn:be(({item:B})=>[oe(R.$slots,`${x.type}-overlay-value`,{text:B.text,value:B.value})]),key:"0"}:void 0,R.$slots[`${x.type}-overlay`]?{name:"overlay",fn:be(()=>[oe(R.$slots,`${x.type}-overlay`,vt({ref_for:!0},se.value(x.type)))]),key:"1"}:void 0,R.$slots[`${x.type}-overlay-header`]?{name:"header",fn:be(()=>[oe(R.$slots,`${x.type}-overlay-header`,{toggle:x.toggle})]),key:"2"}:void 0]),1032,["items","is-last","type","menu-wrap-ref","overlay-label","onSelected","onToggle"])):re("",!0)]),_:2},1032,["name","css"])],64))),128))],2),i(_)(e.instance)&&i(s).vertical?(F(),$e(Da,{key:1,"aria-label":i(u)?.prevMonth,"el-name":"action-prev",disabled:i(Z)(i(v)(!1)),class:ye(i(c)?.navBtnPrev),onActivate:Q[1]||(Q[1]=x=>i(m)(!1,!0))},{default:be(()=>[R.$slots["arrow-up"]?oe(R.$slots,"arrow-up",{key:0}):re("",!0),R.$slots["arrow-up"]?re("",!0):(F(),$e(i(qr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),i(d)(e.instance)?(F(),$e(Da,{key:2,ref:"rightIcon","el-name":"action-next",disabled:i(Z)(i(v)(!0)),"aria-label":i(u)?.nextMonth,class:ye(i(c)?.navBtnNext),onActivate:Q[2]||(Q[2]=x=>i(m)(!0,!0))},{default:be(()=>[R.$slots[i(s).vertical?"arrow-down":"arrow-right"]?oe(R.$slots,i(s).vertical?"arrow-down":"arrow-right",{key:0}):re("",!0),R.$slots[i(s).vertical?"arrow-down":"arrow-right"]?re("",!0):(F(),$e(xn(i(s).vertical?i(Ur):i(Ir)),{key:1}))]),_:3},8,["disabled","aria-label","class"])):re("",!0)])],64))]))}}),hc={class:"dp__calendar_header",role:"row"},yc={key:0,class:"dp__calendar_header_item",role:"gridcell"},gc=["aria-label"],wc={key:0,class:"dp__calendar_item dp__week_num",role:"gridcell"},bc={class:"dp__cell_inner"},kc=["id","aria-selected","aria-disabled","aria-label","tabindex","data-test-id","data-dp-element-active","onClick","onTouchend","onKeydown","onMouseenter","onMouseleave","onMousedown"],_c=Ue({__name:"DpCalendar",props:{instance:{},mappedDates:{},month:{},year:{}},emits:["mount","select-date","set-hover-date","handle-scroll","handle-swipe"],setup(e,{expose:t,emit:n}){const a=n,r=e,{getDate:o,rootEmit:s,rootProps:l,defaults:{transitions:u,config:h,ariaLabels:p,multiCalendars:g,weekNumbers:w,multiDates:c,ui:y}}=Pe(),{isDateAfter:b,isDateEqual:_,resetDateTime:d,getCellId:m}=Xe(),{checkKeyDown:v,checkStopPropagation:M,isTouchDevice:O}=qe(),{formatWeekDay:E}=Nt(),P=Be("calendar-wrap"),Y=Be("active-tooltip"),N=ie([]),W=ie(null),H=ie(!0),q=ie(!1),G=ie(""),Z=ie({bottom:"",left:"",transform:""}),U=ie({left:"50%"});Do(P,{onSwipeEnd:(f,S)=>{h.value.noSwipe||(l.vertical?(S==="up"||S==="down")&&a("handle-swipe",S==="up"?"left":"right"):(S==="left"||S==="right")&&a("handle-swipe",S==="right"?"left":"right"))}});const X=V(()=>l.calendar?l.calendar(r.mappedDates):r.mappedDates),$=V(()=>l.dayNames?Array.isArray(l.dayNames)?l.dayNames:l.dayNames():L());je(()=>{a("mount",{cmp:"calendar",dayRefs:N.value}),h.value.monthChangeOnScroll&&P.value&&P.value.addEventListener("wheel",R,{passive:!1})}),jt(()=>{h.value.monthChangeOnScroll&&P.value&&P.value.removeEventListener("wheel",R)});const I=f=>f?l.vertical?"vNext":"next":l.vertical?"vPrevious":"previous",le=(f,S)=>{if(l.transitions){const k=d(xe(o(),{month:r.month,year:r.year}));G.value=b(d(xe(o(),{month:f,year:S})),k)?u.value[I(!0)]:u.value[I(!1)],H.value=!1,Ge(()=>{H.value=!0})}},z=V(()=>({...y.value.calendar})),se=f=>({type:"dot",...f}),fe=V(()=>f=>{const S=se(f);return{dp__marker_dot:S.type==="dot",dp__marker_line:S.type==="line"}}),ge=V(()=>f=>_(f,W.value)),ne=V(()=>({dp__calendar:!0,dp__calendar_next:g.value.count>0&&r.instance!==0})),pe=V(()=>f=>l.hideOffsetDates?f.current:!0),ue=async(f,S)=>{const{width:k,height:j}=f.getBoundingClientRect();W.value=S.value;let A={left:`${k/2}px`},ae=-50;if(await Ge(),Y.value?.[0]){const{left:ee,width:Me}=Y.value[0].getBoundingClientRect();ee<0&&(A={left:"0"},ae=0,U.value.left=`${k/2}px`),globalThis.innerWidth{const j=Yt(N.value?.[S]?.[k]);j&&(f.marker?.customPosition&&f.marker?.tooltip?.length?Z.value=f.marker.customPosition(j):await ue(j,f),s("tooltip-open",f.marker))},me=async(f,S,k)=>{if(q.value&&c.value.enabled&&c.value.dragSelect)return a("select-date",f);if(a("set-hover-date",f),f.marker?.tooltip?.length){if(l.hideOffsetDates&&!f.current)return;await ke(f,S,k)}},Te=f=>{W.value&&(W.value=null,Z.value=structuredClone({bottom:"",left:"",transform:""}),s("tooltip-close",f.marker))},D=(f,S,k)=>{f&&(Array.isArray(N.value[S])?N.value[S][k]=f:N.value[S]=[f])},R=f=>{h.value.monthChangeOnScroll&&(f.preventDefault(),a("handle-scroll",f))},Q=f=>w.value?w.value.type==="local"?Bn(f.value,{weekStartsOn:+l.weekStart,locale:l.locale}):w.value.type==="iso"?$n(f.value):typeof w.value.type=="function"?w.value.type(f.value):"":"",x=f=>{const S=f[0];return w.value?.hideOnOffsetDates?f.some(k=>k.current)?Q(S):"":Q(S)},B=(f,S,k=!0)=>{!k&&O()||(!c.value.enabled||h.value.allowPreventDefault)&&(M(f,h.value),a("select-date",S))},J=f=>{M(f,h.value)},T=f=>{c.value.enabled&&c.value.dragSelect?(q.value=!0,a("select-date",f)):c.value.enabled&&a("select-date",f)},L=()=>{const f=o(),S=ot(f,{locale:l.locale,weekStartsOn:+l.weekStart}),k=Rn(f,{locale:l.locale,weekStartsOn:+l.weekStart});return Yn({start:S,end:k}).map(j=>E(j))};return t({triggerTransition:le}),(f,S)=>(F(),te("div",{class:ye(ne.value)},[we("div",{ref:"calendar-wrap",class:ye(z.value),role:"grid"},[we("div",hc,[i(w)?(F(),te("div",yc,Ke(i(w).label),1)):re("",!0),(F(!0),te(Se,null,Ee($.value,(k,j)=>(F(),te("div",{key:j,class:"dp__calendar_header_item",role:"gridcell","data-test-id":"calendar-header","aria-label":i(p)?.weekDay?.(j)},[oe(f.$slots,"calendar-header",{day:k,index:j},()=>[At(Ke(k),1)])],8,gc))),128))]),S[2]||(S[2]=we("div",{class:"dp__calendar_header_separator"},null,-1)),He(da,{name:G.value,css:!!i(u)},{default:be(()=>[H.value?(F(),te("div",{key:0,class:"dp__calendar",role:"rowgroup",onMouseleave:S[1]||(S[1]=k=>q.value=!1)},[(F(!0),te(Se,null,Ee(X.value,(k,j)=>(F(),te("div",{key:j,class:"dp__calendar_row",role:"row"},[i(w)?(F(),te("div",wc,[we("div",bc,Ke(x(k.days)),1)])):re("",!0),(F(!0),te(Se,null,Ee(k.days,(A,ae)=>(F(),te("div",{id:i(m)(A.value),ref_for:!0,ref:ee=>D(ee,j,ae),key:ae+j,role:"gridcell",class:"dp__calendar_item","aria-selected":(A.classData.dp__active_date||A.classData.dp__range_start||A.classData.dp__range_end)??void 0,"aria-disabled":A.classData.dp__cell_disabled||void 0,"aria-label":i(p)?.day?.(A),tabindex:!A.current&&i(l).hideOffsetDates?void 0:0,"data-test-id":i(m)(A.value),"data-dp-element-active":A.classData.dp__active_date?0:void 0,"data-dp-action-element":"0",onClick:sa(ee=>B(ee,A),["prevent"]),onTouchend:ee=>B(ee,A,!1),onKeydown:ee=>i(v)(ee,()=>f.$emit("select-date",A)),onMouseenter:ee=>me(A,j,ae),onMouseleave:ee=>Te(A),onMousedown:ee=>T(A),onMouseup:S[0]||(S[0]=ee=>q.value=!1)},[we("div",{class:ye(["dp__cell_inner",A.classData])},[f.$slots.day&&pe.value(A)?oe(f.$slots,"day",{key:0,day:+A.text,date:A.value}):re("",!0),f.$slots.day?re("",!0):(F(),te(Se,{key:1},[At(Ke(A.text),1)],64)),A.marker&&pe.value(A)?oe(f.$slots,"marker",{key:2,marker:A.marker,day:+A.text,date:A.value},()=>[we("div",{class:ye(fe.value(A.marker)),style:tt(A.marker.color?{backgroundColor:A.marker.color}:{})},null,6)]):re("",!0),ge.value(A.value)?(F(),te("div",{key:3,ref_for:!0,ref:"active-tooltip",class:"dp__marker_tooltip",style:tt(Z.value)},[A.marker?.tooltip?(F(),te("div",{key:0,class:"dp__tooltip_content",onClick:J},[(F(!0),te(Se,null,Ee(A.marker.tooltip,(ee,Me)=>(F(),te("div",{key:Me,class:"dp__tooltip_text"},[oe(f.$slots,"marker-tooltip",{tooltip:ee,day:A.value},()=>[we("div",{class:"dp__tooltip_mark",style:tt(ee.color?{backgroundColor:ee.color}:{})},null,4),we("div",null,Ke(ee.text),1)])]))),128)),we("div",{class:"dp__arrow_bottom_tp",style:tt(U.value)},null,4)])):re("",!0)],4)):re("",!0)],2)],40,kc))),128))]))),128))],32)):re("",!0)]),_:3},8,["name","css"])],2)],2))}}),Dc=(e,t,n,a)=>{const r=ie([]),o=ie(new Date),s=ie(),{getDate:l,rootEmit:u,calendars:h,month:p,year:g,time:w,modelValue:c,rootProps:y,today:b,state:_,defaults:{multiCalendars:d,startTime:m,range:v,config:M,safeDates:O,multiDates:E,timeConfig:P,flow:Y}}=Pe(),{validateMonthYearInRange:N,isDisabled:W,isDateRangeAllowed:H,checkMinMaxRange:q}=st(),{updateTimeValues:G,getSetDateTime:Z,assignTime:U,assignStartTime:X,validateTime:$,disabledTimesConfig:I}=Jr(a),{formatDay:le}=Nt(),{resetDateTime:z,setTime:se,isDateBefore:fe,isDateEqual:ge,getDaysInBetween:ne}=Xe(),{checkRangeAutoApply:pe,getRangeWithFixedDate:ue,handleMultiDatesSelect:ke,setPresetDate:me}=nn(),{getMapDate:Te}=qe();Sa(()=>T(_.isTextInputDate));const D=C=>!M.value.keepViewOnOffsetClick||C?!0:!s.value,R=(C,K,de,De=!1)=>{D(De)&&(h.value[C]??=h.value[C]={month:0,year:0},h.value[C].month=K??h.value[C]?.month,h.value[C].year=de??h.value[C]?.year)},Q=()=>{y.autoApply&&t("select-date")},x=()=>{m.value&&X(m.value)};je(()=>{c.value||(Ra(),x()),T(!0),y.focusStartDate&&y.startDate&&Ra()});const B=V(()=>Y.value?.steps?.length&&!Y.value?.partial?e.flowStep===Y.value.steps.length:!0),J=()=>{y.autoApply&&B.value&&t("auto-apply",Y.value?.partial?e.flowStep!==Y.value?.steps?.length:!1)},T=(C=!1)=>{if(c.value)return Array.isArray(c.value)?(r.value=c.value,ee(C)):k(c.value,C);if(d.value.count&&C&&!y.startDate)return S(l(),C)},L=()=>Array.isArray(c.value)&&v.value.enabled?Ae(c.value[0])===Ae(c.value[1]??c.value[0]):!1,f=C=>{const K=ft(C,1);return{month:Ae(K),year:he(K)}},S=(C=l(),K=!1)=>{if((!d.value.count||!d.value.static||K)&&R(0,Ae(C),he(C)),d.value.count&&(!c.value||L()||!d.value.solo)&&(!d.value.solo||K))for(let de=1;de{S(C),U("hours",xt(C)),U("minutes",Tt(C)),U("seconds",Et(C)),d.value.count&&K&&Xt()},j=C=>{if(d.value.count){if(d.value.solo)return 0;const K=Ae(C[0]),de=Ae(C[1]);return Math.abs(de-K){C[1]&&v.value.showLastInRange?S(C[j(C)],K):S(C[0],K);const de=(De,Fe)=>[De(C[0]),C?.[1]?De(C[1]):w[Fe][1]];U("hours",de(xt,"hours")),U("minutes",de(Tt,"minutes")),U("seconds",de(Et,"seconds"))},ae=(C,K)=>{if((v.value.enabled||y.weekPicker)&&!E.value.enabled)return A(C,K);if(E.value.enabled&&K){const de=C[C.length-1];return k(de,K)}},ee=C=>{const K=c.value;ae(K,C),d.value.count&&d.value.solo&&Xt()},Me=(C,K)=>{const de=xe(l(),{month:p.value(K),year:g.value(K)}),De=C<0?ft(de,1):ca(de,1);N(Ae(De),he(De),C<0,y.preventMinMaxNavigation)&&(R(K,Ae(De),he(De)),u("update-month-year",{instance:K,month:Ae(De),year:he(De)}),d.value.count&&!d.value.solo&&_e(K),n())},_e=C=>{for(let K=C-1;K>=0;K--){const de=ca(xe(l(),{month:p.value(K+1),year:g.value(K+1)}),1);R(K,Ae(de),he(de))}for(let K=C+1;K<=d.value.count-1;K++){const de=ft(xe(l(),{month:p.value(K-1),year:g.value(K-1)}),1);R(K,Ae(de),he(de))}},Xt=()=>{if(Array.isArray(c.value)&&c.value.length===2){const C=l(l(c.value[1]??ft(c.value[0],1))),[K,de]=[Ae(c.value[0]),he(c.value[0])],[De,Fe]=[Ae(c.value[1]),he(c.value[1])];(K!==De||K===De&&de!==Fe)&&d.value.solo&&R(1,Ae(C),he(C))}else c.value&&!Array.isArray(c.value)&&(R(0,Ae(c.value),he(c.value)),S(l()))},Ra=()=>{y.startDate&&(R(0,Ae(l(y.startDate)),he(l(y.startDate))),d.value.count&&_e(0))},$a=(C,K)=>{if(M.value.monthChangeOnScroll){const de=Date.now()-o.value.getTime(),De=Math.abs(C.deltaY);let Fe=500;De>1&&(Fe=100),De>100&&(Fe=0),de>Fe&&(o.value=new Date,Me(M.value.monthChangeOnScroll==="inverse"?C.deltaY:-C.deltaY,K))}},rn=(C,K,de=!1)=>{M.value.monthChangeOnArrows&&y.vertical===de&&Ea(C,K)},Ea=(C,K)=>{Me(C==="right"?-1:1,K)},on=C=>{if(O.value.markers)return Te(C.value,O.value.markers)},sn=(C,K)=>{switch(y.sixWeeks===!0?"append":y.sixWeeks){case"prepend":return[!0,!1];case"center":return[C==0,!0];case"fair":return[C==0||K>C,!0];case"append":return[!1,!1];default:return[!1,!1]}},ln=(C,K,de,De)=>{if(y.sixWeeks&&C.length<6){const Fe=6-C.length,Ot=(K.getDay()+7-De)%7,Qt=6-(de.getDay()+7-De)%7,[pa,Fa]=sn(Ot,Qt);for(let ha=1;ha<=Fe;ha++)if(Fa?!!(ha%2)==pa:pa){const Ct=C[0].days[0],fn=ma(rt(Ct.value,-7),Ae(K));C.unshift({days:fn})}else{const Ct=C[C.length-1],fn=Ct.days[Ct.days.length-1],co=ma(rt(fn.value,1),Ae(K));C.push({days:co})}}return C},ma=(C,K)=>{const de=l(C),De=[];for(let Fe=0;Fe<7;Fe++){const Ot=rt(de,Fe),Qt=Ae(Ot)!==K;De.push({text:y.hideOffsetDates&&Qt?"":le(Ot),value:Ot,current:!Qt,classData:{}})}return De},un=(C,K)=>{const de=[],De=l(new Date(K,C)),Fe=l(new Date(K,C+1,0)),Ot=y.weekStart,Qt=ot(De,{weekStartsOn:Ot}),pa=Fa=>{const ha=ma(Fa,C);if(de.push({days:ha}),!de[de.length-1].days.some(Ct=>ge(l(Ct.value),z(Fe)))){const Ct=rt(Fa,7);pa(Ct)}};return pa(Qt),ln(de,De,Fe,Ot)},cn=C=>{const K=se({hours:w.hours,minutes:w.minutes,seconds:Na()},l(C.value));u("date-click",K),E.value.enabled?ke(K,E.value.limit):c.value=K,a(),Ge().then(()=>{J()})},Ba=C=>v.value.noDisabledRange?ne(r.value[0],C).some(K=>W(K)):!1,ce=()=>{r.value=c.value?c.value.slice().filter(C=>!!C):[],r.value.length===2&&!(v.value.fixedStart||v.value.fixedEnd)&&(r.value=[])},Ze=(C,K)=>{const de=[l(C.value),rt(l(C.value),+v.value.autoRange)];H(de)?(K&<(C.value),r.value=de):u("invalid-date",C.value)},lt=C=>{const K=Ae(l(C)),de=he(l(C));if(R(0,K,de),d.value.count>0)for(let De=1;De{if(Ba(C.value)||!q(C.value,c.value,v.value.fixedStart?0:1))return u("invalid-date",C.value);r.value=ue(l(C.value))},Ft=(C,K)=>{if(ce(),v.value.autoRange)return Ze(C,K);if(v.value.fixedStart||v.value.fixedEnd)return va(C);r.value[0]?q(l(C.value),c.value)&&!Ba(C.value)?fe(l(C.value),l(r.value[0]))?v.value.autoSwitchStartEnd?(r.value.unshift(l(C.value)),u("range-end",r.value[0])):(r.value[0]=l(C.value),u("range-start",r.value[0])):(r.value[1]=l(C.value),u("range-end",r.value[1])):u("invalid-date",C.value):(r.value[0]=l(C.value),u("range-start",r.value[0]))},Na=(C=!0)=>P.value.enableSeconds?Array.isArray(w.seconds)?C?w.seconds[0]:w.seconds[1]:w.seconds:0,dn=C=>{r.value[C]=se({hours:w.hours[C],minutes:w.minutes[C],seconds:Na(C!==1)},r.value[C])},eo=()=>{r.value[0]&&r.value[1]&&+r.value?.[0]>+r.value?.[1]&&(r.value.reverse(),u("range-start",r.value[0]),u("range-end",r.value[1]))},to=()=>{r.value.length&&(r.value[0]&&!r.value[1]?dn(0):(dn(0),dn(1),a()),eo(),c.value=r.value.slice(),pe(r.value,t,r.value.length<2||Y.value?.steps.length?e.flowStep!==Y.value?.steps?.length:!1))},ao=(C,K=!1)=>{if(W(C.value)||!C.current&&y.hideOffsetDates)return u("invalid-date",C.value);if(s.value=structuredClone(C),!v.value.enabled)return cn(C);Array.isArray(w.hours)&&Array.isArray(w.minutes)&&!E.value.enabled&&(Ft(C,K),to())},no=(C,K)=>{R(C,K.month,K.year,!0),d.value.count&&!d.value.solo&&_e(C),u("update-month-year",{instance:C,month:K.month,year:K.year}),n(d.value.solo?C:void 0);const de=Y.value?.steps?.length?Y.value.steps[e.flowStep]:void 0;!K.fromNav&&(de===Qe.month||de===Qe.year)&&a()},ro=C=>{me({value:C}),Q(),y.multiCalendars&&Ge().then(()=>T(!0))},oo=()=>{let C=l();return y.actionRow?.nowBtnRound&&(C=Di(C,{roundingMethod:y.actionRow.nowBtnRound.rounding??"ceil",nearestTo:y.actionRow.nowBtnRound.roundTo??15})),C},so=()=>{const C=oo();!v.value.enabled&&!E.value.enabled?c.value=C:c.value&&Array.isArray(c.value)&&c.value[0]?E.value.enabled?c.value=[...c.value,C]:c.value=fe(C,c.value[0])?[C,c.value[0]]:[c.value[0],C]:c.value=[C],Q()},lo=()=>{if(Array.isArray(c.value))if(E.value.enabled){const C=io();c.value[c.value.length-1]=Z(C)}else c.value=c.value.map((C,K)=>C&&Z(C,K));else c.value=Z(c.value);t("time-update")},io=()=>Array.isArray(c.value)&&c.value.length?c.value[c.value.length-1]:null,uo=C=>{let K="";if(v.value.enabled&&Array.isArray(c.value))for(const de of Object.keys(C)){const De=C[de];Array.isArray(De)&&(w[de][0]!==De[0]&&(K="range-start"),w[de][1]!==De[1]&&(K="range-start"))}return K};return{calendars:h,modelValue:c,month:p,year:g,time:w,disabledTimesConfig:I,today:b,validateTime:$,getCalendarDays:un,getMarker:on,handleScroll:$a,handleSwipe:Ea,handleArrow:rn,selectDate:ao,updateMonthYear:no,presetDate:ro,selectCurrentDate:so,updateTime:C=>{const K=uo(C);G(C,lo),K&&u(K,c.value[K==="range-start"?0:1])},assignMonthAndYear:S,setStartTime:x}},xc=()=>{const{isModelAuto:e,matchDate:t,isDateAfter:n,isDateBefore:a,isDateBetween:r,isDateEqual:o,getWeekFromDate:s,getBeforeAndAfterInRange:l}=Xe(),{getDate:u,today:h,rootProps:p,defaults:{multiCalendars:g,multiDates:w,ui:c,highlight:y,safeDates:b,range:_},modelValue:d}=Pe(),{isDisabled:m}=st(),v=ie(null),M=f=>{!f.current&&p.hideOffsetDates||(v.value=f.value)},O=()=>{v.value=null},E=f=>Array.isArray(d.value)&&_.value.enabled&&d.value[0]&&v.value?f?n(v.value,d.value[0]):a(v.value,d.value[0]):!0,P=(f,S)=>{const k=()=>d.value?S?d.value[0]||null:d.value[1]:null,j=d.value&&Array.isArray(d.value)?k():null;return o(u(f.value),j)},Y=f=>{const S=Array.isArray(d.value)?d.value[0]:null;return f?!a(v.value,S):!0},N=(f,S=!0)=>(_.value.enabled||p.weekPicker)&&Array.isArray(d.value)&&d.value.length===2?p.hideOffsetDates&&!f.current?!1:o(u(f.value),d.value[S?0:1]):_.value.enabled?P(f,S)&&Y(S)||o(f.value,Array.isArray(d.value)?d.value[0]:null)&&E(S):!1,W=(f,S)=>{if(Array.isArray(d.value)&&d.value[0]&&d.value.length===1){const k=o(f.value,v.value);return S?n(d.value[0],f.value)&&k:a(d.value[0],f.value)&&k}return!1},H=f=>!d.value||p.hideOffsetDates&&!f.current?!1:_.value.enabled?p.modelAuto&&Array.isArray(d.value)?o(f.value,d.value[0]??h):!1:w.value.enabled&&Array.isArray(d.value)?d.value.some(S=>o(S,f.value)):o(f.value,d.value?d.value:h),q=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){if(p.hideOffsetDates&&!f.current)return!1;const S=rt(v.value,+_.value.autoRange),k=s(u(v.value),p.weekStart);return p.weekPicker?o(k[1],u(f.value)):o(S,u(f.value))}return!1}return!1},G=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){const S=rt(v.value,+_.value.autoRange);if(p.hideOffsetDates&&!f.current)return!1;const k=s(u(v.value),p.weekStart);return p.weekPicker?n(f.value,k[0])&&a(f.value,k[1]):n(f.value,v.value)&&a(f.value,S)}return!1}return!1},Z=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){if(p.hideOffsetDates&&!f.current)return!1;const S=s(u(v.value),p.weekStart);return p.weekPicker?o(S[0],f.value):o(v.value,f.value)}return!1}return!1},U=f=>r(d.value,v.value,f.value),X=()=>p.modelAuto&&Array.isArray(d.value)?!!d.value[0]:!1,$=()=>p.modelAuto?e(d.value):!0,I=f=>{if(p.weekPicker)return!1;const S=_.value.enabled?!N(f)&&!N(f,!1):!0;return!m(f.value)&&!H(f)&&!(!f.current&&p.hideOffsetDates)&&S},le=f=>_.value.enabled?p.modelAuto?X()&&H(f):!1:H(f),z=f=>y.value?t(f.value,b.value.highlight):!1,se=f=>{const S=m(f.value);return S&&(typeof y.value=="function"?!y.value(f.value,S):!y.value.options.highlightDisabled)},fe=f=>typeof y.value=="function"?y.value(f.value):y.value.weekdays?.includes(f.value.getDay()),ge=f=>(_.value.enabled||p.weekPicker)&&(!(g.value.count>0)||f.current)&&$()&&!(!f.current&&p.hideOffsetDates)&&!H(f)?U(f):!1,ne=f=>{if(Array.isArray(d.value)&&d.value.length===1){const{before:S,after:k}=l(+_.value.maxRange,d.value[0]);return Pt(f.value,S)||wt(f.value,k)}return!1},pe=f=>{if(Array.isArray(d.value)&&d.value.length===1){const{before:S,after:k}=l(+_.value.minRange,d.value[0]);return r([S,k],d.value[0],f.value)}return!1},ue=f=>_.value.enabled&&(_.value.maxRange||_.value.minRange)?_.value.maxRange&&_.value.minRange?ne(f)||pe(f):_.value.maxRange?ne(f):pe(f):!1,ke=f=>{const{isRangeStart:S,isRangeEnd:k}=R(f),j=_.value.enabled?S||k:!1;return{dp__cell_offset:!f.current,dp__pointer:!p.disabled&&!(!f.current&&p.hideOffsetDates)&&!m(f.value)&&!ue(f),dp__cell_disabled:m(f.value)||ue(f),dp__cell_highlight:!se(f)&&(z(f)||fe(f))&&!le(f)&&!j&&!Z(f)&&!(ge(f)&&p.weekPicker)&&!k,dp__cell_highlight_active:!se(f)&&(z(f)||fe(f))&&le(f),dp__today:!p.noToday&&o(f.value,h)&&f.current,"dp--past":a(f.value,h),"dp--future":n(f.value,h)}},me=f=>({dp__active_date:le(f),dp__date_hover:I(f)}),Te=f=>{if(d.value&&!Array.isArray(d.value)){const S=s(d.value,p.weekStart);return{...T(f),dp__range_start:o(S[0],f.value),dp__range_end:o(S[1],f.value),dp__range_between_week:n(f.value,S[0])&&a(f.value,S[1])}}return{...T(f)}},D=f=>{if(d.value&&Array.isArray(d.value)){const S=s(d.value[0],p.weekStart),k=d.value[1]?s(d.value[1],p.weekStart):[];return{...T(f),dp__range_start:o(S[0],f.value)||o(k[0],f.value),dp__range_end:o(S[1],f.value)||o(k[1],f.value),dp__range_between_week:n(f.value,S[0])&&a(f.value,S[1])||n(f.value,k[0])&&a(f.value,k[1]),dp__range_between:n(f.value,S[1])&&a(f.value,k[0])}}return{...T(f)}},R=f=>{const S=g.value.count>0?f.current&&N(f)&&$():N(f)&&$(),k=g.value.count>0?f.current&&N(f,!1)&&$():N(f,!1)&&$();return{isRangeStart:S,isRangeEnd:k}},Q=f=>_.value.enabled&&(_.value.fixedStart||_.value.fixedEnd)&&Array.isArray(d.value)&&d.value.length===2,x=(f,S,k,j)=>!Q(d.value)||!v.value?!1:S?_.value.fixedEnd&&o(f.value,v.value)&&Pt(f.value,d.value[0])&&!k:_.value.fixedStart&&o(f.value,v.value)&&wt(f.value,d.value[1])&&!j,B=(f,S)=>!Q(d.value)||!v.value?!1:S?_.value.fixedEnd&&wt(f.value,v.value)&&Pt(f.value,d.value[0]):_.value.fixedStart&&Pt(f.value,v.value)&&wt(f.value,d.value[1]),J=f=>{const{isRangeStart:S,isRangeEnd:k}=R(f);return{dp__range_start:S,dp__range_end:k,dp__range_between:ge(f),dp__date_hover:o(f.value,v.value)&&!S&&!k&&!p.weekPicker,dp__date_hover_start:W(f,!0)||x(f,!0,S,k),dp__date_hover_end:W(f,!1)||x(f,!1,S,k),"dp--extended-fixed-start":B(f,!0),"dp--extended-fixed-end":B(f,!1)}},T=f=>({...J(f),dp__cell_auto_range:G(f),dp__cell_auto_range_start:Z(f),dp__cell_auto_range_end:q(f)}),L=f=>_.value.enabled?_.value.autoRange?T(f):p.modelAuto?{...me(f),...J(f)}:p.weekPicker?D(f):J(f):p.weekPicker?Te(f):me(f);return{setHoverDate:M,clearHoverDate:O,getDayClassData:f=>p.hideOffsetDates&&!f.current?{}:{...ke(f),...L(f),[c.value.dayClass?c.value.dayClass(f.value,d.value):""]:!0,...c.value.calendarCell}}},Mc={key:0},Pc=Ue({__name:"DatePicker",props:cr({flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},Du),emits:["mount","update-flow-step","reset-flow","focus-menu","select-date","time-update","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{month:o,year:s,modelValue:l,time:u,disabledTimesConfig:h,today:p,validateTime:g,getCalendarDays:w,getMarker:c,handleArrow:y,handleScroll:b,handleSwipe:_,selectDate:d,updateMonthYear:m,presetDate:v,selectCurrentDate:M,updateTime:O,assignMonthAndYear:E,setStartTime:P}=Dc(r,a,me,Te),Y=Bt(),{setHoverDate:N,getDayClassData:W,clearHoverDate:H}=xc(),{getDate:q,rootEmit:G,rootProps:Z,defaults:{multiCalendars:U,timeConfig:X}}=Pe(),{getYears:$,getMonths:I}=en(),{getCellId:le}=Xe(),z=Be("calendar-header"),se=Be("calendar"),fe=Be("time-picker"),ge=_t(Y,mt.Calendar),ne=_t(Y,mt.DatePickerHeader),pe=_t(Y,mt.TimePicker),ue=L=>{a("mount",L)};Je(U,(L,f)=>{L.count-f.count>0&&E()},{deep:!0});const ke=V(()=>L=>w(o.value(L),s.value(L)).map(f=>({...f,days:f.days.map(S=>(S.marker=c(S),S.classData=W(S),S))})));function me(L){L||L===0?se.value?.[L]?.triggerTransition(o.value(L),s.value(L)):se.value?.forEach((f,S)=>f?.triggerTransition(o.value(S),s.value(S)))}function Te(){a("update-flow-step")}const D=(L,f,S=0)=>{z.value?.[S]?.toggleMonthPicker(L,f)},R=(L,f,S=0)=>{z.value?.[S]?.toggleYearPicker(L,f)},Q=(L,f,S)=>{fe.value?.toggleTimePicker(L,f,S)},x=(L,f)=>{if(!Z.range){const S=l.value?l.value:p,k=f?q(f):S,j=L?ot(k,{weekStartsOn:1}):Rn(k,{weekStartsOn:1});d({value:j,current:Ae(k)===o.value(0),text:"",classData:{}}),document.getElementById(le(j))?.focus()}},B=L=>{z.value?.[0]?.handleMonthYearChange(L,!0)},J=L=>{m(0,{month:o.value(0),year:s.value(0)+(L?1:-1),fromNav:!0})},T=L=>{G("overlay-toggle",{open:!1,overlay:L}),a("focus-menu")};return t({clearHoverDate:H,presetDate:v,selectCurrentDate:M,handleArrow:y,updateMonthYear:m,setStartTime:P,toggleMonthPicker:D,toggleYearPicker:R,toggleTimePicker:Q,getSidebarProps:()=>({modelValue:l,month:o,year:s,time:u,updateTime:O,updateMonthYear:m,selectDate:d,presetDate:v}),changeMonth:B,changeYear:J,selectWeekDate:x}),(L,f)=>(F(),te(Se,null,[He(an,{collapse:e.collapse},{default:be(({instances:S,wrapClass:k})=>[(F(!0),te(Se,null,Ee(S,j=>(F(),te("div",{key:j,class:ye(k)},[i(Z).hideMonthYearSelect?re("",!0):(F(),$e(pc,{key:0,ref_for:!0,ref:"calendar-header",months:i(I)(),years:i($)(),month:i(o)(j),year:i(s)(j),instance:j,"menu-wrap-ref":e.menuWrapRef,onMount:f[0]||(f[0]=A=>ue(i(Ht).header)),onResetFlow:f[1]||(f[1]=A=>L.$emit("reset-flow")),onUpdateMonthYear:A=>i(m)(j,A),onOverlayClosed:T},ze({_:2},[Ee(i(ne),(A,ae)=>({name:A,fn:be(ee=>[oe(L.$slots,A,vt({ref_for:!0},ee))])}))]),1032,["months","years","month","year","instance","menu-wrap-ref","onUpdateMonthYear"])),He(_c,{ref_for:!0,ref:"calendar","mapped-dates":ke.value(j),instance:j,month:i(o)(j),year:i(s)(j),onSelectDate:A=>i(d)(A,j!==1),onSetHoverDate:f[2]||(f[2]=A=>i(N)(A)),onHandleScroll:A=>i(b)(A,j),onHandleSwipe:A=>i(_)(A,j),onMount:f[3]||(f[3]=A=>ue(i(Ht).calendar))},ze({_:2},[Ee(i(ge),(A,ae)=>({name:A,fn:be(ee=>[oe(L.$slots,A,vt({ref_for:!0},ee))])}))]),1032,["mapped-dates","instance","month","year","onSelectDate","onHandleScroll","onHandleSwipe"])],2))),128))]),_:3},8,["collapse"]),i(X).enableTimePicker?(F(),te("div",Mc,[oe(L.$slots,"time-picker",et(dt({time:i(u),updateTime:i(O)})),()=>[He(Zr,{ref:"time-picker",hours:i(u).hours,minutes:i(u).minutes,seconds:i(u).seconds,"disabled-times-config":i(h),"validate-time":i(g),"no-overlay-focus":e.noOverlayFocus,onMount:f[4]||(f[4]=S=>ue(i(Ht).timePicker)),"onUpdate:hours":f[5]||(f[5]=S=>i(O)({hours:S,minutes:i(u).minutes,seconds:i(u).seconds})),"onUpdate:minutes":f[6]||(f[6]=S=>i(O)({hours:i(u).hours,minutes:S,seconds:i(u).seconds})),"onUpdate:seconds":f[7]||(f[7]=S=>i(O)({hours:i(u).hours,minutes:i(u).minutes,seconds:S})),onResetFlow:f[8]||(f[8]=S=>L.$emit("reset-flow"))},ze({_:2},[Ee(i(pe),(S,k)=>({name:S,fn:be(j=>[oe(L.$slots,S,et(dt(j)))])}))]),1032,["hours","minutes","seconds","disabled-times-config","validate-time","no-overlay-focus"])])])):re("",!0)],64))}}),Ac=(e,t)=>{const{getDate:n,modelValue:a,year:r,calendars:o,defaults:{highlight:s,range:l,multiDates:u}}=Pe(),{isDateBetween:h,isDateEqual:p}=Xe(),{checkRangeAutoApply:g,handleMultiDatesSelect:w,setMonthOrYearRange:c}=nn();Sa();const{isDisabled:y}=st(),{formatQuarterText:b}=Nt(),{selectYear:_,groupedYears:d,showYearPicker:m,isDisabled:v,toggleYearPicker:M,handleYearSelect:O,handleYear:E,setStartDate:P}=Gr(t),Y=ie();je(()=>{P()});const N=V(()=>$=>a.value?Array.isArray(a.value)?a.value.some(I=>nr($,I)):nr(a.value,$):!1),W=$=>{if(l.value.enabled){if(Array.isArray(a.value)){const I=p($,a.value[0])||p($,a.value[1]);return h(a.value,Y.value,$)&&!I}return!1}return!1},H=($,I)=>$.quarter===Gn(I)&&$.year===he(I),q=$=>typeof s.value=="function"?s.value({quarter:Gn($),year:he($)}):s.value.quarters.some(I=>H(I,$)),G=V(()=>$=>{const I=xe(n(),{year:r.value($)});return Ss({start:oa(I),end:Tr(I)}).map(le=>{const z=Lt(le),se=Zn(le),fe=y(le),ge=W(z),ne=q(z);return{text:b(z,se),value:z,active:N.value(z),highlighted:ne,disabled:fe,isBetween:ge}})}),Z=$=>{w($,u.value.limit),t("auto-apply",!0)},U=$=>{a.value=c($),g(a.value,t,a.value.length<2)},X=$=>{a.value=$,t("auto-apply")};return{groupedYears:d,year:r,isDisabled:v,quarters:G,showYearPicker:m,modelValue:a,selectYear:_,toggleYearPicker:M,handleYearSelect:O,handleYear:E,setHoverDate:$=>{Y.value=$},selectQuarter:($,I,le)=>{if(!le)return o.value[I].month=Ae(Zn($)),u.value.enabled?Z($):l.value.enabled?U($):X($)}}},Tc={class:"dp--quarter-items"},Oc=["data-test-id","disabled","onClick","onMouseover"],Cc=Ue({__name:"QuarterPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaults:{config:o}}=Pe(),s=Bt(),{boolHtmlAttribute:l}=fa(),u=_t(s,mt.YearMode),{groupedYears:h,year:p,isDisabled:g,quarters:w,modelValue:c,showYearPicker:y,setHoverDate:b,selectQuarter:_,toggleYearPicker:d,handleYearSelect:m,handleYear:v}=Ac(r,a);return t({getSidebarProps:()=>({modelValue:c,year:p,selectQuarter:_,handleYearSelect:m,handleYear:v})}),(M,O)=>(F(),$e(an,{collapse:e.collapse,stretch:""},{default:be(({instances:E,wrapClass:P})=>[(F(!0),te(Se,null,Ee(E,Y=>(F(),te("div",{key:Y,class:ye(P)},[we("div",{class:"dp-quarter-picker-wrap",style:tt({minHeight:`${i(o).modeHeight}px`})},[M.$slots["top-extra"]?oe(M.$slots,"top-extra",{key:0,value:i(c)}):re("",!0),we("div",null,[He(Qr,{items:i(h)(Y),instance:Y,"show-year-picker":i(y)[Y],year:i(p)(Y),"is-disabled":N=>i(g)(Y,N),onHandleYear:N=>i(v)(Y,N),onYearSelect:N=>i(m)(N,Y),onToggleYearPicker:N=>i(d)(Y,N?.flow,N?.show)},ze({_:2},[Ee(i(u),(N,W)=>({name:N,fn:be(H=>[oe(M.$slots,N,vt({ref_for:!0},H))])}))]),1032,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),we("div",Tc,[(F(!0),te(Se,null,Ee(i(w)(Y),(N,W)=>(F(),te("div",{key:W},[we("button",{type:"button",class:ye(["dp--qr-btn",{"dp--qr-btn-active":N.active,"dp--qr-btn-between":N.isBetween,"dp--qr-btn-disabled":N.disabled,"dp--highlighted":N.highlighted}]),"data-dp-action-element":"0","data-test-id":N.value,disabled:i(l)(N.disabled),onClick:H=>i(_)(N.value,Y,N.disabled),onMouseover:H=>i(b)(N.value)},[oe(M.$slots,"quarter",{value:N.value,text:N.text},()=>[At(Ke(N.text),1)])],42,Oc)]))),128))])],4)],2))),128))]),_:3},8,["collapse"]))}}),Sc=["id","tabindex","role","aria-label"],Yc={key:0,class:"dp--menu-load-container"},Rc={key:1,class:"dp--menu-header"},$c=["data-dp-mobile"],Ec={key:0,class:"dp__sidebar_left"},Bc=["data-dp-mobile"],Nc=["data-test-id","data-dp-mobile","onClick","onKeydown"],Fc={class:"dp__instance_calendar"},Vc={key:2,class:"dp__sidebar_right"},Lc={key:2,class:"dp__action_extra"},Wc=Ue({__name:"DatepickerMenu",props:{collapse:{type:Boolean},noOverlayFocus:{type:Boolean},getInputRect:{type:Function}},emits:["close-picker","select-date","auto-apply","time-update","menu-blur"],setup(e,{expose:t,emit:n}){const a=n,r=Bt(),{state:o,rootProps:s,defaults:{textInput:l,inline:u,config:h,ui:p,ariaLabels:g},setState:w}=Pe(),{isMobile:c}=Ja(),{handleEventPropagation:y,getElWithin:b,checkStopPropagation:_,checkKeyDown:d}=qe();$i();const m=Be("inner-menu"),v=Be("dp-menu"),M=Be("dyn-cmp"),O=ie(0),E=ie(!1),P=ie(!1),{flowStep:Y,updateFlowStep:N,childMount:W,resetFlow:H,handleFlow:q}=Bi(M),G=T=>{P.value=!0,h.value.allowPreventDefault&&T.preventDefault(),_(T,h.value,!0)};je(()=>{E.value=!0,Z(),globalThis.addEventListener("resize",Z);const T=Yt(v);T&&!l.value.enabled&&!u.value.enabled&&w("menuFocused",!0),T&&(T.addEventListener("pointerdown",G),T.addEventListener("mousedown",G)),document.addEventListener("mousedown",J)}),jt(()=>{globalThis.removeEventListener("resize",Z),document.removeEventListener("mousedown",J);const T=Yt(v);T&&(T.removeEventListener("pointerdown",G),T.removeEventListener("mousedown",G))});const Z=()=>{const T=Yt(m);T&&(O.value=T.getBoundingClientRect().width)},U=V(()=>s.monthPicker?ju:s.yearPicker?Ku:s.timePicker?ic:s.quarterPicker?Cc:Pc),X=()=>{const T=Yt(v);T&&T.focus({preventScroll:!0})},$=V(()=>M.value?.getSidebarProps()||{}),I=_t(r,mt.ActionRow),le=_t(r,mt.PassTrough),z=V(()=>({dp__menu_disabled:s.disabled,dp__menu_readonly:s.readonly,"dp-menu-loading":s.loading})),se=V(()=>({dp__menu:!0,dp__menu_index:!u.value.enabled,dp__relative:u.value.enabled,...p.value.menu})),fe=T=>{_(T,h.value,!0)},ge=T=>{h.value.escClose&&(a("close-picker"),y(T,h.value))},ne=T=>{s.arrowNavigation||(T===ut.left||T===ut.up?me("handleArrow",ut.left,0,T===ut.up):me("handleArrow",ut.right,0,T===ut.down))},pe=T=>{w("shiftKeyInMenu",T.shiftKey),!s.hideMonthYearSelect&&T.code===Re.tab&&T.target.classList.contains("dp__menu")&&o.shiftKeyInMenu&&(T.preventDefault(),_(T,h.value,!0),a("close-picker"))},ue=T=>{M.value?.toggleTimePicker(!1,!1),M.value?.toggleMonthPicker(!1,!1,T),M.value?.toggleYearPicker(!1,!1,T)},ke=(T,L=0)=>T==="month"?M.value?.toggleMonthPicker(!1,!0,L):T==="year"?M.value?.toggleYearPicker(!1,!0,L):T==="time"?M.value?.toggleTimePicker(!0,!1):ue(L),me=(T,...L)=>{M.value?.[T]&&M.value?.[T](...L)},Te=()=>{me("selectCurrentDate")},D=T=>{me("presetDate",wo(T))},R=()=>{me("clearHoverDate")},Q=(T,L)=>{me("updateMonthYear",T,L)},x=(T,L)=>{T.preventDefault(),ne(L)},B=T=>{if(pe(T),T.key===Re.home||T.key===Re.end)return me("selectWeekDate",T.key===Re.home,T.target.getAttribute("id"));switch((T.key===Re.pageUp||T.key===Re.pageDown)&&(T.shiftKey?(me("changeYear",T.key===Re.pageUp),b(v.value,"overlay-year")?.focus()):(me("changeMonth",T.key===Re.pageUp),b(v.value,T.key===Re.pageUp?"action-prev":"action-next")?.focus()),T.target.getAttribute("id")&&v.value?.focus({preventScroll:!0})),T.key){case Re.esc:return ge(T);case Re.arrowLeft:return x(T,ut.left);case Re.arrowRight:return x(T,ut.right);case Re.arrowUp:return x(T,ut.up);case Re.arrowDown:return x(T,ut.down);default:return}},J=T=>{u.value.enabled&&!u.value.input&&!v.value?.contains(T.target)&&P.value&&(P.value=!1,a("menu-blur"))};return t({updateMonthYear:Q,switchView:ke,onValueCleared:()=>{M.value?.setStartTime?.()},handleFlow:q}),(T,L)=>(F(),te("div",{id:i(s).menuId,ref:"dp-menu",tabindex:i(u).enabled?void 0:"0",role:i(u).enabled?void 0:"dialog","aria-label":i(g)?.menu,class:ye(se.value),onMouseleave:R,onClick:fe,onKeydown:B},[(i(s).disabled||i(s).readonly)&&i(u).enabled||i(s).loading?(F(),te("div",{key:0,class:ye(z.value)},[i(s).loading?(F(),te("div",Yc,[...L[5]||(L[5]=[we("span",{class:"dp--menu-loader"},null,-1)])])):re("",!0)],2)):re("",!0),T.$slots["menu-header"]?(F(),te("div",Rc,[oe(T.$slots,"menu-header")])):re("",!0),oe(T.$slots,"arrow"),we("div",{ref:"inner-menu",class:ye({dp__menu_content_wrapper:i(s).presetDates?.length||!!T.$slots["left-sidebar"]||!!T.$slots["right-sidebar"],"dp--menu-content-wrapper-collapsed":e.collapse&&(i(s).presetDates?.length||!!T.$slots["left-sidebar"]||!!T.$slots["right-sidebar"])}),"data-dp-mobile":i(c),style:tt({"--dp-menu-width":`${O.value}px`})},[T.$slots["left-sidebar"]?(F(),te("div",Ec,[oe(T.$slots,"left-sidebar",et(dt($.value)))])):re("",!0),i(s).presetDates.length?(F(),te("div",{key:1,class:ye({"dp--preset-dates-collapsed":e.collapse,"dp--preset-dates":!0}),"data-dp-mobile":i(c)},[(F(!0),te(Se,null,Ee(i(s).presetDates,(f,S)=>(F(),te(Se,{key:S},[f.slot?oe(T.$slots,f.slot,{key:0,presetDate:D,label:f.label,value:f.value}):(F(),te("button",{key:1,type:"button",style:tt(f.style||{}),class:ye(["dp__btn dp--preset-range",{"dp--preset-range-collapsed":e.collapse}]),"data-test-id":f.testId??void 0,"data-dp-mobile":i(c),onClick:sa(k=>D(f.value),["prevent"]),onKeydown:k=>i(d)(k,()=>D(f.value),!0)},Ke(f.label),47,Nc))],64))),128))],10,Bc)):re("",!0),we("div",Fc,[(F(),$e(xn(U.value),{ref:"dyn-cmp","flow-step":i(Y),collapse:e.collapse,"no-overlay-focus":e.noOverlayFocus,"menu-wrap-ref":v.value,onMount:i(W),onUpdateFlowStep:i(N),onResetFlow:i(H),onFocusMenu:X,onSelectDate:L[0]||(L[0]=f=>T.$emit("select-date")),onAutoApply:L[1]||(L[1]=f=>T.$emit("auto-apply",f)),onTimeUpdate:L[2]||(L[2]=f=>T.$emit("time-update"))},ze({_:2},[Ee(i(le),(f,S)=>({name:f,fn:be(k=>[oe(T.$slots,f,et(dt({...k})))])}))]),1064,["flow-step","collapse","no-overlay-focus","menu-wrap-ref","onMount","onUpdateFlowStep","onResetFlow"]))]),T.$slots["right-sidebar"]?(F(),te("div",Vc,[oe(T.$slots,"right-sidebar",et(dt($.value)))])):re("",!0)],14,$c),T.$slots["action-extra"]?(F(),te("div",Lc,[T.$slots["action-extra"]?oe(T.$slots,"action-extra",{key:0,selectCurrentDate:Te}):re("",!0)])):re("",!0),!i(s).autoApply||i(h).keepActionRow?(F(),$e(Nu,{key:3,"menu-mount":E.value,"calendar-width":O.value,onClosePicker:L[3]||(L[3]=f=>T.$emit("close-picker")),onSelectDate:L[4]||(L[4]=f=>T.$emit("select-date")),onSelectNow:Te},ze({_:2},[Ee(i(I),(f,S)=>({name:f,fn:be(k=>[oe(T.$slots,f,et(dt(k)))])}))]),1032,["menu-mount","calendar-width"])):re("",!0)],42,Sc))}}),Ic=["data-dp-mobile"],Hc=Ue({__name:"VueDatePicker",setup(e,{expose:t}){const{rootEmit:n,setState:a,inputValue:r,modelValue:o,rootProps:s,defaults:{inline:l,config:u,textInput:h,range:p,multiDates:g,teleport:w,floatingConfig:c}}=Pe(),{validateDate:y,isValidTime:b}=st(),{menuTransition:_,showTransition:d}=Ca(),{isMobile:m}=Ja(),{findNextFocusableElement:v,getNumVal:M}=qe(),O=Bt(),E=ie(!1),P=ie(l.value.enabled||s.centered),Y=Vn(s,"modelValue"),N=Vn(s,"timezone"),W=Be("dp-menu-wrap"),H=Be("dp-menu"),q=Be("input-cmp"),G=Be("picker-wrapper"),Z=Be("menu-arrow"),U=ie(!1),X=ie(!1),$=ie(!1),I=ie(!0),le=ce=>(c.value.arrow&&ce.push(ws({element:c.value.arrow===!0?Z:c.value.arrow})),c.value.flip&&ce.push(ps(typeof c.value.flip=="object"?c.value.flip:{})),c.value.shift&&ce.push(vs(typeof c.value.shift=="object"?c.value.shift:{})),ce),{floatingStyles:z,middlewareData:se,placement:fe,y:ge}=bs(q,W,{strategy:c.value.strategy,placement:c.value.placement,middleware:le([ms(c.value.offset)]),whileElementsMounted:fs});je(()=>{ue(s.modelValue),Ge().then(()=>{l.value.enabled||globalThis.addEventListener("resize",J)}),l.value.enabled&&(E.value=!0),globalThis.addEventListener("keyup",T),globalThis.addEventListener("keydown",L)}),jt(()=>{l.value.enabled||globalThis.removeEventListener("resize",J),globalThis.removeEventListener("keyup",T),globalThis.removeEventListener("keydown",L)});const ne=Xr(O,s.presetDates),pe=_t(O,mt.Input);Je([Y,N],()=>{ue(Y.value)},{deep:!0}),Je([fe,ge],()=>{!l.value.enabled&&!s.centered&&I.value&&(P.value=!1,Ge().then(()=>{I.value=!1,P.value=!0}))});const{parseExternalModelValue:ue,emitModelValue:ke,formatInputValue:me,checkBeforeEmit:Te}=Ei(),D=V(()=>({dp__main:!0,dp__theme_dark:s.dark,dp__theme_light:!s.dark,dp__flex_display:l.value.enabled,"dp--flex-display-collapsed":$.value,dp__flex_display_with_input:l.value.input})),R=V(()=>s.dark?"dp__theme_dark":"dp__theme_light"),Q=V(()=>l.value.enabled&&(s.timePicker||s.monthPicker||s.yearPicker||s.quarterPicker)),x=()=>q.value?.$el?.getBoundingClientRect()??{width:0,left:0,right:0},B=()=>{E.value&&u.value.closeOnScroll&&_e()},J=()=>{const ce=H.value?.$el.getBoundingClientRect().width??0;$.value=document.body.offsetWidth<=ce},T=ce=>{ce.key==="Tab"&&!l.value.enabled&&!s.teleport&&u.value.tabOutClosesMenu&&(G.value.contains(document.activeElement)||_e()),X.value=ce.shiftKey},L=ce=>{X.value=ce.shiftKey},f=()=>{!s.disabled&&!s.readonly&&(I.value=!0,E.value=!0,E.value&&n("open"),E.value||Me(),ue(s.modelValue))},S=()=>{r.value="",Me(),H.value?.onValueCleared(),q.value?.setParsedDate(null),n("update:model-value",null),n("cleared"),u.value.closeOnClearValue&&_e()},k=()=>{const ce=o.value;return!ce||!Array.isArray(ce)&&y(ce)?!0:Array.isArray(ce)?g.value.enabled||ce.length===2&&y(ce[0])&&y(ce[1])?!0:p.value.partialRange&&!s.timePicker?y(ce[0]):!1:!1},j=()=>{Te()&&k()?(ke(),_e()):n("invalid-select")},A=ce=>{ae(),ke(),u.value.closeOnAutoApply&&!ce&&_e()},ae=()=>{q.value&&h.value.enabled&&q.value.setParsedDate(o.value)},ee=(ce=!1)=>{s.autoApply&&b(o.value)&&k()&&(p.value.enabled&&Array.isArray(o.value)?(p.value.partialRange||o.value.length===2)&&A(ce):A(ce))},Me=()=>{h.value.enabled||(o.value=null)},_e=(ce=!1)=>{I.value=!0,ce&&o.value&&u.value.setDateOnMenuClose&&j(),l.value.enabled||(E.value&&(E.value=!1,a("menuFocused",!1),a("shiftKeyInMenu",!1),n("closed"),r.value&&ue(Y.value)),Me(),n("blur"))},Xt=(ce,Ze,lt=!1)=>{if(!ce){o.value=null;return}const va=Array.isArray(ce)?ce.every(Na=>y(Na)):y(ce),Ft=b(ce);va&&Ft?(a("isTextInputDate",!0),o.value=ce,Ze?(U.value=lt,j(),n("text-submit")):s.autoApply&&ee(!0),Ge().then(()=>{a("isTextInputDate",!1)})):n("invalid-date",ce)},Ra=()=>{s.autoApply&&b(o.value)&&ke(),ae()},$a=()=>E.value?_e():f(),rn=ce=>{o.value=ce},Ea=()=>{h.value.enabled&&(a("isInputFocused",!0),me()),n("focus")},on=()=>{h.value.enabled&&(a("isInputFocused",!1),ue(s.modelValue),U.value&&v(G.value,X.value)?.focus()),n("blur")},sn=(ce,Ze)=>{H.value&&H.value.updateMonthYear(Ze??0,{month:M(ce.month),year:M(ce.year)})},ln=ce=>{ue(ce??s.modelValue)},ma=(ce,Ze)=>{H.value?.switchView(ce,Ze)},un=(ce,Ze)=>{if(E.value)return u.value.onClickOutside?u.value.onClickOutside(ce,Ze):_e(!0)},cn=(ce=0)=>{H.value?.handleFlow(ce)},Ba=()=>W;return _o(W,ce=>un(k,ce),{ignore:[q]}),t({closeMenu:_e,selectDate:j,clearValue:S,openMenu:f,onScroll:B,formatInputValue:me,updateInternalModelValue:rn,setMonthYear:sn,parseModel:ln,switchView:ma,toggleMenu:$a,handleFlow:cn,getDpWrapMenuRef:Ba,dpMenuRef:()=>H,dpWrapMenuRef:()=>W,inputRef:()=>q}),(ce,Ze)=>(F(),te("div",{ref:"picker-wrapper",class:ye(D.value),"data-datepicker-instance":"","data-dp-mobile":i(m)},[He(Yu,{ref:"input-cmp","is-menu-open":E.value,onClear:S,onOpen:f,onSetInputDate:Xt,onSetEmptyDate:i(ke),onSelectDate:j,onToggle:$a,onClose:_e,onFocus:Ea,onBlur:on,onRealBlur:Ze[0]||(Ze[0]=lt=>i(a)("isInputFocused",!1))},ze({_:2},[Ee(i(pe),(lt,va)=>({name:lt,fn:be(Ft=>[oe(ce.$slots,lt,et(dt(Ft)))])}))]),1032,["is-menu-open","onSetEmptyDate"]),He(yo,{to:i(w),disabled:!i(w)},{default:be(()=>[we("div",{ref:"dp-menu-wrap",class:ye({"dp--menu-wrapper":!i(l).enabled,dp__outer_menu_wrap:!0,"dp--centered":i(s).centered}),style:tt(!i(l).enabled&&!i(s).centered?i(z):void 0)},[He(da,{name:i(_)(i(fe).startsWith("top")),css:i(d)&&!i(l).enabled&&!i(s).centered&&P.value},{default:be(()=>[E.value&&P.value?(F(),$e(Wc,{key:0,ref:"dp-menu",class:ye({[R.value]:!0}),"no-overlay-focus":Q.value,collapse:$.value,"get-input-rect":x,onClosePicker:_e,onSelectDate:j,onAutoApply:ee,onTimeUpdate:Ra,onMenuBlur:Ze[1]||(Ze[1]=lt=>i(n)("blur"))},ze({_:2},[Ee(i(ne),(lt,va)=>({name:lt,fn:be(Ft=>[oe(ce.$slots,lt,et(dt({...Ft})))])})),!i(l).enabled&&!i(s).centered&&i(c).arrow===!0?{name:"arrow",fn:be(()=>[we("div",{ref:"menu-arrow",class:ye({dp__arrow_top:i(fe)==="bottom",dp__arrow_bottom:i(fe)==="top"}),style:tt({left:i(se).arrow?.x!=null?`${i(se).arrow.x}px`:"",top:i(se).arrow?.y!=null?`${i(se).arrow.y}px`:""})},null,6)]),key:"0"}:void 0]),1032,["class","no-overlay-focus","collapse"])):re("",!0)]),_:3},8,["name","css"])],6)]),_:3},8,["to","disabled"])],10,Ic))}}),jc=Ue({__name:"VueDatePickerRoot",props:cr({multiCalendars:{type:[Boolean,Number,String,Object]},modelValue:{},modelType:{},dark:{type:Boolean},transitions:{type:[Boolean,Object]},ariaLabels:{},hideNavigation:{},timezone:{},vertical:{type:Boolean},hideMonthYearSelect:{type:Boolean},disableYearSelect:{type:Boolean},yearRange:{},autoApply:{type:Boolean},disabledDates:{type:[Array,Function]},startDate:{},hideOffsetDates:{type:Boolean},noToday:{type:Boolean},allowedDates:{},markers:{},presetDates:{},flow:{},preventMinMaxNavigation:{type:Boolean},reverseYears:{type:Boolean},weekPicker:{type:Boolean},filters:{},arrowNavigation:{type:Boolean},highlight:{type:[Function,Object]},teleport:{type:[String,Boolean]},centered:{type:Boolean},locale:{},weekStart:{},weekNumbers:{type:[Boolean,Object]},dayNames:{type:[Function,Array]},monthPicker:{type:Boolean},yearPicker:{type:Boolean},modelAuto:{type:Boolean},formats:{},multiDates:{type:[Boolean,Object]},minDate:{},maxDate:{},minTime:{},maxTime:{},inputAttrs:{},timeConfig:{},placeholder:{},timePicker:{type:Boolean},range:{type:[Boolean,Object]},menuId:{},disabled:{type:Boolean},readonly:{type:Boolean},inline:{type:[Boolean,Object]},textInput:{type:[Boolean,Object]},sixWeeks:{type:[Boolean,String]},actionRow:{},focusStartDate:{type:Boolean},disabledTimes:{type:[Function,Array]},calendar:{type:Function},config:{},quarterPicker:{type:Boolean},yearFirst:{type:Boolean},loading:{type:Boolean},ui:{},floating:{}},xu),emits:["update:model-value","internal-model-change","text-submit","text-input","open","closed","focus","blur","cleared","flow-step","update-month-year","invalid-select","invalid-fixed-range","invalid-date","tooltip-open","tooltip-close","am-pm-change","range-start","range-end","date-click","overlay-toggle","invalid"],setup(e,{expose:t,emit:n}){const a=n,r=e;Yi(r,a);const o=Bt(),s=Xr(o,r.presetDates),l=Be("date-picker");return t(Pu(l)),(u,h)=>(F(),$e(Hc,{ref:"date-picker"},ze({_:2},[Ee(i(s),(p,g)=>({name:p,fn:be(w=>[oe(u.$slots,p,et(dt(w)))])}))]),1536))}});export{jc as Z}; +import{q as V,r as ie,Q as fo,I as Je,a6 as mo,a7 as vo,a8 as Gt,u as i,B as Ue,a9 as cr,aa as Bt,a0 as Be,j as $e,ab as ze,i as Ee,J as Ha,ac as po,ad as ho,ae as Vn,o as je,Z as Ge,V as jt,c as te,f as F,b as He,w as be,af as oe,ag as et,ah as dt,a as we,k as da,d as re,s as tt,n as ye,ai as yo,aj as go,a3 as sa,F as Se,t as Ke,l as xn,P as wo,R as Ie,ak as vt,e as At,al as bo,m as Wa,am as Ia,H as ko}from"./index-Y3pG9DoR.js";import{o as _o,u as Yt,a as Do}from"./index-DLUQT8ia.js";const la=Math.min,It=Math.max,qa=Math.round,Va=Math.floor,kt=e=>({x:e,y:e}),xo={left:"right",right:"left",bottom:"top",top:"bottom"},Mo={start:"end",end:"start"};function hn(e,t,n){return It(e,la(t,n))}function Ma(e,t){return typeof e=="function"?e(t):e}function qt(e){return e.split("-")[0]}function Pa(e){return e.split("-")[1]}function dr(e){return e==="x"?"y":"x"}function Mn(e){return e==="y"?"height":"width"}const Po=new Set(["top","bottom"]);function Rt(e){return Po.has(qt(e))?"y":"x"}function Pn(e){return dr(Rt(e))}function Ao(e,t,n){n===void 0&&(n=!1);const a=Pa(e),r=Pn(e),o=Mn(r);let s=r==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=Ua(s)),[s,Ua(s)]}function To(e){const t=Ua(e);return[yn(e),t,yn(t)]}function yn(e){return e.replace(/start|end/g,t=>Mo[t])}const Ln=["left","right"],Wn=["right","left"],Oo=["top","bottom"],Co=["bottom","top"];function So(e,t,n){switch(e){case"top":case"bottom":return n?t?Wn:Ln:t?Ln:Wn;case"left":case"right":return t?Oo:Co;default:return[]}}function Yo(e,t,n,a){const r=Pa(e);let o=So(qt(e),n==="start",a);return r&&(o=o.map(s=>s+"-"+r),t&&(o=o.concat(o.map(yn)))),o}function Ua(e){return e.replace(/left|right|bottom|top/g,t=>xo[t])}function Ro(e){return{top:0,right:0,bottom:0,left:0,...e}}function fr(e){return typeof e!="number"?Ro(e):{top:e,right:e,bottom:e,left:e}}function ja(e){const{x:t,y:n,width:a,height:r}=e;return{width:a,height:r,top:n,left:t,right:t+a,bottom:n+r,x:t,y:n}}function In(e,t,n){let{reference:a,floating:r}=e;const o=Rt(t),s=Pn(t),l=Mn(s),u=qt(t),h=o==="y",p=a.x+a.width/2-r.width/2,g=a.y+a.height/2-r.height/2,w=a[l]/2-r[l]/2;let c;switch(u){case"top":c={x:p,y:a.y-r.height};break;case"bottom":c={x:p,y:a.y+a.height};break;case"right":c={x:a.x+a.width,y:g};break;case"left":c={x:a.x-r.width,y:g};break;default:c={x:a.x,y:a.y}}switch(Pa(t)){case"start":c[s]-=w*(n&&h?-1:1);break;case"end":c[s]+=w*(n&&h?-1:1);break}return c}const $o=async(e,t,n)=>{const{placement:a="bottom",strategy:r="absolute",middleware:o=[],platform:s}=n,l=o.filter(Boolean),u=await(s.isRTL==null?void 0:s.isRTL(t));let h=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:p,y:g}=In(h,a,u),w=a,c={},y=0;for(let b=0;b({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:r,rects:o,platform:s,elements:l,middlewareData:u}=t,{element:h,padding:p=0}=Ma(e,t)||{};if(h==null)return{};const g=fr(p),w={x:n,y:a},c=Pn(r),y=Mn(c),b=await s.getDimensions(h),_=c==="y",d=_?"top":"left",m=_?"bottom":"right",v=_?"clientHeight":"clientWidth",M=o.reference[y]+o.reference[c]-w[c]-o.floating[y],O=w[c]-o.reference[c],E=await(s.getOffsetParent==null?void 0:s.getOffsetParent(h));let P=E?E[v]:0;(!P||!await(s.isElement==null?void 0:s.isElement(E)))&&(P=l.floating[v]||o.floating[y]);const Y=M/2-O/2,N=P/2-b[y]/2-1,W=la(g[d],N),H=la(g[m],N),q=W,G=P-b[y]-H,Z=P/2-b[y]/2+Y,U=hn(q,Z,G),X=!u.arrow&&Pa(r)!=null&&Z!==U&&o.reference[y]/2-(ZZ<=0)){var H,q;const Z=(((H=o.flip)==null?void 0:H.index)||0)+1,U=P[Z];if(U&&(!(g==="alignment"?m!==Rt(U):!1)||W.every(I=>Rt(I.placement)===m?I.overflows[0]>0:!0)))return{data:{index:Z,overflows:W},reset:{placement:U}};let X=(q=W.filter($=>$.overflows[0]<=0).sort(($,I)=>$.overflows[1]-I.overflows[1])[0])==null?void 0:q.placement;if(!X)switch(c){case"bestFit":{var G;const $=(G=W.filter(I=>{if(E){const le=Rt(I.placement);return le===m||le==="y"}return!0}).map(I=>[I.placement,I.overflows.filter(le=>le>0).reduce((le,z)=>le+z,0)]).sort((I,le)=>I[1]-le[1])[0])==null?void 0:G[0];$&&(X=$);break}case"initialPlacement":X=l;break}if(r!==X)return{reset:{placement:X}}}return{}}}},No=new Set(["left","top"]);async function Fo(e,t){const{placement:n,platform:a,elements:r}=e,o=await(a.isRTL==null?void 0:a.isRTL(r.floating)),s=qt(n),l=Pa(n),u=Rt(n)==="y",h=No.has(s)?-1:1,p=o&&u?-1:1,g=Ma(t,e);let{mainAxis:w,crossAxis:c,alignmentAxis:y}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return l&&typeof y=="number"&&(c=l==="end"?y*-1:y),u?{x:c*p,y:w*h}:{x:w*h,y:c*p}}const Vo=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,a;const{x:r,y:o,placement:s,middlewareData:l}=t,u=await Fo(t,e);return s===((n=l.offset)==null?void 0:n.placement)&&(a=l.arrow)!=null&&a.alignmentOffset?{}:{x:r+u.x,y:o+u.y,data:{...u,placement:s}}}}},Lo=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:r}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:l={fn:_=>{let{x:d,y:m}=_;return{x:d,y:m}}},...u}=Ma(e,t),h={x:n,y:a},p=await mr(t,u),g=Rt(qt(r)),w=dr(g);let c=h[w],y=h[g];if(o){const _=w==="y"?"top":"left",d=w==="y"?"bottom":"right",m=c+p[_],v=c-p[d];c=hn(m,c,v)}if(s){const _=g==="y"?"top":"left",d=g==="y"?"bottom":"right",m=y+p[_],v=y-p[d];y=hn(m,y,v)}const b=l.fn({...t,[w]:c,[g]:y});return{...b,data:{x:b.x-n,y:b.y-a,enabled:{[w]:o,[g]:s}}}}}};function Xa(){return typeof window<"u"}function zt(e){return An(e)?(e.nodeName||"").toLowerCase():"#document"}function at(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Mt(e){var t;return(t=(An(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function An(e){return Xa()?e instanceof Node||e instanceof at(e).Node:!1}function pt(e){return Xa()?e instanceof Element||e instanceof at(e).Element:!1}function Dt(e){return Xa()?e instanceof HTMLElement||e instanceof at(e).HTMLElement:!1}function Hn(e){return!Xa()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof at(e).ShadowRoot}const Wo=new Set(["inline","contents"]);function Aa(e){const{overflow:t,overflowX:n,overflowY:a,display:r}=ht(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+n)&&!Wo.has(r)}const Io=new Set(["table","td","th"]);function Ho(e){return Io.has(zt(e))}const qo=[":popover-open",":modal"];function Qa(e){return qo.some(t=>{try{return e.matches(t)}catch{return!1}})}const Uo=["transform","translate","scale","rotate","perspective"],jo=["transform","translate","scale","rotate","perspective","filter"],zo=["paint","layout","strict","content"];function Tn(e){const t=On(),n=pt(e)?ht(e):e;return Uo.some(a=>n[a]?n[a]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||jo.some(a=>(n.willChange||"").includes(a))||zo.some(a=>(n.contain||"").includes(a))}function Ko(e){let t=$t(e);for(;Dt(t)&&!ia(t);){if(Tn(t))return t;if(Qa(t))return null;t=$t(t)}return null}function On(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Xo=new Set(["html","body","#document"]);function ia(e){return Xo.has(zt(e))}function ht(e){return at(e).getComputedStyle(e)}function Ga(e){return pt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function $t(e){if(zt(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Hn(e)&&e.host||Mt(e);return Hn(t)?t.host:t}function vr(e){const t=$t(e);return ia(t)?e.ownerDocument?e.ownerDocument.body:e.body:Dt(t)&&Aa(t)?t:vr(t)}function xa(e,t,n){var a;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=vr(e),o=r===((a=e.ownerDocument)==null?void 0:a.body),s=at(r);if(o){const l=gn(s);return t.concat(s,s.visualViewport||[],Aa(r)?r:[],l&&n?xa(l):[])}return t.concat(r,xa(r,[],n))}function gn(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function pr(e){const t=ht(e);let n=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const r=Dt(e),o=r?e.offsetWidth:n,s=r?e.offsetHeight:a,l=qa(n)!==o||qa(a)!==s;return l&&(n=o,a=s),{width:n,height:a,$:l}}function Cn(e){return pt(e)?e:e.contextElement}function ra(e){const t=Cn(e);if(!Dt(t))return kt(1);const n=t.getBoundingClientRect(),{width:a,height:r,$:o}=pr(t);let s=(o?qa(n.width):n.width)/a,l=(o?qa(n.height):n.height)/r;return(!s||!Number.isFinite(s))&&(s=1),(!l||!Number.isFinite(l))&&(l=1),{x:s,y:l}}const Qo=kt(0);function hr(e){const t=at(e);return!On()||!t.visualViewport?Qo:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Go(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==at(e)?!1:t}function Ut(e,t,n,a){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),o=Cn(e);let s=kt(1);t&&(a?pt(a)&&(s=ra(a)):s=ra(e));const l=Go(o,n,a)?hr(o):kt(0);let u=(r.left+l.x)/s.x,h=(r.top+l.y)/s.y,p=r.width/s.x,g=r.height/s.y;if(o){const w=at(o),c=a&&pt(a)?at(a):a;let y=w,b=gn(y);for(;b&&a&&c!==y;){const _=ra(b),d=b.getBoundingClientRect(),m=ht(b),v=d.left+(b.clientLeft+parseFloat(m.paddingLeft))*_.x,M=d.top+(b.clientTop+parseFloat(m.paddingTop))*_.y;u*=_.x,h*=_.y,p*=_.x,g*=_.y,u+=v,h+=M,y=at(b),b=gn(y)}}return ja({width:p,height:g,x:u,y:h})}function Za(e,t){const n=Ga(e).scrollLeft;return t?t.left+n:Ut(Mt(e)).left+n}function yr(e,t){const n=e.getBoundingClientRect(),a=n.left+t.scrollLeft-Za(e,n),r=n.top+t.scrollTop;return{x:a,y:r}}function Zo(e){let{elements:t,rect:n,offsetParent:a,strategy:r}=e;const o=r==="fixed",s=Mt(a),l=t?Qa(t.floating):!1;if(a===s||l&&o)return n;let u={scrollLeft:0,scrollTop:0},h=kt(1);const p=kt(0),g=Dt(a);if((g||!g&&!o)&&((zt(a)!=="body"||Aa(s))&&(u=Ga(a)),Dt(a))){const c=Ut(a);h=ra(a),p.x=c.x+a.clientLeft,p.y=c.y+a.clientTop}const w=s&&!g&&!o?yr(s,u):kt(0);return{width:n.width*h.x,height:n.height*h.y,x:n.x*h.x-u.scrollLeft*h.x+p.x+w.x,y:n.y*h.y-u.scrollTop*h.y+p.y+w.y}}function Jo(e){return Array.from(e.getClientRects())}function es(e){const t=Mt(e),n=Ga(e),a=e.ownerDocument.body,r=It(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),o=It(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let s=-n.scrollLeft+Za(e);const l=-n.scrollTop;return ht(a).direction==="rtl"&&(s+=It(t.clientWidth,a.clientWidth)-r),{width:r,height:o,x:s,y:l}}const qn=25;function ts(e,t){const n=at(e),a=Mt(e),r=n.visualViewport;let o=a.clientWidth,s=a.clientHeight,l=0,u=0;if(r){o=r.width,s=r.height;const p=On();(!p||p&&t==="fixed")&&(l=r.offsetLeft,u=r.offsetTop)}const h=Za(a);if(h<=0){const p=a.ownerDocument,g=p.body,w=getComputedStyle(g),c=p.compatMode==="CSS1Compat"&&parseFloat(w.marginLeft)+parseFloat(w.marginRight)||0,y=Math.abs(a.clientWidth-g.clientWidth-c);y<=qn&&(o-=y)}else h<=qn&&(o+=h);return{width:o,height:s,x:l,y:u}}const as=new Set(["absolute","fixed"]);function ns(e,t){const n=Ut(e,!0,t==="fixed"),a=n.top+e.clientTop,r=n.left+e.clientLeft,o=Dt(e)?ra(e):kt(1),s=e.clientWidth*o.x,l=e.clientHeight*o.y,u=r*o.x,h=a*o.y;return{width:s,height:l,x:u,y:h}}function Un(e,t,n){let a;if(t==="viewport")a=ts(e,n);else if(t==="document")a=es(Mt(e));else if(pt(t))a=ns(t,n);else{const r=hr(e);a={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return ja(a)}function gr(e,t){const n=$t(e);return n===t||!pt(n)||ia(n)?!1:ht(n).position==="fixed"||gr(n,t)}function rs(e,t){const n=t.get(e);if(n)return n;let a=xa(e,[],!1).filter(l=>pt(l)&&zt(l)!=="body"),r=null;const o=ht(e).position==="fixed";let s=o?$t(e):e;for(;pt(s)&&!ia(s);){const l=ht(s),u=Tn(s);!u&&l.position==="fixed"&&(r=null),(o?!u&&!r:!u&&l.position==="static"&&!!r&&as.has(r.position)||Aa(s)&&!u&&gr(e,s))?a=a.filter(p=>p!==s):r=l,s=$t(s)}return t.set(e,a),a}function os(e){let{element:t,boundary:n,rootBoundary:a,strategy:r}=e;const s=[...n==="clippingAncestors"?Qa(t)?[]:rs(t,this._c):[].concat(n),a],l=s[0],u=s.reduce((h,p)=>{const g=Un(t,p,r);return h.top=It(g.top,h.top),h.right=la(g.right,h.right),h.bottom=la(g.bottom,h.bottom),h.left=It(g.left,h.left),h},Un(t,l,r));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function ss(e){const{width:t,height:n}=pr(e);return{width:t,height:n}}function ls(e,t,n){const a=Dt(t),r=Mt(t),o=n==="fixed",s=Ut(e,!0,o,t);let l={scrollLeft:0,scrollTop:0};const u=kt(0);function h(){u.x=Za(r)}if(a||!a&&!o)if((zt(t)!=="body"||Aa(r))&&(l=Ga(t)),a){const c=Ut(t,!0,o,t);u.x=c.x+t.clientLeft,u.y=c.y+t.clientTop}else r&&h();o&&!a&&r&&h();const p=r&&!a&&!o?yr(r,l):kt(0),g=s.left+l.scrollLeft-u.x-p.x,w=s.top+l.scrollTop-u.y-p.y;return{x:g,y:w,width:s.width,height:s.height}}function mn(e){return ht(e).position==="static"}function jn(e,t){if(!Dt(e)||ht(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Mt(e)===n&&(n=n.ownerDocument.body),n}function wr(e,t){const n=at(e);if(Qa(e))return n;if(!Dt(e)){let r=$t(e);for(;r&&!ia(r);){if(pt(r)&&!mn(r))return r;r=$t(r)}return n}let a=jn(e,t);for(;a&&Ho(a)&&mn(a);)a=jn(a,t);return a&&ia(a)&&mn(a)&&!Tn(a)?n:a||Ko(e)||n}const is=async function(e){const t=this.getOffsetParent||wr,n=this.getDimensions,a=await n(e.floating);return{reference:ls(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}};function us(e){return ht(e).direction==="rtl"}const cs={convertOffsetParentRelativeRectToViewportRelativeRect:Zo,getDocumentElement:Mt,getClippingRect:os,getOffsetParent:wr,getElementRects:is,getClientRects:Jo,getDimensions:ss,getScale:ra,isElement:pt,isRTL:us};function br(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ds(e,t){let n=null,a;const r=Mt(e);function o(){var l;clearTimeout(a),(l=n)==null||l.disconnect(),n=null}function s(l,u){l===void 0&&(l=!1),u===void 0&&(u=1),o();const h=e.getBoundingClientRect(),{left:p,top:g,width:w,height:c}=h;if(l||t(),!w||!c)return;const y=Va(g),b=Va(r.clientWidth-(p+w)),_=Va(r.clientHeight-(g+c)),d=Va(p),v={rootMargin:-y+"px "+-b+"px "+-_+"px "+-d+"px",threshold:It(0,la(1,u))||1};let M=!0;function O(E){const P=E[0].intersectionRatio;if(P!==u){if(!M)return s();P?s(!1,P):a=setTimeout(()=>{s(!1,1e-7)},1e3)}P===1&&!br(h,e.getBoundingClientRect())&&s(),M=!1}try{n=new IntersectionObserver(O,{...v,root:r.ownerDocument})}catch{n=new IntersectionObserver(O,v)}n.observe(e)}return s(!0),o}function fs(e,t,n,a){a===void 0&&(a={});const{ancestorScroll:r=!0,ancestorResize:o=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:u=!1}=a,h=Cn(e),p=r||o?[...h?xa(h):[],...xa(t)]:[];p.forEach(d=>{r&&d.addEventListener("scroll",n,{passive:!0}),o&&d.addEventListener("resize",n)});const g=h&&l?ds(h,n):null;let w=-1,c=null;s&&(c=new ResizeObserver(d=>{let[m]=d;m&&m.target===h&&c&&(c.unobserve(t),cancelAnimationFrame(w),w=requestAnimationFrame(()=>{var v;(v=c)==null||v.observe(t)})),n()}),h&&!u&&c.observe(h),c.observe(t));let y,b=u?Ut(e):null;u&&_();function _(){const d=Ut(e);b&&!br(b,d)&&n(),b=d,y=requestAnimationFrame(_)}return n(),()=>{var d;p.forEach(m=>{r&&m.removeEventListener("scroll",n),o&&m.removeEventListener("resize",n)}),g?.(),(d=c)==null||d.disconnect(),c=null,u&&cancelAnimationFrame(y)}}const ms=Vo,vs=Lo,ps=Bo,hs=Eo,ys=(e,t,n)=>{const a=new Map,r={platform:cs,...n},o={...r.platform,_c:a};return $o(e,t,{...r,platform:o})};function gs(e){return e!=null&&typeof e=="object"&&"$el"in e}function wn(e){if(gs(e)){const t=e.$el;return An(t)&&zt(t)==="#comment"?null:t}return e}function ea(e){return typeof e=="function"?e():i(e)}function ws(e){return{name:"arrow",options:e,fn(t){const n=wn(ea(e.element));return n==null?{}:hs({element:n,padding:e.padding}).fn(t)}}}function kr(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function zn(e,t){const n=kr(e);return Math.round(t*n)/n}function bs(e,t,n){n===void 0&&(n={});const a=n.whileElementsMounted,r=V(()=>{var P;return(P=ea(n.open))!=null?P:!0}),o=V(()=>ea(n.middleware)),s=V(()=>{var P;return(P=ea(n.placement))!=null?P:"bottom"}),l=V(()=>{var P;return(P=ea(n.strategy))!=null?P:"absolute"}),u=V(()=>{var P;return(P=ea(n.transform))!=null?P:!0}),h=V(()=>wn(e.value)),p=V(()=>wn(t.value)),g=ie(0),w=ie(0),c=ie(l.value),y=ie(s.value),b=fo({}),_=ie(!1),d=V(()=>{const P={position:c.value,left:"0",top:"0"};if(!p.value)return P;const Y=zn(p.value,g.value),N=zn(p.value,w.value);return u.value?{...P,transform:"translate("+Y+"px, "+N+"px)",...kr(p.value)>=1.5&&{willChange:"transform"}}:{position:c.value,left:Y+"px",top:N+"px"}});let m;function v(){if(h.value==null||p.value==null)return;const P=r.value;ys(h.value,p.value,{middleware:o.value,placement:s.value,strategy:l.value}).then(Y=>{g.value=Y.x,w.value=Y.y,c.value=Y.strategy,y.value=Y.placement,b.value=Y.middlewareData,_.value=P!==!1})}function M(){typeof m=="function"&&(m(),m=void 0)}function O(){if(M(),a===void 0){v();return}if(h.value!=null&&p.value!=null){m=a(h.value,p.value,v);return}}function E(){r.value||(_.value=!1)}return Je([o,s,l,r],v,{flush:"sync"}),Je([h,p],O,{flush:"sync"}),Je(r,E,{flush:"sync"}),mo()&&vo(M),{x:Gt(g),y:Gt(w),strategy:Gt(c),placement:Gt(y),middlewareData:Gt(b),isPositioned:Gt(_),floatingStyles:d,update:v}}const _r=6048e5,ks=864e5,_s=6e4,Ds=36e5,xs=1e3,Kn=Symbol.for("constructDateFrom");function Ye(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Kn in e?e[Kn](t):e instanceof Date?new e.constructor(t):new Date(t)}function ve(e,t){return Ye(t||e,e)}function rt(e,t,n){const a=ve(e,n?.in);return isNaN(t)?Ye(n?.in||e,NaN):(t&&a.setDate(a.getDate()+t),a)}function ft(e,t,n){const a=ve(e,n?.in);if(isNaN(t))return Ye(e,NaN);if(!t)return a;const r=a.getDate(),o=Ye(e,a.getTime());o.setMonth(a.getMonth()+t+1,0);const s=o.getDate();return r>=s?o:(a.setFullYear(o.getFullYear(),o.getMonth(),r),a)}function Dr(e,t,n){const{years:a=0,months:r=0,weeks:o=0,days:s=0,hours:l=0,minutes:u=0,seconds:h=0}=t,p=ve(e,n?.in),g=r||a?ft(p,r+a*12):p,w=s||o?rt(g,s+o*7):g,c=u+l*60,b=(h+c*60)*1e3;return Ye(e,+w+b)}let Ms={};function Kt(){return Ms}function ot(e,t){const n=Kt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=ve(e,t?.in),o=r.getDay(),s=(o=o.getTime()?a+1:n.getTime()>=l.getTime()?a:a-1}function za(e){const t=ve(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Ta(e,...t){const n=Ye.bind(null,t.find(a=>typeof a=="object"));return t.map(n)}function Xn(e,t){const n=ve(e,t?.in);return n.setHours(0,0,0,0),n}function Mr(e,t,n){const[a,r]=Ta(n?.in,e,t),o=Xn(a),s=Xn(r),l=+o-za(o),u=+s-za(s);return Math.round((l-u)/ks)}function Ps(e,t){const n=xr(e,t),a=Ye(e,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),ua(a)}function As(e,t,n){return ft(e,t*3,n)}function Sn(e,t,n){return ft(e,t*12,n)}function Qn(e,t){const n=+ve(e)-+ve(t);return n<0?-1:n>0?1:n}function Pr(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function _a(e){return!(!Pr(e)&&typeof e!="number"||isNaN(+ve(e)))}function Gn(e,t){const n=ve(e,t?.in);return Math.trunc(n.getMonth()/3)+1}function Ts(e,t,n){const[a,r]=Ta(n?.in,e,t);return a.getFullYear()-r.getFullYear()}function Os(e){return t=>{const a=(e?Math[e]:Math.trunc)(t);return a===0?0:a}}function Cs(e,t,n){const[a,r]=Ta(n?.in,e,t),o=Qn(a,r),s=Math.abs(Ts(a,r));a.setFullYear(1584),r.setFullYear(1584);const l=Qn(a,r)===-o,u=o*(s-+l);return u===0?0:u}function Ar(e,t){const[n,a]=Ta(e,t.start,t.end);return{start:n,end:a}}function Yn(e,t){const{start:n,end:a}=Ar(t?.in,e);let r=+n>+a;const o=r?+n:+a,s=r?a:n;s.setHours(0,0,0,0);let l=1;const u=[];for(;+s<=o;)u.push(Ye(n,s)),s.setDate(s.getDate()+l),s.setHours(0,0,0,0);return r?u.reverse():u}function Lt(e,t){const n=ve(e,t?.in),a=n.getMonth(),r=a-a%3;return n.setMonth(r,1),n.setHours(0,0,0,0),n}function Ss(e,t){const{start:n,end:a}=Ar(t?.in,e);let r=+n>+a;const o=r?+Lt(n):+Lt(a);let s=Lt(r?a:n),l=1;const u=[];for(;+s<=o;)u.push(Ye(n,s)),s=As(s,l);return r?u.reverse():u}function Ys(e,t){const n=ve(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Tr(e,t){const n=ve(e,t?.in),a=n.getFullYear();return n.setFullYear(a+1,0,0),n.setHours(23,59,59,999),n}function oa(e,t){const n=ve(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Rn(e,t){const n=Kt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=ve(e,t?.in),o=r.getDay(),s=(o{let a;const r=Rs[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function vn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Es={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Bs={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Ns={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Fs={date:vn({formats:Es,defaultWidth:"full"}),time:vn({formats:Bs,defaultWidth:"full"}),dateTime:vn({formats:Ns,defaultWidth:"full"})},Vs={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Ls=(e,t,n,a)=>Vs[e];function ya(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,l=n?.width?String(n.width):s;r=e.formattingValues[l]||e.formattingValues[s]}else{const s=e.defaultWidth,l=n?.width?String(n.width):e.defaultWidth;r=e.values[l]||e.values[s]}const o=e.argumentCallback?e.argumentCallback(t):t;return r[o]}}const Ws={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Is={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Hs={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},qs={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Us={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},js={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},zs=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Ks={ordinalNumber:zs,era:ya({values:Ws,defaultWidth:"wide"}),quarter:ya({values:Is,defaultWidth:"wide",argumentCallback:e=>e-1}),month:ya({values:Hs,defaultWidth:"wide"}),day:ya({values:qs,defaultWidth:"wide"}),dayPeriod:ya({values:Us,defaultWidth:"wide",formattingValues:js,defaultFormattingWidth:"wide"})};function ga(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=t.match(r);if(!o)return null;const s=o[0],l=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(l)?Qs(l,g=>g.test(s)):Xs(l,g=>g.test(s));let h;h=e.valueCallback?e.valueCallback(u):u,h=n.valueCallback?n.valueCallback(h):h;const p=t.slice(s.length);return{value:h,rest:p}}}function Xs(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Qs(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const l=t.slice(r.length);return{value:s,rest:l}}}const Zs=/^(\d+)(th|st|nd|rd)?/i,Js=/\d+/i,el={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},tl={any:[/^b/i,/^(a|c)/i]},al={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},nl={any:[/1/i,/2/i,/3/i,/4/i]},rl={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ol={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},sl={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},ll={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},il={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},ul={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},cl={ordinalNumber:Gs({matchPattern:Zs,parsePattern:Js,valueCallback:e=>parseInt(e,10)}),era:ga({matchPatterns:el,defaultMatchWidth:"wide",parsePatterns:tl,defaultParseWidth:"any"}),quarter:ga({matchPatterns:al,defaultMatchWidth:"wide",parsePatterns:nl,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ga({matchPatterns:rl,defaultMatchWidth:"wide",parsePatterns:ol,defaultParseWidth:"any"}),day:ga({matchPatterns:sl,defaultMatchWidth:"wide",parsePatterns:ll,defaultParseWidth:"any"}),dayPeriod:ga({matchPatterns:il,defaultMatchWidth:"any",parsePatterns:ul,defaultParseWidth:"any"})},Or={code:"en-US",formatDistance:$s,formatLong:Fs,formatRelative:Ls,localize:Ks,match:cl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function dl(e,t){const n=ve(e,t?.in);return Mr(n,oa(n))+1}function $n(e,t){const n=ve(e,t?.in),a=+ua(n)-+Ps(n);return Math.round(a/_r)+1}function En(e,t){const n=ve(e,t?.in),a=n.getFullYear(),r=Kt(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=Ye(t?.in||e,0);s.setFullYear(a+1,0,o),s.setHours(0,0,0,0);const l=ot(s,t),u=Ye(t?.in||e,0);u.setFullYear(a,0,o),u.setHours(0,0,0,0);const h=ot(u,t);return+n>=+l?a+1:+n>=+h?a:a-1}function fl(e,t){const n=Kt(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=En(e,t),o=Ye(t?.in||e,0);return o.setFullYear(r,0,a),o.setHours(0,0,0,0),ot(o,t)}function Bn(e,t){const n=ve(e,t?.in),a=+ot(n,t)-+fl(n,t);return Math.round(a/_r)+1}function Ce(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const St={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return Ce(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Ce(n+1,2)},d(e,t){return Ce(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Ce(e.getHours()%12||12,t.length)},H(e,t){return Ce(e.getHours(),t.length)},m(e,t){return Ce(e.getMinutes(),t.length)},s(e,t){return Ce(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return Ce(r,t.length)}},Zt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Jn={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});case"GGGG":default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return St.y(e,t)},Y:function(e,t,n,a){const r=En(e,a),o=r>0?r:1-r;if(t==="YY"){const s=o%100;return Ce(s,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):Ce(o,t.length)},R:function(e,t){const n=xr(e);return Ce(n,t.length)},u:function(e,t){const n=e.getFullYear();return Ce(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return Ce(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return Ce(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return St.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return Ce(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=Bn(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):Ce(r,t.length)},I:function(e,t,n){const a=$n(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):Ce(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):St.d(e,t)},D:function(e,t,n){const a=dl(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):Ce(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});case"EEEE":default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Ce(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});case"eeee":default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Ce(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});case"cccc":default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return Ce(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});case"iiii":default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=Zt.noon:a===0?r=Zt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=Zt.evening:a>=12?r=Zt.afternoon:a>=4?r=Zt.morning:r=Zt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return St.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):St.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):Ce(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):Ce(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):St.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):St.s(e,t)},S:function(e,t){return St.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return tr(a);case"XXXX":case"XX":return Vt(a);case"XXXXX":case"XXX":default:return Vt(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return tr(a);case"xxxx":case"xx":return Vt(a);case"xxxxx":case"xxx":default:return Vt(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+er(a,":");case"OOOO":default:return"GMT"+Vt(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+er(a,":");case"zzzz":default:return"GMT"+Vt(a,":")}},t:function(e,t,n){const a=Math.trunc(+e/1e3);return Ce(a,t.length)},T:function(e,t,n){return Ce(+e,t.length)}};function er(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),o=a%60;return o===0?n+String(r):n+String(r)+t+Ce(o,2)}function tr(e,t){return e%60===0?(e>0?"-":"+")+Ce(Math.abs(e)/60,2):Vt(e,t)}function Vt(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Ce(Math.trunc(a/60),2),o=Ce(a%60,2);return n+r+t+o}const ar=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},Cr=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},ml=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return ar(e,t);let o;switch(a){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",ar(a,t)).replace("{{time}}",Cr(r,t))},bn={p:Cr,P:ml},vl=/^D+$/,pl=/^Y+$/,hl=["D","DD","YY","YYYY"];function Sr(e){return vl.test(e)}function Yr(e){return pl.test(e)}function kn(e,t,n){const a=yl(e,t,n);if(console.warn(a),hl.includes(e))throw new RangeError(a)}function yl(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const gl=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,wl=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,bl=/^'([^]*?)'?$/,kl=/''/g,_l=/[a-zA-Z]/;function nt(e,t,n){const a=Kt(),r=n?.locale??a.locale??Or,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,l=ve(e,n?.in);if(!_a(l))throw new RangeError("Invalid time value");let u=t.match(wl).map(p=>{const g=p[0];if(g==="p"||g==="P"){const w=bn[g];return w(p,r.formatLong)}return p}).join("").match(gl).map(p=>{if(p==="''")return{isToken:!1,value:"'"};const g=p[0];if(g==="'")return{isToken:!1,value:Dl(p)};if(Jn[g])return{isToken:!0,value:p};if(g.match(_l))throw new RangeError("Format string contains an unescaped latin alphabet character `"+g+"`");return{isToken:!1,value:p}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const h={firstWeekContainsDate:o,weekStartsOn:s,locale:r};return u.map(p=>{if(!p.isToken)return p.value;const g=p.value;(!n?.useAdditionalWeekYearTokens&&Yr(g)||!n?.useAdditionalDayOfYearTokens&&Sr(g))&&kn(g,t,String(e));const w=Jn[g[0]];return w(l,g,r.localize,h)}).join("")}function Dl(e){const t=e.match(bl);return t?t[1].replace(kl,"'"):e}function xl(e,t){return ve(e,t?.in).getDay()}function Ml(e,t){const n=ve(e,t?.in),a=n.getFullYear(),r=n.getMonth(),o=Ye(n,0);return o.setFullYear(a,r+1,0),o.setHours(0,0,0,0),o.getDate()}function Pl(){return Object.assign({},Kt())}function xt(e,t){return ve(e,t?.in).getHours()}function Al(e,t){const n=ve(e,t?.in).getDay();return n===0?7:n}function Tt(e,t){return ve(e,t?.in).getMinutes()}function Ae(e,t){return ve(e,t?.in).getMonth()}function Et(e){return ve(e).getSeconds()}function he(e,t){return ve(e,t?.in).getFullYear()}function wt(e,t){return+ve(e)>+ve(t)}function Pt(e,t){return+ve(e)<+ve(t)}function ta(e,t){return+ve(e)==+ve(t)}function Tl(e,t){const n=Ol(t)?new t(0):Ye(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function Ol(e){return typeof e=="function"&&e.prototype?.constructor===e}const Cl=10;class Rr{subPriority=0;validate(t,n){return!0}}class Sl extends Rr{constructor(t,n,a,r,o){super(),this.value=t,this.validateValue=n,this.setValue=a,this.priority=r,o&&(this.subPriority=o)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,a){return this.setValue(t,n,this.value,a)}}class Yl extends Rr{priority=Cl;subPriority=-1;constructor(t,n){super(),this.context=t||(a=>Ye(n,a))}set(t,n){return n.timestampIsSet?t:Ye(t,Tl(t,this.context))}}class Oe{run(t,n,a,r){const o=this.parse(t,n,a,r);return o?{setter:new Sl(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(t,n,a){return!0}}class Rl extends Oe{priority=140;parse(t,n,a){switch(n){case"G":case"GG":case"GGG":return a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"});case"GGGGG":return a.era(t,{width:"narrow"});case"GGGG":default:return a.era(t,{width:"wide"})||a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"})}}set(t,n,a){return n.era=a,t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const Le={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},yt={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function We(e,t){return e&&{value:t(e.value),rest:e.rest}}function Ne(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function gt(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const a=n[1]==="+"?1:-1,r=n[2]?parseInt(n[2],10):0,o=n[3]?parseInt(n[3],10):0,s=n[5]?parseInt(n[5],10):0;return{value:a*(r*Ds+o*_s+s*xs),rest:t.slice(n[0].length)}}function $r(e){return Ne(Le.anyDigitsSigned,e)}function Ve(e,t){switch(e){case 1:return Ne(Le.singleDigit,t);case 2:return Ne(Le.twoDigits,t);case 3:return Ne(Le.threeDigits,t);case 4:return Ne(Le.fourDigits,t);default:return Ne(new RegExp("^\\d{1,"+e+"}"),t)}}function Ka(e,t){switch(e){case 1:return Ne(Le.singleDigitSigned,t);case 2:return Ne(Le.twoDigitsSigned,t);case 3:return Ne(Le.threeDigitsSigned,t);case 4:return Ne(Le.fourDigitsSigned,t);default:return Ne(new RegExp("^-?\\d{1,"+e+"}"),t)}}function Nn(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function Er(e,t){const n=t>0,a=n?t:1-t;let r;if(a<=50)r=e||100;else{const o=a+50,s=Math.trunc(o/100)*100,l=e>=o%100;r=e+s-(l?100:0)}return n?r:1-r}function Br(e){return e%400===0||e%4===0&&e%100!==0}class $l extends Oe{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="yy"});switch(n){case"y":return We(Ve(4,t),r);case"yo":return We(a.ordinalNumber(t,{unit:"year"}),r);default:return We(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a){const r=t.getFullYear();if(a.isTwoDigitYear){const s=Er(a.year,r);return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}const o=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(o,0,1),t.setHours(0,0,0,0),t}}class El extends Oe{priority=130;parse(t,n,a){const r=o=>({year:o,isTwoDigitYear:n==="YY"});switch(n){case"Y":return We(Ve(4,t),r);case"Yo":return We(a.ordinalNumber(t,{unit:"year"}),r);default:return We(Ve(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a,r){const o=En(t,r);if(a.isTwoDigitYear){const l=Er(a.year,o);return t.setFullYear(l,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ot(t,r)}const s=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(s,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ot(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class Bl extends Oe{priority=130;parse(t,n){return Ka(n==="R"?4:n.length,t)}set(t,n,a){const r=Ye(t,0);return r.setFullYear(a,0,4),r.setHours(0,0,0,0),ua(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class Nl extends Oe{priority=130;parse(t,n){return Ka(n==="u"?4:n.length,t)}set(t,n,a){return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class Fl extends Oe{priority=120;parse(t,n,a){switch(n){case"Q":case"QQ":return Ve(n.length,t);case"Qo":return a.ordinalNumber(t,{unit:"quarter"});case"QQQ":return a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQ":default:return a.quarter(t,{width:"wide",context:"formatting"})||a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class Vl extends Oe{priority=120;parse(t,n,a){switch(n){case"q":case"qq":return Ve(n.length,t);case"qo":return a.ordinalNumber(t,{unit:"quarter"});case"qqq":return a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return a.quarter(t,{width:"narrow",context:"standalone"});case"qqqq":default:return a.quarter(t,{width:"wide",context:"standalone"})||a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class Ll extends Oe{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"M":return We(Ne(Le.month,t),r);case"MM":return We(Ve(2,t),r);case"Mo":return We(a.ordinalNumber(t,{unit:"month"}),r);case"MMM":return a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return a.month(t,{width:"narrow",context:"formatting"});case"MMMM":default:return a.month(t,{width:"wide",context:"formatting"})||a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}}class Wl extends Oe{priority=110;parse(t,n,a){const r=o=>o-1;switch(n){case"L":return We(Ne(Le.month,t),r);case"LL":return We(Ve(2,t),r);case"Lo":return We(a.ordinalNumber(t,{unit:"month"}),r);case"LLL":return a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return a.month(t,{width:"narrow",context:"standalone"});case"LLLL":default:return a.month(t,{width:"wide",context:"standalone"})||a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function Il(e,t,n){const a=ve(e,n?.in),r=Bn(a,n)-t;return a.setDate(a.getDate()-r*7),ve(a,n?.in)}class Hl extends Oe{priority=100;parse(t,n,a){switch(n){case"w":return Ne(Le.week,t);case"wo":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a,r){return ot(Il(t,a,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function ql(e,t,n){const a=ve(e,n?.in),r=$n(a,n)-t;return a.setDate(a.getDate()-r*7),a}class Ul extends Oe{priority=100;parse(t,n,a){switch(n){case"I":return Ne(Le.week,t);case"Io":return a.ordinalNumber(t,{unit:"week"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a){return ua(ql(t,a))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const jl=[31,28,31,30,31,30,31,31,30,31,30,31],zl=[31,29,31,30,31,30,31,31,30,31,30,31];class Kl extends Oe{priority=90;subPriority=1;parse(t,n,a){switch(n){case"d":return Ne(Le.date,t);case"do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear(),r=Br(a),o=t.getMonth();return r?n>=1&&n<=zl[o]:n>=1&&n<=jl[o]}set(t,n,a){return t.setDate(a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class Xl extends Oe{priority=90;subpriority=1;parse(t,n,a){switch(n){case"D":case"DD":return Ne(Le.dayOfYear,t);case"Do":return a.ordinalNumber(t,{unit:"date"});default:return Ve(n.length,t)}}validate(t,n){const a=t.getFullYear();return Br(a)?n>=1&&n<=366:n>=1&&n<=365}set(t,n,a){return t.setMonth(0,a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function Fn(e,t,n){const a=Kt(),r=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,o=ve(e,n?.in),s=o.getDay(),u=(t%7+7)%7,h=7-r,p=t<0||t>6?t-(s+h)%7:(u+h)%7-(s+h)%7;return rt(o,p,n)}class Ql extends Oe{priority=90;parse(t,n,a){switch(n){case"E":case"EE":case"EEE":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return a.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEE":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class Gl extends Oe{priority=90;parse(t,n,a,r){const o=s=>{const l=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+l};switch(n){case"e":case"ee":return We(Ve(n.length,t),o);case"eo":return We(a.ordinalNumber(t,{unit:"day"}),o);case"eee":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeeee":return a.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeee":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class Zl extends Oe{priority=90;parse(t,n,a,r){const o=s=>{const l=Math.floor((s-1)/7)*7;return(s+r.weekStartsOn+6)%7+l};switch(n){case"c":case"cc":return We(Ve(n.length,t),o);case"co":return We(a.ordinalNumber(t,{unit:"day"}),o);case"ccc":return a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"ccccc":return a.day(t,{width:"narrow",context:"standalone"});case"cccccc":return a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"cccc":default:return a.day(t,{width:"wide",context:"standalone"})||a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=Fn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function Jl(e,t,n){const a=ve(e,n?.in),r=Al(a,n),o=t-r;return rt(a,o,n)}class ei extends Oe{priority=90;parse(t,n,a){const r=o=>o===0?7:o;switch(n){case"i":case"ii":return Ve(n.length,t);case"io":return a.ordinalNumber(t,{unit:"day"});case"iii":return We(a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return We(a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return We(a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiii":default:return We(a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,n){return n>=1&&n<=7}set(t,n,a){return t=Jl(t,a),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class ti extends Oe{priority=80;parse(t,n,a){switch(n){case"a":case"aa":case"aaa":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaa":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class ai extends Oe{priority=80;parse(t,n,a){switch(n){case"b":case"bb":case"bbb":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbb":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class ni extends Oe{priority=80;parse(t,n,a){switch(n){case"B":case"BB":case"BBB":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBB":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(Nn(a),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class ri extends Oe{priority=70;parse(t,n,a){switch(n){case"h":return Ne(Le.hour12h,t);case"ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=12}set(t,n,a){const r=t.getHours()>=12;return r&&a<12?t.setHours(a+12,0,0,0):!r&&a===12?t.setHours(0,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class oi extends Oe{priority=70;parse(t,n,a){switch(n){case"H":return Ne(Le.hour23h,t);case"Ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=23}set(t,n,a){return t.setHours(a,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class si extends Oe{priority=70;parse(t,n,a){switch(n){case"K":return Ne(Le.hour11h,t);case"Ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.getHours()>=12&&a<12?t.setHours(a+12,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class li extends Oe{priority=70;parse(t,n,a){switch(n){case"k":return Ne(Le.hour24h,t);case"ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ve(n.length,t)}}validate(t,n){return n>=1&&n<=24}set(t,n,a){const r=a<=24?a%24:a;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class ii extends Oe{priority=60;parse(t,n,a){switch(n){case"m":return Ne(Le.minute,t);case"mo":return a.ordinalNumber(t,{unit:"minute"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setMinutes(a,0,0),t}incompatibleTokens=["t","T"]}class ui extends Oe{priority=50;parse(t,n,a){switch(n){case"s":return Ne(Le.second,t);case"so":return a.ordinalNumber(t,{unit:"second"});default:return Ve(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setSeconds(a,0),t}incompatibleTokens=["t","T"]}class ci extends Oe{priority=30;parse(t,n){const a=r=>Math.trunc(r*Math.pow(10,-n.length+3));return We(Ve(n.length,t),a)}set(t,n,a){return t.setMilliseconds(a),t}incompatibleTokens=["t","T"]}class di extends Oe{priority=10;parse(t,n){switch(n){case"X":return gt(yt.basicOptionalMinutes,t);case"XX":return gt(yt.basic,t);case"XXXX":return gt(yt.basicOptionalSeconds,t);case"XXXXX":return gt(yt.extendedOptionalSeconds,t);case"XXX":default:return gt(yt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Ye(t,t.getTime()-za(t)-a)}incompatibleTokens=["t","T","x"]}class fi extends Oe{priority=10;parse(t,n){switch(n){case"x":return gt(yt.basicOptionalMinutes,t);case"xx":return gt(yt.basic,t);case"xxxx":return gt(yt.basicOptionalSeconds,t);case"xxxxx":return gt(yt.extendedOptionalSeconds,t);case"xxx":default:return gt(yt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Ye(t,t.getTime()-za(t)-a)}incompatibleTokens=["t","T","X"]}class mi extends Oe{priority=40;parse(t){return $r(t)}set(t,n,a){return[Ye(t,a*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class vi extends Oe{priority=20;parse(t){return $r(t)}set(t,n,a){return[Ye(t,a),{timestampIsSet:!0}]}incompatibleTokens="*"}const pi={G:new Rl,y:new $l,Y:new El,R:new Bl,u:new Nl,Q:new Fl,q:new Vl,M:new Ll,L:new Wl,w:new Hl,I:new Ul,d:new Kl,D:new Xl,E:new Ql,e:new Gl,c:new Zl,i:new ei,a:new ti,b:new ai,B:new ni,h:new ri,H:new oi,K:new si,k:new li,m:new ii,s:new ui,S:new ci,X:new di,x:new fi,t:new mi,T:new vi},hi=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,yi=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,gi=/^'([^]*?)'?$/,wi=/''/g,bi=/\S/,ki=/[a-zA-Z]/;function _n(e,t,n,a){const r=()=>Ye(a?.in||n,NaN),o=Pl(),s=a?.locale??o.locale??Or,l=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,u=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(!t)return e?r():ve(n,a?.in);const h={firstWeekContainsDate:l,weekStartsOn:u,locale:s},p=[new Yl(a?.in,n)],g=t.match(yi).map(_=>{const d=_[0];if(d in bn){const m=bn[d];return m(_,s.formatLong)}return _}).join("").match(hi),w=[];for(let _ of g){!a?.useAdditionalWeekYearTokens&&Yr(_)&&kn(_,t,e),!a?.useAdditionalDayOfYearTokens&&Sr(_)&&kn(_,t,e);const d=_[0],m=pi[d];if(m){const{incompatibleTokens:v}=m;if(Array.isArray(v)){const O=w.find(E=>v.includes(E.token)||E.token===d);if(O)throw new RangeError(`The format string mustn't contain \`${O.fullToken}\` and \`${_}\` at the same time`)}else if(m.incompatibleTokens==="*"&&w.length>0)throw new RangeError(`The format string mustn't contain \`${_}\` and any other token at the same time`);w.push({token:d,fullToken:_});const M=m.run(e,_,s.match,h);if(!M)return r();p.push(M.setter),e=M.rest}else{if(d.match(ki))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");if(_==="''"?_="'":d==="'"&&(_=_i(_)),e.indexOf(_)===0)e=e.slice(_.length);else return r()}}if(e.length>0&&bi.test(e))return r();const c=p.map(_=>_.priority).sort((_,d)=>d-_).filter((_,d,m)=>m.indexOf(_)===d).map(_=>p.filter(d=>d.priority===_).sort((d,m)=>m.subPriority-d.subPriority)).map(_=>_[0]);let y=ve(n,a?.in);if(isNaN(+y))return r();const b={};for(const _ of c){if(!_.validate(y,h))return r();const d=_.set(y,b,h);Array.isArray(d)?(y=d[0],Object.assign(b,d[1])):y=d}return y}function _i(e){return e.match(gi)[1].replace(wi,"'")}function nr(e,t,n){const[a,r]=Ta(n?.in,e,t);return+Lt(a)==+Lt(r)}function Nr(e,t,n){return rt(e,-t,n)}function Di(e,t){const n=t?.nearestTo??1;if(n<1||n>30)return Ye(e,NaN);const a=ve(e,t?.in),r=a.getSeconds()/60,o=a.getMilliseconds()/1e3/60,s=a.getMinutes()+r+o,l=t?.roundingMethod??"round",h=Os(l)(s/n)*n;return a.setMinutes(h,0,0),a}function Fr(e,t,n){const a=ve(e,n?.in),r=a.getFullYear(),o=a.getDate(),s=Ye(e,0);s.setFullYear(r,t,15),s.setHours(0,0,0,0);const l=Ml(s);return a.setMonth(t,Math.min(o,l)),a}function xe(e,t,n){let a=ve(e,n?.in);return isNaN(+a)?Ye(e,NaN):(t.year!=null&&a.setFullYear(t.year),t.month!=null&&(a=Fr(a,t.month)),t.date!=null&&a.setDate(t.date),t.hours!=null&&a.setHours(t.hours),t.minutes!=null&&a.setMinutes(t.minutes),t.seconds!=null&&a.setSeconds(t.seconds),t.milliseconds!=null&&a.setMilliseconds(t.milliseconds),a)}function xi(e,t,n){const a=ve(e,n?.in);return a.setMilliseconds(t),a}function Mi(e,t,n){const a=ve(e,n?.in);return a.setSeconds(t),a}function ct(e,t,n){const a=ve(e,n?.in);return isNaN(+a)?Ye(e,NaN):(a.setFullYear(t),a)}function ca(e,t,n){return ft(e,-t,n)}function Pi(e,t,n){const{years:a=0,months:r=0,weeks:o=0,days:s=0,hours:l=0,minutes:u=0,seconds:h=0}=t,p=ca(e,r+a*12,n),g=Nr(p,s+o*7,n),w=u+l*60,y=(h+w*60)*1e3;return Ye(e,+g-y)}function Vr(e,t,n){return Sn(e,-t,n)}function Ai(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const Ti={},ka={};function Wt(e,t){try{const a=(Ti[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return a in ka?ka[a]:rr(a,a.split(":"))}catch{if(e in ka)return ka[e];const n=e?.match(Oi);return n?rr(e,n.slice(1)):NaN}}const Oi=/([+-]\d\d):?(\d\d)?/;function rr(e,t){const n=+(t[0]||0),a=+(t[1]||0),r=+(t[2]||0)/60;return ka[e]=n*60+a>0?n*60+a+r:n*60-a-r}class bt extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Wt(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),Lr(this),Dn(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new bt(...n,t):new bt(Date.now(),t)}withTimeZone(t){return new bt(+this,t)}getTimezoneOffset(){const t=-Wt(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),Dn(this),+this}[Symbol.for("constructDateFrom")](t){return new bt(+new Date(t),this.timeZone)}}const or=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!or.test(e))return;const t=e.replace(or,"$1UTC");bt.prototype[t]&&(e.startsWith("get")?bt.prototype[e]=function(){return this.internal[t]()}:(bt.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Ci(this),+this},bt.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Dn(this),+this}))});function Dn(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Wt(e.timeZone,e)*60))}function Ci(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),Lr(e)}function Lr(e){const t=Wt(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),o=-new Date(+a).getTimezoneOffset(),s=r-o,l=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();s&&l&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+s);const u=r-n;u&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+u);const h=new Date(+e);h.setUTCSeconds(0);const p=r>0?h.getSeconds():(h.getSeconds()-60)%60,g=Math.round(-(Wt(e.timeZone,e)*60))%60;(g||p)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+g),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+g+p));const w=Wt(e.timeZone,e),c=w>0?Math.floor(w):Math.ceil(w),b=-new Date(+e).getTimezoneOffset()-c,_=c!==n,d=b-u;if(_&&d){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+d);const m=Wt(e.timeZone,e),v=m>0?Math.floor(m):Math.ceil(m),M=c-v;M&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+M),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+M))}}class aa extends bt{static tz(t,...n){return n.length?new aa(...n,t):new aa(Date.now(),t)}toISOString(){const[t,n,a]=this.tzComponents(),r=`${t}${n}:${a}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,a,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${a} ${n} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,a,r]=this.tzComponents();return`${t} GMT${n}${a}${r} (${Ai(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",a=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[n,a,r]}withTimeZone(t){return new aa(+this,t)}[Symbol.for("constructDateFrom")](t){return new aa(+new Date(t),this.timeZone)}}function Oa(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z"}),Ie("path",{d:"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),Ie("path",{d:"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),Ie("path",{d:"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"})])}function Si(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"}),Ie("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}function Wr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}function Ir(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z"})])}function Hr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z"}),Ie("path",{d:"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"})])}function qr(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}function Ur(){return Ie("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[Ie("path",{d:"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}const jr=Symbol("ContextKey"),Yi=(e,t)=>{const{setTimeModelValue:n}=qe(),a=Mu(e),r=ie(null),o=Ha({menuFocused:!1,shiftKeyInMenu:!1,isInputFocused:!1,isTextInputDate:!1,arrowNavigationLevel:0}),s=a.getDate(new Date),l=ie(""),u=ie([{month:Ae(s),year:he(s)}]),h=Ha({hours:0,minutes:0,seconds:0});n(h,null,s,a.range.value.enabled);const p=V({get:()=>r.value,set:b=>{r.value=b}}),g=V(()=>b=>u.value[b]?u.value[b].month:0),w=V(()=>b=>u.value[b]?u.value[b].year:0),c=(b,_)=>{o[b]=_},y=()=>{n(h,p.value,s,a.range.value.enabled)};po(jr,{rootProps:e,defaults:a,modelValue:p,state:ho(o),rootEmit:t,calendars:u,month:g,year:w,time:h,today:s,inputValue:l,setState:c,updateTime:y,getDate:a.getDate})},Pe=()=>{const e=go(jr);if(!e)throw new Error("Can't use context");return e};var it=(e=>(e.month="month",e.year="year",e))(it||{}),Ht=(e=>(e.header="header",e.calendar="calendar",e.timePicker="timePicker",e))(Ht||{}),Qe=(e=>(e.month="month",e.year="year",e.calendar="calendar",e.time="time",e.minutes="minutes",e.hours="hours",e.seconds="seconds",e))(Qe||{});const Ri=["timestamp","date","iso"];var ut=(e=>(e.up="up",e.down="down",e.left="left",e.right="right",e))(ut||{}),Re=(e=>(e.arrowUp="ArrowUp",e.arrowDown="ArrowDown",e.arrowLeft="ArrowLeft",e.arrowRight="ArrowRight",e.enter="Enter",e.space=" ",e.esc="Escape",e.tab="Tab",e.home="Home",e.end="End",e.pageUp="PageUp",e.pageDown="PageDown",e))(Re||{}),na=(e=>(e.MONTH_AND_YEAR="MM-yyyy",e.YEAR="yyyy",e.DATE="dd-MM-yyyy",e))(na||{}),zr=(e=>(e[e.Sunday=0]="Sunday",e[e.Monday=1]="Monday",e[e.Tuesday=2]="Tuesday",e[e.Wednesday=3]="Wednesday",e[e.Thursday=4]="Thursday",e[e.Friday=5]="Friday",e[e.Saturday=6]="Saturday",e))(zr||{});const $i=()=>{const{rootProps:e,state:t}=Pe(),n=V(()=>t.arrowNavigationLevel),a=ie(-1),r=ie(-1);Je(n,(m,v)=>{d(m===0&&v>0)});const o=ie([]),s=ie(new Map),l=()=>{const m=Array.from(document.querySelectorAll(`[data-dp-action-element="${n.value}"]`)),v=new Map,M=new Map;for(const O of m){const E=O.getBoundingClientRect(),P=E.top,Y=E.left;v.has(P)||v.set(P,[]),v.get(P).push(O),M.set(O,{row:P,col:Y})}o.value=Array.from(v.entries()).sort((O,E)=>O[0]-E[0]).map(([O,E])=>u(E,M)),s.value=M},u=(m,v)=>m.sort((M,O)=>{const E=v.get(M),P=v.get(O);return E.col-P.col}),h=(m,v)=>{n.value===0&&(a.value=m,r.value=v)},p=m=>{if(![Re.arrowUp,Re.arrowDown,Re.arrowLeft,Re.arrowRight].includes(m.key))return;l(),m.preventDefault();const v=document.activeElement;if(!v?.hasAttribute("data-dp-action-element"))return;let M=-1,O=-1;for(let E=0;E{if(v>0){const M=o.value[m][v-1];h(m,v-1),M&&M.focus()}},w=(m,v)=>{if(v{if(m>0){const M=o.value[m-1],O=Math.min(v,M.length-1),E=M[O];h(m-1,O),E&&E.focus()}},y=(m,v)=>{if(m{Ge().then(()=>{l();const m=o.value[a.value]?.[r.value];m&&_(m)})},_=m=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{m.focus({preventScroll:!0})})})},d=m=>{if(m)return b();const v=document.querySelector(`[data-dp-element-active="${n.value}"]`);if(v&&!m)_(v);else{const M=document.querySelector(`[data-dp-action-element="${n.value}"]`);M&&_(M)}};je(()=>{e.arrowNavigation&&(d(!1),document.addEventListener("keydown",p))}),jt(()=>{e.arrowNavigation&&document.removeEventListener("keydown",p)})},Ei=()=>{const{checkPartialRangeValue:e,checkRangeEnabled:t,isValidDate:n}=st(),{convertType:a,errorMapper:r}=qe(),{getDate:o,rootEmit:s,state:l,rootProps:u,inputValue:h,defaults:{textInput:p,range:g,multiDates:w,timeConfig:c,formats:y},modelValue:b,updateTime:_}=Pe(),{setTime:d,getWeekFromDate:m}=Xe(),{formatSelectedDate:v,formatForTextInput:M}=Nt();Je(b,(D,R)=>{s("internal-model-change",b.value),JSON.stringify(R??{})!==JSON.stringify(D??{})&&_()},{deep:!0}),Je(g,(D,R)=>{D.enabled!==R.enabled&&(b.value=null)}),Je(()=>y.value.input,()=>{fe()});const O=D=>D?u.modelType?ne(D):{hours:xt(D),minutes:Tt(D),seconds:c.value.enableSeconds?Et(D):0}:null,E=D=>u.modelType?ne(D):{month:Ae(D),year:he(D)},P=D=>Array.isArray(D)?w.value.enabled?D.map(R=>Y(R,ct(o(),R))):t(()=>[ct(o(),D[0]),D[1]?ct(o(),D[1]):e(g.value.partialRange)],g.value.enabled):ct(o(),+D),Y=(D,R)=>(typeof D=="string"||typeof D=="number")&&u.modelType?ge(D):R,N=D=>Array.isArray(D)?[Y(D[0],d(D[0])),Y(D[1],d(D[1]))]:Y(D,d(D)),W=D=>{const R=xe(o(),{date:1});return Array.isArray(D)?w.value.enabled?D.map(Q=>Y(Q,xe(R,{month:+Q.month,year:+Q.year}))):t(()=>[Y(D[0],xe(R,{month:+D[0].month,year:+D[0].year})),Y(D[1],D[1]?xe(R,{month:+D[1].month,year:+D[1].year}):e(g.value.partialRange))],g.value.enabled):Y(D,xe(R,{month:+D.month,year:+D.year}))},H=D=>{if(Array.isArray(D))return D.map(R=>ge(R));throw new Error(r.dateArr("multi-dates"))},q=D=>{if(Array.isArray(D)&&g.value.enabled){const R=D[0],Q=D[1];return[o(Array.isArray(R)?R[0]:null),Array.isArray(Q)&&Q.length?o(Q[0]):null]}return o(D[0])},G=D=>u.modelAuto?Array.isArray(D)?[ge(D[0]),ge(D[1])]:u.autoApply?[ge(D)]:[ge(D),null]:Array.isArray(D)?t(()=>D[1]?[ge(D[0]),D[1]?ge(D[1]):e(g.value.partialRange)]:[ge(D[0])],g.value.enabled):ge(D),Z=()=>{Array.isArray(b.value)&&g.value.enabled&&b.value.length===1&&b.value.push(e(g.value.partialRange))},U=()=>{const D=b.value;return[ne(D[0]),D[1]?ne(D[1]):e(g.value.partialRange)]},X=()=>Array.isArray(b.value)?b.value[1]?U():ne(a(b.value[0])):[],$=()=>(b.value||[]).map(D=>ne(D)),I=(D=!1)=>(D||Z(),u.modelAuto?X():w.value.enabled?$():Array.isArray(b.value)?t(()=>U(),g.value.enabled):ne(a(b.value))),le=D=>!D||Array.isArray(D)&&!D.length?null:u.timePicker?N(a(D)):u.monthPicker?W(a(D)):u.yearPicker?P(a(D)):w.value.enabled?H(a(D)):u.weekPicker?q(a(D)):G(a(D)),z=D=>{if(l.isTextInputDate)return;const R=le(D);n(a(R))?(b.value=a(R),fe()):(b.value=null,h.value="")},se=()=>b.value?w.value.enabled?b.value.map(D=>v(D)).join("; "):p.value.enabled?M():v(b.value):"",fe=()=>{h.value=se()},ge=D=>u.modelType?Ri.includes(u.modelType)?o(D):u.modelType==="format"&&typeof y.value.input=="string"?_n(D,y.value.input,o(),{locale:u.locale}):_n(D,u.modelType,o(),{locale:u.locale}):o(D),ne=D=>D?u.modelType?u.modelType==="timestamp"?+D:u.modelType==="iso"?D.toISOString():u.modelType==="format"&&typeof y.value.input=="string"?v(D):v(D,u.modelType):D:null,pe=D=>{s("update:model-value",D)},ue=D=>Array.isArray(b.value)?w.value.enabled?b.value.map(R=>D(R)):[D(b.value[0]),b.value[1]?D(b.value[1]):null]:D(a(b.value)),ke=()=>{if(Array.isArray(b.value)){const D=m(b.value[0],u.weekStart),R=b.value[1]?m(b.value[1],u.weekStart):[];return[D.map(Q=>o(Q)),R.map(Q=>o(Q))]}return m(b.value,u.weekStart).map(D=>o(D))},me=D=>pe(a(ue(D))),Te=()=>s("update:model-value",ke());return{checkBeforeEmit:()=>b.value?g.value.enabled?g.value.partialRange?b.value.length>=1:b.value.length===2:!!b.value:!1,parseExternalModelValue:z,formatInputValue:fe,emitModelValue:()=>(fe(),u.monthPicker?me(E):u.timePicker?me(O):u.yearPicker?me(he):u.weekPicker?Te():pe(I()))}},Ca=()=>{const{defaults:{transitions:e}}=Pe(),t=V(()=>a=>e.value?a?e.value.open:e.value.close:""),n=V(()=>a=>e.value?a?e.value.menuAppearTop:e.value.menuAppearBottom:"");return{transitionName:t,showTransition:!!e.value,menuTransition:n}},Sa=e=>{const{today:t,time:n,modelValue:a,defaults:{range:r}}=Pe(),{setTimeModelValue:o}=qe();Je(r,(s,l)=>{s.enabled!==l.enabled&&o(n,a.value,t,r.value.enabled)},{deep:!0}),Je(a,(s,l)=>{e&&JSON.stringify(s??{})!==JSON.stringify(l??{})&&e()},{deep:!0})},st=()=>{const{defaults:{safeDates:e,range:t,multiDates:n,filters:a,timeConfig:r},rootProps:o,getDate:s}=Pe(),{getMapKeyType:l,getMapDate:u,errorMapper:h,convertType:p}=qe(),{isDateBefore:g,isDateAfter:w,isDateEqual:c,resetDate:y,getDaysInBetween:b,setTimeValue:_,getTimeObj:d,setTime:m}=Xe(),v=x=>e.value.disabledDates?typeof e.value.disabledDates=="function"?e.value.disabledDates(s(x)):!!u(x,e.value.disabledDates):!1,M=x=>e.value.maxDate?o.yearPicker?he(x)>he(e.value.maxDate):w(x,e.value.maxDate):!1,O=x=>e.value.minDate?o.yearPicker?he(x){if(!x)return!1;const B=M(x),J=O(x),T=v(x),L=a.value.months.map(A=>+A).includes(Ae(x)),f=a.value.weekDays?.length?a.value.weekDays.some(A=>+A===xl(x)):!1,S=H(x),k=he(x),j=k<+o.yearRange[0]||k>+o.yearRange[1];return!(B||J||T||L||j||f||S)},P=(x,B)=>g(...Te(e.value.minDate,x,B))||c(...Te(e.value.minDate,x,B)),Y=(x,B)=>w(...Te(e.value.maxDate,x,B))||c(...Te(e.value.maxDate,x,B)),N=(x,B,J)=>{let T=!1;return e.value.maxDate&&J&&Y(x,B)&&(T=!0),e.value.minDate&&!J&&P(x,B)&&(T=!0),T},W=(x,B,J,T)=>{let L=!1;return T&&(e.value.minDate||e.value.maxDate)?e.value.minDate&&e.value.maxDate?L=N(x,B,J):(e.value.minDate&&P(x,B)||e.value.maxDate&&Y(x,B))&&(L=!0):L=!0,L},H=x=>Array.isArray(e.value.allowedDates)&&!e.value.allowedDates.length?!0:e.value.allowedDates?!u(x,e.value.allowedDates,l(o.monthPicker,o.yearPicker)):!1,q=x=>!E(x),G=x=>t.value.noDisabledRange?!Yn({start:x[0],end:x[1]}).some(B=>q(B)):!0,Z=x=>{if(x){const B=he(x);return B>=+o.yearRange[0]&&B<=o.yearRange[1]}return!0},U=(x,B)=>!!(Array.isArray(x)&&x[B]&&(t.value.maxRange||t.value.minRange)&&Z(x[B])),X=(x,B,J=0)=>{if(U(B,J)&&Z(x)){const T=Mr(x,B[J]),L=b(B[J],x),f=L.length===1?0:L.filter(k=>q(k)).length,S=Math.abs(T)-(t.value.minMaxRawRange?0:f);if(t.value.minRange&&t.value.maxRange)return S>=+t.value.minRange&&S<=+t.value.maxRange;if(t.value.minRange)return S>=+t.value.minRange;if(t.value.maxRange)return S<=+t.value.maxRange}return!0},$=()=>!r.value.enableTimePicker||o.monthPicker||o.yearPicker||r.value.ignoreTimeValidation,I=x=>Array.isArray(x)?[x[0]?_(x[0]):null,x[1]?_(x[1]):null]:_(x),le=(x,B,J)=>B?x.find(T=>+T.hours===xt(B)&&T.minutes==="*"?!0:+T.minutes===Tt(B)&&+T.hours===xt(B))&&J:!1,z=(x,B,J)=>{const[T,L]=x,[f,S]=B;return!le(T,f,J)&&!le(L,S,J)&&J},se=(x,B)=>{const J=Array.isArray(B)?B:[B];return Array.isArray(o.disabledTimes)?Array.isArray(o.disabledTimes[0])?z(o.disabledTimes,J,x):!J.some(T=>le(o.disabledTimes,T,x)):x},fe=(x,B)=>{const J=Array.isArray(B)?[d(B[0]),B[1]?d(B[1]):void 0]:d(B),T=!o.disabledTimes(J);return x&&T},ge=(x,B)=>o.disabledTimes?Array.isArray(o.disabledTimes)?se(B,x):fe(B,x):B,ne=x=>{let B=!0;if(!x||$())return!0;const J=!e.value.minDate&&!e.value.maxDate?I(x):x;return(o.maxTime||e.value.maxDate)&&(B=R(o.maxTime,e.value.maxDate,"max",p(J),B)),(o.minTime||e.value.minDate)&&(B=R(o.minTime,e.value.minDate,"min",p(J),B)),ge(x,B)},pe=x=>{if(!o.monthPicker)return!0;let B=!0;const J=s(y(x));if(e.value.minDate&&e.value.maxDate){const T=s(y(e.value.minDate)),L=s(y(e.value.maxDate));return w(J,T)&&g(J,L)||c(J,T)||c(J,L)}if(e.value.minDate){const T=s(y(e.value.minDate));B=w(J,T)||c(J,T)}if(e.value.maxDate){const T=s(y(e.value.maxDate));B=g(J,T)||c(J,T)}return B},ue=V(()=>x=>!r.value.enableTimePicker||r.value.ignoreTimeValidation?!0:ne(x)),ke=V(()=>x=>o.monthPicker?Array.isArray(x)&&(t.value.enabled||n.value.enabled)?!x.filter(B=>!pe(B)).length:pe(x):!0),me=(x,B,J)=>{if(!B||J&&!e.value.maxDate||!J&&!e.value.minDate)return!1;const T=J?ft(x,1):ca(x,1),L=[Ae(T),he(T)];return J?!Y(...L):!P(...L)},Te=(x,B,J)=>[xe(s(x),{date:1}),xe(s(),{month:B,year:J,date:1})],D=(x,B,J,T)=>{if(!x)return!0;if(T){const L=J==="max"?Pt(x,B):wt(x,B),f={seconds:0,milliseconds:0};return L||ta(xe(x,f),xe(B,f))}return J==="max"?x.getTime()<=B.getTime():x.getTime()>=B.getTime()},R=(x,B,J,T,L)=>{if(Array.isArray(T)){const S=Q(x,T[0],B),k=Q(x,T[1],B);return D(T[0],S,J,!!B)&&D(T[1],k,J,!!B)&&L}const f=Q(x,T,B);return D(T,f,J,!!B)&&L},Q=(x,B,J)=>x?m(x,B):s(J??B);return{isDisabled:q,validateDate:E,validateMonthYearInRange:W,isDateRangeAllowed:G,checkMinMaxRange:X,isValidTime:ne,validateMonthYear:me,validateMinDate:P,validateMaxDate:Y,isValidDate:x=>Array.isArray(x)?_a(x[0])&&(x[1]?_a(x[1]):!0):x?_a(x):!1,checkPartialRangeValue:x=>{if(x)return null;throw new Error(h.prop("partial-range"))},checkRangeEnabled:(x,B)=>{if(B)return x();throw new Error(h.prop("range"))},checkMinMaxValue:(x,B,J)=>{const T=J!=null,L=B!=null;if(!T&&!L)return!1;const f=+J,S=+B;return T&&L?+x>f||+xf:L?+x{const{rootEmit:t,rootProps:n,defaults:{timeConfig:a,flow:r}}=Pe(),o=ie(0),s=Ha({[Ht.timePicker]:!a.value.enableTimePicker||n.timePicker||n.monthPicker,[Ht.calendar]:!1,[Ht.header]:!1}),l=V(()=>n.monthPicker||n.timePicker),u=c=>{if(r.value?.steps?.length){if(!c&&l.value)return w();s[c]=!0,Object.keys(s).filter(y=>!s[y]).length||w()}},h=()=>{r.value?.steps?.length&&o.value!==-1&&(o.value+=1,t("flow-step",o.value),w()),r.value?.steps?.length===o.value&&Ge().then(()=>p())},p=()=>{o.value=-1},g=(c,y,...b)=>{r.value?.steps[o.value]===c&&e.value&&e.value[y]?.(...b)},w=(c=0)=>{c&&(o.value+=c),g(Qe.month,"toggleMonthPicker",!0),g(Qe.year,"toggleYearPicker",!0),g(Qe.calendar,"toggleTimePicker",!1,!0),g(Qe.time,"toggleTimePicker",!0,!0);const y=r.value?.steps[o.value];(y===Qe.hours||y===Qe.minutes||y===Qe.seconds)&&g(y,"toggleTimePicker",!0,!0,y)};return{childMount:u,updateFlowStep:h,resetFlow:p,handleFlow:w,flowStep:o}};function pn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}function wa(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,l=n?.width?String(n.width):s;r=e.formattingValues[l]||e.formattingValues[s]}else{const s=e.defaultWidth,l=n?.width?String(n.width):e.defaultWidth;r=e.values[l]||e.values[s]}const o=e.argumentCallback?e.argumentCallback(t):t;return r[o]}}function ba(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=t.match(r);if(!o)return null;const s=o[0],l=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(l)?Fi(l,g=>g.test(s)):Ni(l,g=>g.test(s));let h;h=e.valueCallback?e.valueCallback(u):u,h=n.valueCallback?n.valueCallback(h):h;const p=t.slice(s.length);return{value:h,rest:p}}}function Ni(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Fi(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const l=t.slice(r.length);return{value:s,rest:l}}}const Li={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Wi=(e,t,n)=>{let a;const r=Li[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a},Ii={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Hi=(e,t,n,a)=>Ii[e],qi={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ui={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ji={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},zi={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Ki={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Xi={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Qi=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Gi={ordinalNumber:Qi,era:wa({values:qi,defaultWidth:"wide"}),quarter:wa({values:Ui,defaultWidth:"wide",argumentCallback:e=>e-1}),month:wa({values:ji,defaultWidth:"wide"}),day:wa({values:zi,defaultWidth:"wide"}),dayPeriod:wa({values:Ki,defaultWidth:"wide",formattingValues:Xi,defaultFormattingWidth:"wide"})},Zi=/^(\d+)(th|st|nd|rd)?/i,Ji=/\d+/i,eu={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},tu={any:[/^b/i,/^(a|c)/i]},au={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},nu={any:[/1/i,/2/i,/3/i,/4/i]},ru={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ou={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},su={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},lu={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},iu={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},uu={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},cu={ordinalNumber:Vi({matchPattern:Zi,parsePattern:Ji,valueCallback:e=>parseInt(e,10)}),era:ba({matchPatterns:eu,defaultMatchWidth:"wide",parsePatterns:tu,defaultParseWidth:"any"}),quarter:ba({matchPatterns:au,defaultMatchWidth:"wide",parsePatterns:nu,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ba({matchPatterns:ru,defaultMatchWidth:"wide",parsePatterns:ou,defaultParseWidth:"any"}),day:ba({matchPatterns:su,defaultMatchWidth:"wide",parsePatterns:lu,defaultParseWidth:"any"}),dayPeriod:ba({matchPatterns:iu,defaultMatchWidth:"any",parsePatterns:uu,defaultParseWidth:"any"})},du={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},fu={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},mu={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},vu={date:pn({formats:du,defaultWidth:"full"}),time:pn({formats:fu,defaultWidth:"full"}),dateTime:pn({formats:mu,defaultWidth:"full"})},pu={code:"en-US",formatDistance:Wi,formatLong:vu,formatRelative:Hi,localize:Gi,match:cu,options:{weekStartsOn:0,firstWeekContainsDate:1}},sr={noDisabledRange:!1,showLastInRange:!0,minMaxRawRange:!1,partialRange:!0,disableTimeRangeValidation:!1,maxRange:void 0,minRange:void 0,autoRange:void 0,fixedStart:!1,fixedEnd:!1,autoSwitchStartEnd:!0},hu={allowStopPropagation:!0,closeOnScroll:!1,modeHeight:255,allowPreventDefault:!1,closeOnClearValue:!0,closeOnAutoApply:!0,noSwipe:!1,keepActionRow:!1,onClickOutside:void 0,tabOutClosesMenu:!0,arrowLeft:void 0,keepViewOnOffsetClick:!1,timeArrowHoldThreshold:0,shadowDom:!1,mobileBreakpoint:600,setDateOnMenuClose:!1,escClose:!0,spaceConfirm:!0,monthChangeOnArrows:!0,monthChangeOnScroll:!0},lr={enterSubmit:!0,tabSubmit:!0,openMenu:"open",selectOnFocus:!1,rangeSeparator:" - ",escClose:!0,format:void 0,maskFormat:void 0,applyOnBlur:!1,separators:void 0},yu={dates:[],years:[],months:[],quarters:[],weeks:[],weekdays:[],options:{highlightDisabled:!1}},gu={showSelect:!0,showCancel:!0,showNow:!1,showPreview:!0,selectBtnLabel:"Select",cancelBtnLabel:"Cancel",nowBtnLabel:"Now",nowBtnRound:void 0},wu={toggleOverlay:"Toggle overlay",menu:"Datepicker menu",input:"Datepicker input",openTimePicker:"Open time picker",closeTimePicker:"Close time Picker",incrementValue:e=>`Increment ${e}`,decrementValue:e=>`Decrement ${e}`,openTpOverlay:e=>`Open ${e} overlay`,amPmButton:"Switch AM/PM mode",openYearsOverlay:"Open years overlay",openMonthsOverlay:"Open months overlay",nextMonth:"Next month",prevMonth:"Previous month",nextYear:"Next year",prevYear:"Previous year",day:void 0,weekDay:void 0,clearInput:"Clear value",calendarIcon:"Calendar icon",timePicker:"Time picker",monthPicker:e=>`Month picker${e?" overlay":""}`,yearPicker:e=>`Year picker${e?" overlay":""}`,timeOverlay:e=>`${e} overlay`},ir={menuAppearTop:"dp-menu-appear-top",menuAppearBottom:"dp-menu-appear-bottom",open:"dp-slide-down",close:"dp-slide-up",next:"calendar-next",previous:"calendar-prev",vNext:"dp-slide-up",vPrevious:"dp-slide-down"},bu={weekDays:[],months:[],years:[],times:{hours:[],minutes:[],seconds:[]}},ku={month:"LLL",year:"yyyy",weekDay:"EEEEEE",quarter:"MMMM",day:"d",input:void 0,preview:void 0},_u={enableTimePicker:!0,ignoreTimeValidation:!1,enableSeconds:!1,enableMinutes:!0,is24:!0,noHoursOverlay:!1,noMinutesOverlay:!1,noSecondsOverlay:!1,hoursGridIncrement:1,minutesGridIncrement:5,secondsGridIncrement:5,hoursIncrement:1,minutesIncrement:1,secondsIncrement:1,timePickerInline:!1,startTime:void 0},Du={flowStep:0,menuWrapRef:null,collapse:!1},xu={weekStart:zr.Monday,yearRange:()=>[1900,2100],ui:()=>({}),locale:()=>pu,dark:!1,transitions:!0,hideNavigation:()=>[],vertical:!1,hideMonthYearSelect:!1,disableYearSelect:!1,autoApply:!1,disabledDates:()=>[],hideOffsetDates:!1,noToday:!1,markers:()=>[],presetDates:()=>[],preventMinMaxNavigation:!1,reverseYears:!1,weekPicker:!1,arrowNavigation:!1,monthPicker:!1,yearPicker:!1,quarterPicker:!1,timePicker:!1,modelAuto:!1,multiDates:!1,range:!1,inline:!1,sixWeeks:!1,focusStartDate:!1,yearFirst:!1,loading:!1,centered:!1},ur={name:void 0,required:!1,autocomplete:"off",state:void 0,clearable:!0,alwaysClearable:!1,hideInputIcon:!1,id:void 0,inputmode:"none"},La={type:"local",hideOnOffsetDates:!1,label:"W"},Mu=e=>{const{getMapKey:t,getMapKeyType:n,getTimeObjFromCurrent:a}=qe();function r($,I){let le;return e.timezone?le=new aa($??new Date,e.timezone):le=$?new Date($):new Date,I?xe(le,{hours:0,minutes:0,seconds:0,milliseconds:0}):le}const o=()=>{const $=G.value.enableSeconds?":ss":"",I=G.value.enableMinutes?":mm":"";return G.value.is24?`HH${I}${$}`:`hh${I}${$} aa`},s=()=>e.monthPicker?"MM/yyyy":e.timePicker?o():e.weekPicker?`${E.value?.type==="iso"?"II":"ww"}-RR`:e.yearPicker?"yyyy":e.quarterPicker?"QQQ/yyyy":G.value.enableTimePicker?`MM/dd/yyyy, ${o()}`:"MM/dd/yyyy",l=$=>a(r(),$,G.value.enableSeconds),u=()=>N.value.enabled?G.value.startTime&&Array.isArray(G.value.startTime)?[l(G.value.startTime[0]),l(G.value.startTime[1])]:null:G.value.startTime&&!Array.isArray(G.value.startTime)?l(G.value.startTime):null,h=$=>$?typeof $=="boolean"?$?2:0:Math.max(+$,2):0,p=$=>{const I=n(e.monthPicker,e.yearPicker);return new Map($.map(le=>{const z=r(le,g.value);return[t(z,I),z]}))},g=V(()=>e.monthPicker||e.yearPicker||e.quarterPicker),w=V(()=>{const $=typeof e.multiCalendars=="object"&&e.multiCalendars,I={static:!0,solo:!1};if(!e.multiCalendars)return{...I,count:h(!1)};const le=$?e.multiCalendars:{},z=$?le.count??!0:e.multiCalendars,se=h(z);return Object.assign(I,le,{count:se})}),c=V(()=>u()),y=V(()=>({...wu,...e.ariaLabels})),b=V(()=>({...bu,...e.filters})),_=V(()=>typeof e.transitions=="boolean"?e.transitions?ir:!1:{...ir,...e.transitions}),d=V(()=>({...gu,...e.actionRow})),m=V(()=>typeof e.textInput=="object"?{...lr,...e.textInput,format:typeof e.textInput.format=="string"?e.textInput.format:H.value.input,pattern:e.textInput.format??H.value.input,enabled:!0}:{...lr,format:H.value.input,pattern:H.value.input,enabled:e.textInput}),v=V(()=>{const $={input:!1};return typeof e.inline=="object"?{...$,...e.inline,enabled:!0}:{enabled:e.inline,...$}}),M=V(()=>({...hu,...e.config})),O=V(()=>typeof e.highlight=="function"?e.highlight:{...yu,...e.highlight}),E=V(()=>typeof e.weekNumbers=="object"?{type:e.weekNumbers?.type??La.type,hideOnOffsetDates:e.weekNumbers?.hideOnOffsetDates??La.hideOnOffsetDates,label:e.weekNumbers.label??La.label}:e.weekNumbers?La:void 0),P=V(()=>typeof e.multiDates=="boolean"?{enabled:e.multiDates,dragSelect:!0,limit:null}:{enabled:!!e.multiDates,limit:e.multiDates?.limit?+e.multiDates.limit:null,dragSelect:e.multiDates?.dragSelect??!0}),Y=V(()=>({minDate:e.minDate?r(e.minDate):null,maxDate:e.maxDate?r(e.maxDate):null,disabledDates:Array.isArray(e.disabledDates)?p(e.disabledDates):e.disabledDates,allowedDates:Array.isArray(e.allowedDates)?p(e.allowedDates):null,highlight:typeof O.value=="object"&&Array.isArray(O.value.dates)?p(O.value.dates):O.value,markers:e.markers?.length?new Map(e.markers.map($=>{const I=r($.date);return[t(I,na.DATE),$]})):null})),N=V(()=>typeof e.range=="object"?{enabled:!0,...sr,...e.range}:{enabled:e.range,...sr}),W=V(()=>({...Object.fromEntries(Object.keys(e.ui).map($=>{const I=$,le=e.ui[I];if(I==="dayClass")return[I,e.ui[I]];const z=typeof e.ui[I]=="string"?{[le]:!0}:Object.fromEntries(le.map(se=>[se,!0]));return[$,z]}))})),H=V(()=>({...ku,...e.formats,input:e.formats?.input??s(),preview:e.formats?.preview??s()})),q=V(()=>{if(e.teleport)return typeof e.teleport=="string"?e.teleport:typeof e.teleport=="boolean"?"body":e.teleport}),G=V(()=>({..._u,...e.timeConfig})),Z=V(()=>{if(e.flow)return{steps:[],partial:!1,...e.flow}}),U=V(()=>{const $=m.value.enabled?"text":"none";return e.inputAttrs?{...ur,inputmode:$,...e.inputAttrs}:{...ur,inputmode:$}}),X=V(()=>({offset:e.floating?.offset??10,arrow:e.floating?.arrow??!0,strategy:e.floating?.strategy??void 0,placement:e.floating?.placement??void 0,flip:e.floating?.flip??!0,shift:e.floating?.shift??!0}));return{transitions:_,multiCalendars:w,startTime:c,ariaLabels:y,filters:b,actionRow:d,textInput:m,inline:v,config:M,highlight:O,weekNumbers:E,range:N,safeDates:Y,multiDates:P,ui:W,formats:H,teleport:q,timeConfig:G,flow:Z,inputAttrs:U,floatingConfig:X,getDate:r}},qe=()=>{const e=(m,v)=>nt(m,v??na.DATE),t=(m,v)=>m?na.MONTH_AND_YEAR:v?na.YEAR:na.DATE,n=(m,v,M)=>v.get(e(m,M)),a=m=>m,r=m=>m===0?m:!m||Number.isNaN(+m)?null:+m,o=()=>["a[href]","area[href]","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-datepicker-instance]"].join(", "),s=(m,v)=>{let M=[...document.querySelectorAll(o())];M=M.filter(E=>!m.contains(E)||"datepicker-instance"in E.dataset);const O=M.indexOf(m);if(O>=0&&(v?O-1>=0:O+1<=M.length))return M[O+(v?-1:1)]},l=m=>String(m).padStart(2,"0"),u=(m,v)=>m?.querySelector(`[data-dp-element="${v}"]`),h=(m,v,M=!1)=>{m&&v.allowStopPropagation&&(M&&m.stopImmediatePropagation(),m.stopPropagation())},p=(m,v,M=!1,O)=>{if(m.key===Re.enter||m.key===Re.space)return M&&m.preventDefault(),v();if(O)return O(m)},g=(m,v)=>{v.allowStopPropagation&&m.stopPropagation(),v.allowPreventDefault&&m.preventDefault()},w=m=>{if(m)return[...m.querySelectorAll("input, button, select, textarea, a[href]")][0]},c=()=>"ontouchstart"in globalThis||navigator.maxTouchPoints>0,y=m=>[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11][m],b=m=>{const v=[],M=O=>O.filter(E=>!!E);for(let O=0;O`"${m}" prop must be enabled!`,dateArr:m=>`You need to use array as "model-value" binding in order to support "${m}"`},d=(m,v,M,O,E)=>{const P={hours:xt,minutes:Tt,seconds:Et};if(!v)return O?[P[m](M),P[m](M)]:P[m](M);if(Array.isArray(v)&&O){const Y=v[0]??M,N=v[1];return[P[m](Y),N?P[m](N):E[m][1]??P[m](M)]}return Array.isArray(v)&&!O?P[m](v[v.length-1]??M):P[m](v)};return{getMapKey:e,getMapKeyType:t,getMapDate:n,convertType:a,getNumVal:r,findNextFocusableElement:s,padZero:l,getElWithin:u,checkStopPropagation:h,checkKeyDown:p,handleEventPropagation:g,findFocusableEl:w,isTouchDevice:c,hoursToAmPmHours:y,getGroupedList:b,setTimeModelValue:(m,v,M,O)=>{m.hours=d("hours",v,M,O,m),m.minutes=d("minutes",v,M,O,m),m.seconds=d("seconds",v,M,O,m)},getTimeObjFromCurrent:(m,v,M)=>{const O={hours:xt(m),minutes:Tt(m),seconds:M?Et(m):0};return Object.assign(O,v)},errorMapper:_}},Xe=()=>{const{getDate:e}=Pe(),{getMapDate:t,getGroupedList:n}=qe(),a=(d,m)=>{if(!d)return e();const v=e(d),M=xe(v,{hours:0,minutes:0,seconds:0,milliseconds:0});return m?Ys(M):M},r=(d,m)=>{const v=e(m);return xe(v,{hours:+(d.hours??xt(v)),minutes:+(d.minutes??Tt(v)),seconds:+(d.seconds??Et(v)),milliseconds:0})},o=(d,m)=>{const v=ot(d,{weekStartsOn:+m}),M=Rn(d,{weekStartsOn:+m});return[v,M]},s=(d,m)=>!d||!m?!1:Pt(a(d),a(m)),l=(d,m)=>!d||!m?!1:ta(a(d),a(m)),u=(d,m)=>!d||!m?!1:wt(a(d),a(m)),h=(d,m,v)=>d?.[0]&&d?.[1]?u(v,d[0])&&s(v,d[1]):d?.[0]&&m?u(v,d[0])&&s(v,m)||s(v,d[0])&&u(v,m):!1,p=(d,m)=>{const v=u(d,m)?m:d,M=u(m,d)?m:d;return Yn({start:v,end:M})},g=d=>`dp-${nt(d,"yyyy-MM-dd")}`,w=d=>a(xe(e(d),{date:1})),c=(d,m)=>{if(m){const v=he(e(m));if(v>d)return 12;if(v===d)return Ae(e(m))}},y=(d,m)=>{if(m){const v=he(e(m));return v{if(d)return he(e(d))},_=d=>({hours:xt(d),minutes:Tt(d),seconds:Et(d)});return{resetDateTime:a,groupListAndMap:(d,m)=>n(d).map(v=>v.map(M=>{const{active:O,disabled:E,isBetween:P,highlighted:Y}=m(M);return{...M,active:O,disabled:E,className:{dp__overlay_cell_active:O,dp__overlay_cell:!O,dp__overlay_cell_disabled:E,dp__overlay_cell_pad:!0,dp__overlay_cell_active_disabled:E&&O,dp__cell_in_between:P,"dp--highlighted":Y}}})),setTime:r,getWeekFromDate:o,isDateAfter:u,isDateBefore:s,isDateBetween:h,isDateEqual:l,getDaysInBetween:p,getCellId:g,resetDate:w,getMinMonth:c,getMaxMonth:y,getYearFromDate:b,getTimeObj:_,setTimeValue:d=>xe(e(),_(d)),sanitizeTime:(d,m,v)=>m&&(v||v===0)?Object.fromEntries(["hours","minutes","seconds"].map(M=>M===m?[M,v]:[M,Number.isNaN(+d[M])?void 0:+d[M]])):{hours:Number.isNaN(+d.hours)?void 0:+d.hours,minutes:Number.isNaN(+d.minutes)?void 0:+d.minutes,seconds:Number.isNaN(+(d.seconds??""))?void 0:+d.seconds},getBeforeAndAfterInRange:(d,m)=>{const v=Nr(a(m),d),M=rt(a(m),d);return{before:v,after:M}},isModelAuto:d=>Array.isArray(d)?!!d[0]&&!!d[1]:!1,matchDate:(d,m)=>d?m?m instanceof Map?!!t(d,m):m(e(d)):!1:!0,checkHighlightMonth:(d,m,v)=>typeof d=="function"?d({month:m,year:v}):d.months.some(M=>M.month===m&&M.year===v),checkHighlightYear:(d,m)=>typeof d=="function"?d(m):d.years.includes(m)}},Ja=()=>{const{defaults:{config:e}}=Pe(),t=ie(0);je(()=>{n(),globalThis.addEventListener("resize",n,{passive:!0})}),jt(()=>{globalThis.removeEventListener("resize",n)});const n=()=>{t.value=globalThis.document.documentElement.clientWidth};return{isMobile:V(()=>t.value<=e.value.mobileBreakpoint?!0:void 0)}},Nt=()=>{const{getDate:e,state:t,modelValue:n,rootProps:a,defaults:{formats:r,textInput:o}}=Pe(),s=y=>nt(ct(e(),y),r.value.year,{locale:a.locale}),l=y=>nt(Fr(e(),y),r.value.month,{locale:a.locale}),u=y=>nt(y,r.value.weekDay,{locale:a.locale}),h=y=>nt(y,r.value.quarter,{locale:a.locale}),p=(y,b)=>[y,b].map(_=>h(_)).join("-"),g=y=>nt(y,r.value.day,{locale:a.locale}),w=(y,b,_)=>{const d=_?r.value.preview:r.value.input;if(!y)return"";if(typeof d=="function")return d(y);const m=b??d,v={locale:a.locale};return Array.isArray(y)?`${nt(y[0],m,v)}${a.modelAuto&&!y[1]?"":o.value.rangeSeparator}${y[1]?nt(y[1],m,v):""}`:nt(y,m,v)},c=()=>{const y=b=>nt(b,o.value.format);return Array.isArray(n.value)?`${y(n.value[0])} ${o.value.rangeSeparator} ${n.value[1]?y(n.value[1]):""}`:""};return{formatYear:s,formatMonth:l,formatWeekDay:u,formatQuarter:h,formatSelectedDate:w,formatForTextInput:()=>t.isInputFocused&&n.value?Array.isArray(n.value)?c():nt(n.value,o.value.format):w(n.value),formatPreview:y=>w(y,void 0,!0),formatQuarterText:p,formatDay:g}},en=()=>{const{rootProps:e}=Pe(),{formatYear:t,formatMonth:n}=Nt();return{getMonths:()=>[0,1,2,3,4,5,6,7,8,9,10,11].map(a=>({text:n(a),value:a})),getYears:()=>{const a=[];for(let r=+e.yearRange[0];r<=+e.yearRange[1];r++)a.push({value:+r,text:t(r)});return e.reverseYears?a.reverse():a},isOutOfYearRange:a=>a<+e.yearRange[0]||a>+e.yearRange[1]}},Pu=e=>({openMenu:()=>e.value?.openMenu(),closeMenu:()=>e.value?.closeMenu(),selectDate:()=>e.value?.selectDate(),clearValue:()=>e.value?.clearValue(),formatInputValue:()=>e.value?.formatInputValue(),updateInternalModelValue:t=>e.value?.updateInternalModelValue(t),setMonthYear:(t,n)=>e.value?.setMonthYear(t,n),parseModel:()=>e.value?.parseModel(),switchView:(t,n)=>e.value?.switchView(t,n),handleFlow:()=>e.value?.handleFlow(),toggleMenu:()=>e.value?.toggleMenu(),dpMenuRef:()=>e.value?.dpMenuRef(),dpWrapMenuRef:()=>e.value?.dpWrapMenuRef(),inputRef:()=>e.value?.inputRef()}),fa=()=>({boolHtmlAttribute:e=>e?!0:void 0}),Au=()=>{const{getDate:e,rootProps:t,defaults:{textInput:n,startTime:a,timeConfig:r}}=Pe(),{getTimeObjFromCurrent:o}=qe(),s=ie(!1),l=V(()=>Array.isArray(a.value)?a.value[0]:a.value??o(e(),{},r.value.enableSeconds)),u=(p,g)=>{const w=/[^a-zA-Z]+/g,c=/\D+/g,y=g.split(c),b=p.split(w),_=p.match(w)||[],d=g.match(c)||[];let m="";for(let v=0;v0&&d[v-1]&&(m+=_[v-1]||d[v-1]);const M=y[v]?.length;m+=b[v]?.slice(0,M)}return m},h=(p,g,w)=>{const c=_n(p,u(g,p),e(),{locale:t.locale});return _a(c)&&Pr(c)?w||s.value?c:xe(c,{hours:+l.value.hours,minutes:+l.value.minutes,seconds:+(l.value.seconds??0),milliseconds:0}):null};return{textPasted:s,parseFreeInput:(p,g)=>{if(typeof n.value.pattern=="string")return h(p,n.value.pattern,g);if(Array.isArray(n.value.pattern)){let w=null;for(const c of n.value.pattern)if(w=h(p,c,g),w)break;return w}return typeof n.value.pattern=="function"?n.value.pattern(p):null},applyMaxValues:(p,g)=>{const w={MM:12,DD:31,hh:23,mm:59,ss:59};let c="",y=0;for(let b=0;bw[_]&&(v=w[_]),c+=v.toString().padStart(d,"0").slice(0,d)}y+=d}return c},createMaskedValue:(p,g)=>{const w=/(YYYY|MM|DD|hh|mm|ss)/g,c=[...g.matchAll(w)].map(m=>m[0]),y=g.replace(w,"|").split("|").filter(Boolean),b=c.map(m=>m.length);let _="",d=0;for(let m=0;m(e.Input="input",e.DatePicker="date-picker",e.Calendar="calendar",e.DatePickerHeader="date-picker-header",e.Menu="menu",e.ActionRow="action-row",e.TimePicker="time-picker",e.TimeInput="time-input",e.PassTrough="pass-trough",e.MonthPicker="month-picker",e.YearMode="year-mode",e.QuarterPicker="quarter-picker",e.YearPicker="year-picker",e))(mt||{});const Jt=["time-input","time-picker","pass-trough"],Kr=[{name:"trigger",use:["input"]},{name:"input-icon",use:["input"]},{name:"clear-icon",use:["input"]},{name:"dp-input",use:["input"]},{name:"clock-icon",use:["time-picker","time-input","pass-trough"]},{name:"arrow-left",use:["date-picker-header","pass-trough","year-mode"]},{name:"arrow-right",use:["date-picker-header","pass-trough","year-mode"]},{name:"arrow-up",use:["time-picker","time-input","date-picker-header","pass-trough"]},{name:"arrow-down",use:["time-picker","time-input","date-picker-header","pass-trough"]},{name:"calendar-icon",use:["date-picker-header","time-picker","pass-trough","year-mode"]},{name:"day",use:["calendar","pass-trough"]},{name:"month-overlay-value",use:["date-picker-header","pass-trough","month-picker"]},{name:"year-overlay-value",use:["date-picker-header","pass-trough","year-mode","year-picker"]},{name:"year-overlay",use:["date-picker-header","pass-trough"]},{name:"month-overlay",use:["date-picker-header","pass-trough"]},{name:"month-overlay-header",use:["date-picker-header","pass-trough"]},{name:"year-overlay-header",use:["date-picker-header","pass-trough"]},{name:"hours-overlay-value",use:Jt},{name:"hours-overlay-header",use:Jt},{name:"minutes-overlay-value",use:Jt},{name:"minutes-overlay-header",use:Jt},{name:"seconds-overlay-value",use:Jt},{name:"seconds-overlay-header",use:Jt},{name:"hours",use:["time-input","time-picker","pass-trough"]},{name:"minutes",use:["time-input","time-picker","pass-trough"]},{name:"seconds",use:["time-input","time-picker","pass-trough"]},{name:"month",use:["date-picker-header","time-picker","pass-trough"]},{name:"year",use:["date-picker-header","time-picker","pass-trough","year-mode"]},{name:"action-buttons",use:["action-row"]},{name:"action-preview",use:["action-row"]},{name:"calendar-header",use:["calendar","pass-trough"]},{name:"marker-tooltip",use:["calendar","pass-trough"]},{name:"action-extra",use:["menu"]},{name:"time-picker-overlay",use:["time-picker","time-picker","pass-trough"]},{name:"am-pm-button",use:["time-picker","time-input","pass-trough"]},{name:"left-sidebar",use:["menu"]},{name:"right-sidebar",use:["menu"]},{name:"month-year",use:["date-picker-header","pass-trough","month-picker","year-picker"]},{name:"time-picker",use:["date-picker","pass-trough"]},{name:"action-row",use:["action-row"]},{name:"marker",use:["calendar","pass-trough"]},{name:"quarter",use:["quarter-picker","pass-trough"]},{name:"top-extra",use:["date-picker-header","pass-trough","month-picker","quarter-picker","year-picker"]},{name:"tp-inline-arrow-up",use:["date-picker","time-input","time-picker","pass-trough"]},{name:"tp-inline-arrow-down",use:["date-picker","time-input","time-picker","pass-trough"]},{name:"arrow",use:["menu"]},{name:"menu-header",use:["menu"]}],_t=(e,t)=>Kr.filter(n=>e[n.name]&&n.use.includes(t)).map(n=>n.name),Xr=(e,t)=>Kr.map(n=>n.name).concat(t?.filter(n=>n.slot).map(n=>n.slot)??[]).filter(n=>!!e[n]),Tu={key:1,class:"dp__input_wrap"},Ou=["id","name","inputmode","placeholder","disabled","readonly","required","value","autocomplete","aria-label","aria-disabled","aria-invalid"],Cu={key:1,class:"dp--clear-btn"},Su=["aria-label"],Yu=Ue({__name:"DatepickerInput",props:{isMenuOpen:{type:Boolean,default:!1}},emits:["clear","open","set-input-date","close","select-date","set-empty-date","toggle","focus","blur","real-blur"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,inputValue:s,rootProps:l,defaults:{textInput:u,ariaLabels:h,inline:p,config:g,range:w,multiDates:c,ui:y,inputAttrs:b}}=Pe(),{checkMinMaxRange:_,isValidDate:d}=st(),{parseFreeInput:m,textPasted:v,createMaskedValue:M,applyMaxValues:O}=Au(),{checkKeyDown:E,checkStopPropagation:P}=qe(),{boolHtmlAttribute:Y}=fa(),N=Be("dp-input"),W=ie(null),H=ie(!1),q=V(()=>({dp__pointer:!l.disabled&&!l.readonly&&!u.value.enabled,dp__disabled:l.disabled,dp__input_readonly:!u.value.enabled,dp__input:!0,dp__input_not_clearable:!b.value.clearable,dp__input_icon_pad:!b.value.hideInputIcon,dp__input_valid:typeof b.value.state=="boolean"?b.value.state:!1,dp__input_invalid:typeof b.value.state=="boolean"?!b.value.state:!1,dp__input_focus:H.value||r.isMenuOpen,dp__input_reg:!u.value.enabled,...y.value.input})),G=()=>{a("set-input-date",null),b&&l.autoApply&&(a("set-empty-date"),W.value=null)},Z=D=>{if(u.value.separators?.length){const R=new RegExp(u.value.separators.map(Q=>Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"));return D.split(R)}return D.split(u.value.rangeSeparator)},U=D=>{const[R,Q]=Z(D);if(R){const x=m(R.trim(),s.value),B=Q?m(Q.trim(),s.value):void 0;if(wt(x,B))return;const J=x&&B?[x,B]:[x];_(B,J,0)&&(W.value=x?J:null)}},X=()=>{v.value=!0},$=D=>{if(w.value.enabled)U(D);else if(c.value.enabled){const R=D.split(";");W.value=R.map(Q=>m(Q.trim())).filter(Q=>!!Q)}else W.value=m(D,s.value)},I=D=>{const R=typeof D=="string"?D:D.target?.value,Q=u?.value?.maskFormat;let x=R;if(typeof Q=="string"){const B=/(YYYY|MM|DD|hh|mm|ss)/g,J=[...Q.matchAll(B)].map(f=>f[0]),T=R.replace(/\D/g,""),L=O(T,J);x=M(L,Q)}x===""?G():(u.value.openMenu&&!r.isMenuOpen&&a("open"),$(x),a("set-input-date",W.value)),v.value=!1,s.value=x,o("text-input",D,W.value)},le=D=>{u.value.enabled?($(D.target.value),u.value.enterSubmit&&d(W.value)&&s.value!==""?(a("set-input-date",W.value,!0),W.value=null):u.value.enterSubmit&&s.value===""&&(W.value=null,a("clear"))):fe(D)},z=(D,R)=>{u.value.enabled&&u.value.tabSubmit&&!R&&$(D.target.value),u.value.tabSubmit&&d(W.value)&&s.value!==""?(a("set-input-date",W.value,!0,!0),W.value=null):u.value.tabSubmit&&s.value===""&&(W.value=null,a("clear"))},se=()=>{H.value=!0,a("focus"),Ge().then(()=>{u.value.enabled&&u.value.selectOnFocus&&N.value?.select()})},fe=D=>{if(P(D,g.value,!0),u.value.enabled&&u.value.openMenu&&!p.value.input){if(u.value.openMenu==="open"&&!r.isMenuOpen)return a("open");if(u.value.openMenu==="toggle")return a("toggle")}else u.value.enabled||a("toggle")},ge=()=>{a("real-blur"),H.value=!1,(!r.isMenuOpen||p.value.enabled&&p.value.input)&&a("blur"),(l.autoApply&&u.value.enabled&&W.value&&!r.isMenuOpen||u.value.applyOnBlur)&&(a("set-input-date",W.value),a("select-date"),W.value=null)},ne=D=>{P(D,g.value,!0),a("clear")},pe=()=>{a("close")},ue=D=>{if(D.key==="Tab"&&z(D),D.key==="Enter"&&le(D),D.key==="Escape"&&u.value.escClose&&pe(),!u.value.enabled){if(D.code==="Tab")return;D.preventDefault()}},ke=()=>{N.value?.focus({preventScroll:!0})},me=D=>{W.value=D},Te=D=>{D.key===Re.tab&&z(D,!0)};return t({focusInput:ke,setParsedDate:me}),(D,R)=>(F(),te("div",{onClick:fe},[!D.$slots["dp-input"]&&!i(p).enabled?oe(D.$slots,"trigger",{key:0}):re("",!0),!D.$slots.trigger&&(!i(p).enabled||i(p).input)?(F(),te("div",Tu,[!D.$slots.trigger&&(!i(p).enabled||i(p).enabled&&i(p).input)?oe(D.$slots,"dp-input",{key:0,value:i(s),isMenuOpen:e.isMenuOpen,onInput:I,onEnter:le,onTab:z,onClear:ne,onBlur:ge,onKeypress:ue,onPaste:X,onFocus:se,openMenu:()=>D.$emit("open"),closeMenu:()=>D.$emit("close"),toggleMenu:()=>D.$emit("toggle")},()=>[we("input",{id:i(b).id,ref:"dp-input","data-test-id":"dp-input",name:i(b).name,class:ye(q.value),inputmode:i(b).inputmode,placeholder:i(l).placeholder,disabled:i(Y)(i(l).disabled),readonly:i(Y)(i(l).readonly),required:i(Y)(i(b).required),value:i(s),autocomplete:i(b).autocomplete,"aria-label":i(h).input,"aria-disabled":i(l).disabled||void 0,"aria-invalid":i(b).state===!1?!0:void 0,onInput:I,onBlur:ge,onFocus:se,onKeypress:ue,onKeydown:R[0]||(R[0]=Q=>ue(Q)),onPaste:X,onInvalid:R[1]||(R[1]=Q=>i(o)("invalid",Q))},null,42,Ou)]):re("",!0),we("div",{onClick:R[4]||(R[4]=Q=>a("toggle"))},[D.$slots["input-icon"]&&!i(b).hideInputIcon?(F(),te("span",{key:0,class:"dp__input_icon",onClick:R[2]||(R[2]=Q=>a("toggle"))},[oe(D.$slots,"input-icon")])):re("",!0),!D.$slots["input-icon"]&&!i(b).hideInputIcon&&!D.$slots["dp-input"]?(F(),$e(i(Oa),{key:1,"aria-label":i(h)?.calendarIcon,class:"dp__input_icon dp__input_icons",onClick:R[3]||(R[3]=Q=>a("toggle"))},null,8,["aria-label"])):re("",!0)]),D.$slots["clear-icon"]&&(i(b).alwaysClearable||i(s)&&i(b).clearable&&!i(l).disabled&&!i(l).readonly)?(F(),te("span",Cu,[oe(D.$slots,"clear-icon",{clear:ne})])):re("",!0),!D.$slots["clear-icon"]&&(i(b).alwaysClearable||i(b).clearable&&i(s)&&!i(l).disabled&&!i(l).readonly)?(F(),te("button",{key:2,"aria-label":i(h)?.clearInput,class:"dp--clear-btn",type:"button","data-test-id":"clear-input-value-btn",onKeydown:R[5]||(R[5]=Q=>i(E)(Q,()=>ne(Q),!0,Te)),onClick:R[6]||(R[6]=sa(Q=>ne(Q),["prevent"]))},[He(i(Si),{class:"dp__input_icons"})],40,Su)):re("",!0)])):re("",!0)]))}}),Ru={ref:"action-row",class:"dp__action_row"},$u=["title"],Eu={ref:"action-buttons-container",class:"dp__action_buttons","data-dp-element":"action-row"},Bu=["disabled"],Nu=Ue({__name:"ActionRow",props:{menuMount:{type:Boolean,default:!1},calendarWidth:{default:0}},emits:["close-picker","select-date","select-now"],setup(e,{emit:t}){const n=t,a=e,{rootEmit:r,rootProps:o,modelValue:s,defaults:{actionRow:l,multiCalendars:u,inline:h,range:p,multiDates:g,formats:w}}=Pe(),{isTimeValid:c,isMonthValid:y}=st(),{formatPreview:b}=Nt(),{checkKeyDown:_,convertType:d}=qe(),{boolHtmlAttribute:m}=fa(),v=Be("action-buttons-container"),M=Be("action-row"),O=ie(!1),E=ie({});je(()=>{P(),globalThis.addEventListener("resize",P)}),jt(()=>{globalThis.removeEventListener("resize",P)});const P=()=>{O.value=!1,setTimeout(()=>{const X=v.value?.getBoundingClientRect(),$=M.value?.getBoundingClientRect();X&&$&&(E.value.maxWidth=`${$.width-X.width-20}px`),O.value=!0},0)},Y=V(()=>p.value.enabled&&!p.value.partialRange&&s.value?s.value.length===2:!0),N=V(()=>!c.value(s.value)||!y.value(s.value)||!Y.value),W=()=>{const X=w.value.preview;return o.timePicker||o.monthPicker,X(d(s.value))},H=()=>{const X=s.value;return u.value.count>0?`${b(X[0])} - ${b(X[1])}`:[b(X[0]),b(X[1])]},q=V(()=>!s.value||!a.menuMount?"":typeof w.value.preview=="string"?Array.isArray(s.value)?s.value.length===2&&s.value[1]?H():g.value.enabled?s.value.map(X=>`${b(X)}`):o.modelAuto?`${b(s.value[0])}`:`${b(s.value[0])} -`:b(s.value):W()),G=()=>g.value.enabled?"; ":" - ",Z=V(()=>Array.isArray(q.value)?q.value.join(G()):q.value),U=()=>{c.value(s.value)&&y.value(s.value)&&Y.value?n("select-date"):r("invalid-select")};return(X,$)=>(F(),te("div",Ru,[X.$slots["action-row"]?oe(X.$slots,"action-row",et(vt({key:0},{modelValue:i(s),disabled:N.value,selectDate:()=>X.$emit("select-date"),closePicker:()=>X.$emit("close-picker")}))):(F(),te(Se,{key:1},[i(l).showPreview?(F(),te("div",{key:0,class:"dp__selection_preview",title:Z.value||void 0,style:tt(E.value)},[X.$slots["action-preview"]&&O.value?oe(X.$slots,"action-preview",{key:0,value:i(s),formatValue:Z.value}):re("",!0),!X.$slots["action-preview"]&&O.value?(F(),te(Se,{key:1},[At(Ke(Z.value),1)],64)):re("",!0)],12,$u)):re("",!0),we("div",Eu,[X.$slots["action-buttons"]?oe(X.$slots,"action-buttons",{key:0,value:i(s),selectDate:U,selectionDisabled:N.value}):re("",!0),X.$slots["action-buttons"]?re("",!0):(F(),te(Se,{key:1},[!i(h).enabled&&i(l).showCancel?(F(),te("button",{key:0,ref:"cancel-btn",type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_cancel",onClick:$[0]||($[0]=I=>X.$emit("close-picker")),onKeydown:$[1]||($[1]=I=>i(_)(I,()=>X.$emit("close-picker")))},Ke(i(l).cancelBtnLabel),545)):re("",!0),i(l).showNow?(F(),te("button",{key:1,type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_cancel",onClick:$[2]||($[2]=I=>X.$emit("select-now")),onKeydown:$[3]||($[3]=I=>i(_)(I,()=>X.$emit("select-now")))},Ke(i(l).nowBtnLabel),33)):re("",!0),i(l).showSelect?(F(),te("button",{key:2,ref:"select-btn",type:"button","data-dp-action-element":"0",class:"dp__action_button dp__action_select",disabled:i(m)(N.value),"data-test-id":"select-button",onKeydown:$[4]||($[4]=I=>i(_)(I,()=>U())),onClick:U},Ke(i(l).selectBtnLabel),41,Bu)):re("",!0)],64))],512)],64))],512))}}),tn=()=>{const{rootProps:e,defaults:{multiCalendars:t}}=Pe(),n=V(()=>o=>e.hideNavigation?.includes(o)),a=V(()=>o=>t.value.count?t.value.solo?!0:o===0:!0),r=V(()=>o=>t.value.count?t.value.solo?!0:o===t.value.count-1:!0);return{hideNavigationButtons:n,showLeftIcon:a,showRightIcon:r}},Fu=["role","aria-label","tabindex"],Vu={class:"dp__selection_grid_header"},Lu=["aria-selected","aria-disabled","data-dp-action-element","data-dp-element-active","data-test-id","onClick","onKeydown","onMouseover"],Wu=["aria-label","data-dp-action-element"],Ya=Ue({__name:"SelectionOverlay",props:{items:{},type:{},useRelative:{type:Boolean},height:{},overlayLabel:{},isLast:{type:Boolean},level:{}},emits:["selected","toggle","reset-flow","hover-value"],setup(e,{emit:t}){const n=t,a=e,{setState:r,defaults:{ariaLabels:o,config:s}}=Pe(),{hideNavigationButtons:l}=tn(),{handleEventPropagation:u,checkKeyDown:h}=qe(),p=Be("toggle-button"),g=Be("overlay-container"),w=Be("grid-wrap"),c=ie(!1),y=ie(null),b=ie(),_=ie(0);bo(()=>{y.value=null}),je(async()=>{await Ge(),E(),r("arrowNavigationLevel",a.level??1)}),jt(()=>{r("arrowNavigationLevel",(a.level??1)-1)});const d=V(()=>({dp__overlay:!0,"dp--overlay-absolute":!a.useRelative,"dp--overlay-relative":a.useRelative})),m=V(()=>a.useRelative?{height:`${a.height}px`,width:"var(--dp-menu-min-width)"}:void 0),v=V(()=>({dp__overlay_col:!0})),M=V(()=>({dp__btn:!0,dp__button:!0,dp__overlay_action:!0,dp__over_action_scroll:c.value,dp__button_bottom:a.isLast})),O=V(()=>({dp__overlay_container:!0,dp__container_flex:a.items?.length<=6,dp__container_block:a.items?.length>6}));Je(()=>a.items,()=>E(!1),{deep:!0});const E=(G=!0)=>{Ge().then(()=>{const Z=document.querySelector(`[data-dp-element-active="${a.level??1}"]`),U=Yt(w),X=Yt(p),$=Yt(g),I=X?X.getBoundingClientRect().height:0;U&&(U.getBoundingClientRect().height?_.value=U.getBoundingClientRect().height-I:_.value=s.value.modeHeight-I),Z&&$&&G&&($.scrollTop=Z.offsetTop-$.offsetTop-(_.value/2-Z.getBoundingClientRect().height)-I)})},P=G=>{G.disabled||n("selected",G.value)},Y=()=>{n("toggle"),n("reset-flow")},N=G=>{s.value.escClose&&(Y(),u(G,s.value))},W=G=>{b.value=G,n("hover-value",G)},H=G=>{if(G.key===Re.esc)return N(G)},q=G=>{if(G.key===Re.enter)return Y()};return(G,Z)=>(F(),te("div",{ref:"grid-wrap",class:ye(d.value),style:tt(m.value),role:e.useRelative?void 0:"dialog","aria-label":e.overlayLabel,tabindex:e.useRelative?void 0:"0",onKeydown:H,onClick:Z[0]||(Z[0]=sa(()=>{},["prevent"]))},[we("div",{ref:"overlay-container",class:ye(O.value),style:tt({"--dp-overlay-height":`${_.value}px`}),role:"grid"},[we("div",Vu,[oe(G.$slots,"header")]),oe(G.$slots,"overlay",{},()=>[(F(!0),te(Se,null,Ee(e.items,(U,X)=>(F(),te("div",{key:X,class:ye(["dp__overlay_row",{dp__flex_row:e.items.length>=3}]),role:"row"},[(F(!0),te(Se,null,Ee(U,$=>(F(),te("div",{key:$.value,role:"gridcell",class:ye(v.value),"aria-selected":$.active||void 0,"aria-disabled":$.disabled||void 0,"data-dp-action-element":e.level??1,"data-dp-element-active":$.active?e.level??1:void 0,tabindex:"0","data-test-id":$.text,onClick:sa(I=>P($),["prevent"]),onKeydown:I=>i(h)(I,()=>P($),!0),onMouseover:I=>W($.value)},[we("div",{class:ye($.className)},[oe(G.$slots,"item",{item:$},()=>[At(Ke($.text),1)])],2)],42,Lu))),128))],2))),128))])],6),G.$slots["button-icon"]?Wa((F(),te("button",{key:0,ref:"toggle-button",type:"button","aria-label":i(o)?.toggleOverlay,class:ye(M.value),tabindex:"0","data-dp-action-element":e.level??1,onClick:Y,onKeydown:q},[oe(G.$slots,"button-icon")],42,Wu)),[[Ia,!i(l)(e.type)]]):re("",!0)],46,Fu))}}),Iu=["data-dp-mobile"],an=Ue({__name:"InstanceWrap",props:{stretch:{type:Boolean},collapse:{type:Boolean}},setup(e){const{defaults:{multiCalendars:t}}=Pe(),{isMobile:n}=Ja(),a=V(()=>t.value.count>0?[...new Array(t.value.count).keys()]:[0]);return(r,o)=>(F(),te("div",{class:ye({dp__menu_inner:!e.stretch,"dp--menu--inner-stretched":e.stretch,dp__flex_display:i(t).count>0,"dp--flex-display-collapsed":e.collapse}),"data-dp-mobile":i(n)},[oe(r.$slots,"default",{instances:a.value,wrapClass:{dp__instance_calendar:i(t).count>0}})],10,Iu))}}),Hu=["data-dp-element","aria-label","aria-disabled"],Da=Ue({__name:"ArrowBtn",props:{ariaLabel:{},elName:{},disabled:{type:Boolean}},emits:["activate","set-ref"],setup(e,{emit:t}){const{checkKeyDown:n}=qe(),a=t;return(r,o)=>(F(),te("button",{ref:"arrow-btn",type:"button","data-dp-element":e.elName,"data-dp-action-element":"0",class:"dp__btn dp--arrow-btn-nav",tabindex:"0","aria-label":e.ariaLabel,"aria-disabled":e.disabled||void 0,onClick:o[0]||(o[0]=s=>a("activate")),onKeydown:o[1]||(o[1]=s=>i(n)(s,()=>a("activate"),!0))},[we("span",{class:ye(["dp__inner_nav",{dp__inner_nav_disabled:e.disabled}])},[oe(r.$slots,"default")],2)],40,Hu))}}),qu=["aria-label","data-test-id"],Qr=Ue({__name:"YearModePicker",props:{items:{},instance:{},year:{},showYearPicker:{type:Boolean,default:!1},isDisabled:{}},emits:["handle-year","year-select","toggle-year-picker"],setup(e,{emit:t}){const n=t,a=e,{showRightIcon:r,showLeftIcon:o}=tn(),{rootProps:s,defaults:{config:l,ariaLabels:u,ui:h}}=Pe(),{showTransition:p,transitionName:g}=Ca(),{formatYear:w}=Nt(),{boolHtmlAttribute:c}=fa(),y=ie(!1),b=V(()=>w(a.year)),_=(v=!1,M)=>{y.value=!y.value,n("toggle-year-picker",{flow:v,show:M})},d=v=>{y.value=!1,n("year-select",v)},m=(v=!1)=>{n("handle-year",v)};return(v,M)=>(F(),te(Se,null,[we("div",{class:ye(["dp--year-mode-picker",{"dp--hidden-el":y.value}])},[i(o)(e.instance)?(F(),$e(Da,{key:0,ref:"mpPrevIconRef","aria-label":i(u)?.prevYear,disabled:i(c)(e.isDisabled(!1)),class:ye(i(h)?.navBtnPrev),onActivate:M[0]||(M[0]=O=>m(!1))},{default:be(()=>[v.$slots["arrow-left"]?oe(v.$slots,"arrow-left",{key:0}):re("",!0),v.$slots["arrow-left"]?re("",!0):(F(),$e(i(Wr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),we("button",{ref:"mpYearButtonRef",class:"dp__btn dp--year-select",type:"button","aria-label":`${e.year}-${i(u)?.openYearsOverlay}`,"data-test-id":`year-mode-btn-${e.instance}`,"data-dp-action-element":"0",onClick:M[1]||(M[1]=()=>_(!1)),onKeydown:M[2]||(M[2]=ko(sa(()=>_(!1),["prevent"]),["enter"]))},[v.$slots.year?oe(v.$slots,"year",{key:0,text:b.value,value:e.year}):re("",!0),v.$slots.year?re("",!0):(F(),te(Se,{key:1},[At(Ke(e.year),1)],64))],40,qu),i(r)(e.instance)?(F(),$e(Da,{key:1,ref:"mpNextIconRef","aria-label":i(u)?.nextYear,disabled:i(c)(e.isDisabled(!0)),class:ye(i(h)?.navBtnNext),onActivate:M[3]||(M[3]=O=>m(!0))},{default:be(()=>[v.$slots["arrow-right"]?oe(v.$slots,"arrow-right",{key:0}):re("",!0),v.$slots["arrow-right"]?re("",!0):(F(),$e(i(Ir),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0)],2),He(da,{name:i(g)(e.showYearPicker),css:i(p)},{default:be(()=>[e.showYearPicker?(F(),$e(Ya,{key:0,items:e.items,config:i(l),"is-last":i(s).autoApply&&!i(l).keepActionRow,"overlay-label":i(u)?.yearPicker?.(!0),type:"year",onToggle:_,onSelected:M[4]||(M[4]=O=>d(O))},ze({"button-icon":be(()=>[v.$slots["calendar-icon"]?oe(v.$slots,"calendar-icon",{key:0}):re("",!0),v.$slots["calendar-icon"]?re("",!0):(F(),$e(i(Oa),{key:1}))]),_:2},[v.$slots["year-overlay-value"]?{name:"item",fn:be(({item:O})=>[oe(v.$slots,"year-overlay-value",{text:O.text,value:O.value})]),key:"0"}:void 0]),1032,["items","config","is-last","overlay-label"])):re("",!0)]),_:3},8,["name","css"])],64))}}),Gr=e=>{const{getDate:t,rootEmit:n,state:a,month:r,year:o,modelValue:s,calendars:l,rootProps:u,defaults:{multiCalendars:h,range:p,safeDates:g,filters:w,highlight:c}}=Pe(),{resetDate:y,getYearFromDate:b,checkHighlightYear:_,groupListAndMap:d}=Xe(),{getYears:m}=en(),{validateMonthYear:v,checkMinMaxValue:M}=st(),O=ie([!1]),E=V(()=>m()),P=V(()=>(z,se)=>{const fe=xe(y(t()),{month:r.value(z),year:o.value(z)}),ge=se?Tr(fe):oa(fe);return v(ge,u.preventMinMaxNavigation,se)}),Y=()=>Array.isArray(s.value)&&h.value.solo&&s.value[1],N=()=>{for(let z=0;z{if(!z)return N();const se=xe(t(),l.value[z]);return l.value[0].year=he(Vr(se,h.value.count-1)),N()},H=(z,se)=>{const fe=Cs(se,z);return p.value.showLastInRange&&fe>1?se:z},q=z=>u.focusStartDate||h.value.solo?z[0]:z[1]?H(z[0],z[1]):z[0],G=()=>{if(s.value){const z=Array.isArray(s.value)?q(s.value):s.value;l.value[0]={month:Ae(z),year:he(z)}}},Z=()=>{G(),h.value.count&&N()};Je(s,(z,se)=>{a.isTextInputDate&&JSON.stringify(z??{})!==JSON.stringify(se??{})&&Z()}),je(()=>{Z()});const U=(z,se)=>{l.value[se].year=z,n("update-month-year",{instance:se,year:z,month:l.value[se].month}),h.value.count&&!h.value.solo&&W(se)},X=V(()=>z=>d(E.value,se=>{const fe=o.value(z)===se.value,ge=M(se.value,b(g.value.minDate),b(g.value.maxDate))||w.value.years?.includes(o.value(z)),ne=_(c.value,se.value);return{active:fe,disabled:ge,highlighted:ne}})),$=(z,se)=>{U(z,se),le(se)},I=(z,se=!1)=>{if(!P.value(z,se)){const fe=se?o.value(z)+1:o.value(z)-1;U(fe,z)}},le=(z,se=!1,fe)=>{se||e("reset-flow"),fe===void 0?O.value[z]=!O.value[z]:O.value[z]=fe,O.value[z]?n("overlay-toggle",{open:!0,overlay:Qe.year}):n("overlay-toggle",{open:!1,overlay:Qe.year})};return{isDisabled:P,groupedYears:X,showYearPicker:O,selectYear:U,setStartDate:()=>{u.startDate&&(s.value&&u.focusStartDate||!s.value)&&U(he(t(u.startDate)),0)},toggleYearPicker:le,handleYearSelect:$,handleYear:I}},nn=()=>{const{isDateAfter:e,isDateBefore:t,isDateEqual:n}=Xe(),{getDate:a,rootEmit:r,rootProps:o,modelValue:s,defaults:{range:l}}=Pe();return{getRangeWithFixedDate:u=>Array.isArray(s.value)&&(s.value.length===2||s.value.length===1&&l.value.partialRange)?l.value.fixedStart&&(e(u,s.value[0])||n(u,s.value[0]))?[s.value[0],u]:l.value.fixedEnd&&(t(u,s.value[1])||n(u,s.value[1]))?[u,s.value[1]]:(r("invalid-fixed-range",u),s.value):[],setPresetDate:u=>{Array.isArray(u.value)&&u.value.length<=2&&l.value.enabled?s.value=u.value.map(h=>a(h)):Array.isArray(u.value)||(s.value=a(u.value))},checkRangeAutoApply:(u,h,p)=>{l&&(u[0]&&u[1]&&o.autoApply&&h("auto-apply",p),u[0]&&!u[1]&&(o.modelAuto||l.value.partialRange)&&o.autoApply&&h("auto-apply",p))},setMonthOrYearRange:u=>{let h=s.value?s.value.slice():[];return h.length===2&&h[1]!==null&&(h=[]),h.length?(t(u,h[0])?h.unshift(u):h[1]=u,r("range-end",u)):(h=[u],r("range-start",u)),h},handleMultiDatesSelect:(u,h)=>{if(s.value&&Array.isArray(s.value))if(s.value.some(p=>n(u,p))){const p=s.value.filter(g=>!n(g,u));s.value=p.length?p:null}else(h&&+h>s.value.length||!h)&&s.value.push(u);else s.value=[u]}}},Uu=(e,t)=>{const{getDate:n,rootEmit:a,state:r,calendars:o,year:s,modelValue:l,rootProps:u,defaults:{range:h,highlight:p,safeDates:g,filters:w,multiDates:c}}=Pe();Sa(()=>{r.isTextInputDate&&$(he(n(u.startDate)),0)});const{checkMinMaxRange:y,checkMinMaxValue:b}=st(),{isDateBetween:_,resetDateTime:d,resetDate:m,getMinMonth:v,getMaxMonth:M,checkHighlightMonth:O,groupListAndMap:E}=Xe(),{checkRangeAutoApply:P,getRangeWithFixedDate:Y,handleMultiDatesSelect:N,setMonthOrYearRange:W,setPresetDate:H}=nn(),{padZero:q}=qe(),{getMonths:G,isOutOfYearRange:Z}=en(),U=V(()=>G()),X=ie(null),{selectYear:$,groupedYears:I,showYearPicker:le,toggleYearPicker:z,handleYearSelect:se,handleYear:fe,isDisabled:ge,setStartDate:ne}=Gr(t);je(()=>{ne()});const pe=A=>A?{month:Ae(A),year:he(A)}:{month:null,year:null},ue=()=>l.value?Array.isArray(l.value)?l.value.map(A=>pe(A)):pe(l.value):pe(),ke=(A,ae)=>{const ee=o.value[A],Me=ue();return Array.isArray(Me)?Me.some(_e=>_e.year===ee?.year&&_e.month===ae):ee?.year===Me.year&&ae===Me.month},me=(A,ae,ee)=>{const Me=ue();return Array.isArray(Me)?s.value(ae)===Me[ee]?.year&&A===Me[ee]?.month:!1},Te=(A,ae)=>{if(h.value.enabled){const ee=ue();if(Array.isArray(l.value)&&Array.isArray(ee)){const Me=me(A,ae,0)||me(A,ae,1),_e=xe(m(n()),{month:A,year:s.value(ae)});return _(l.value,X.value,_e)&&!Me}return!1}return!1},D=V(()=>A=>E(U.value,ae=>{const ee=ke(A,ae.value),Me=b(ae.value,v(s.value(A),g.value.minDate),M(s.value(A),g.value.maxDate))||k(g.value.disabledDates,s.value(A),ae.value)||w.value.months?.includes(ae.value)||!j(g.value.allowedDates,s.value(A),ae.value)||Z(s.value(A)),_e=Te(ae.value,A),Xt=O(p.value,ae.value,s.value(A));return{active:ee,disabled:Me,isBetween:_e,highlighted:Xt}})),R=(A,ae)=>xe(m(n()),{month:A,year:s.value(ae)}),Q=(A,ae)=>{const ee=l.value?l.value:m(n());l.value=xe(ee,{month:A,year:s.value(ae)}),t("auto-apply"),t("update-flow-step")},x=(A,ae)=>{const ee=R(A,ae);h.value.fixedEnd||h.value.fixedStart?l.value=Y(ee):l.value?y(ee,l.value)&&(l.value=W(R(A,ae))):l.value=[R(A,ae)],Ge().then(()=>{P(l.value,t,l.value.length<2)})},B=(A,ae)=>{N(R(A,ae),c.value.limit),t("auto-apply",!0)},J=(A,ae)=>(o.value[ae].month=A,L(ae,o.value[ae].year,A),c.value.enabled?B(A,ae):h.value.enabled?x(A,ae):Q(A,ae)),T=(A,ae)=>{$(A,ae),L(ae,A,null)},L=(A,ae,ee)=>{let Me=ee;if(!Me&&Me!==0){const _e=ue();Me=Array.isArray(_e)?_e[A].month:_e.month}a("update-month-year",{instance:A,year:ae,month:Me})},f=(A,ae)=>{X.value=R(A,ae)},S=A=>{H({value:A}),t("auto-apply")},k=(A,ae,ee)=>{if(A instanceof Map){const Me=`${q(ee+1)}-${ae}`;return A.size?A.has(Me):!1}return typeof A=="function"?A(d(xe(n(),{month:ee,year:ae}),!0)):!1},j=(A,ae,ee)=>{if(A instanceof Map){const Me=`${q(ee+1)}-${ae}`;return A.size?A.has(Me):!0}return!0};return{groupedMonths:D,groupedYears:I,year:s,isDisabled:ge,showYearPicker:le,modelValue:l,toggleYearPicker:z,handleYearSelect:se,handleYear:fe,presetDate:S,setHoverDate:f,selectMonth:J,selectYear:T,getModelMonthYear:ue}},ju=Ue({__name:"MonthPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply","update-flow-step","mount"],setup(e,{expose:t,emit:n}){const a=n,r=e,o=Bt(),{rootProps:s,defaults:{config:l}}=Pe(),u=_t(o,mt.YearMode);je(()=>{a("mount")});const{groupedMonths:h,groupedYears:p,year:g,isDisabled:w,showYearPicker:c,modelValue:y,presetDate:b,setHoverDate:_,selectMonth:d,selectYear:m,toggleYearPicker:v,handleYearSelect:M,handleYear:O,getModelMonthYear:E}=Uu(r,a);return t({getSidebarProps:()=>({modelValue:y,year:g,getModelMonthYear:E,selectMonth:d,selectYear:m,handleYear:O}),presetDate:b,toggleYearPicker:P=>v(0,P)}),(P,Y)=>(F(),$e(an,{collapse:e.collapse,stretch:""},{default:be(({instances:N,wrapClass:W})=>[(F(!0),te(Se,null,Ee(N,H=>(F(),te("div",{key:H,class:ye(W)},[P.$slots["top-extra"]?oe(P.$slots,"top-extra",{key:0,value:i(y)}):re("",!0),oe(P.$slots,"month-year",vt({ref_for:!0},{year:i(g),months:i(h)(H),years:i(p)(H),selectMonth:i(d),selectYear:i(m),instance:H}),()=>[He(Ya,{items:i(h)(H),"is-last":i(s).autoApply&&!i(l).keepActionRow,height:i(l).modeHeight,"no-overlay-focus":!!(e.noOverlayFocus||i(s).textInput),"use-relative":"",level:0,type:"month",onSelected:q=>i(d)(q,H),onHoverValue:q=>i(_)(q,H)},ze({header:be(()=>[He(Qr,{items:i(p)(H),instance:H,"show-year-picker":i(c)[H],year:i(g)(H),"is-disabled":q=>i(w)(H,q),onHandleYear:q=>i(O)(H,q),onYearSelect:q=>i(M)(q,H),onToggleYearPicker:q=>i(v)(H,q?.flow,q?.show)},ze({_:2},[Ee(i(u),(q,G)=>({name:q,fn:be(Z=>[oe(P.$slots,q,vt({ref_for:!0},Z))])}))]),1032,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),_:2},[P.$slots["month-overlay-value"]?{name:"item",fn:be(({item:q})=>[oe(P.$slots,"month-overlay-value",{text:q.text,value:q.value})]),key:"0"}:void 0]),1032,["items","is-last","height","no-overlay-focus","onSelected","onHoverValue"])])],2))),128))]),_:3},8,["collapse"]))}}),zu=(e,t)=>{const{rootEmit:n,getDate:a,state:r,modelValue:o,rootProps:s,defaults:{highlight:l,multiDates:u,filters:h,range:p,safeDates:g}}=Pe(),{getYears:w}=en(),{isDateBetween:c,resetDate:y,resetDateTime:b,getYearFromDate:_,checkHighlightYear:d,groupListAndMap:m}=Xe(),{checkRangeAutoApply:v,setMonthOrYearRange:M}=nn(),{checkMinMaxValue:O,checkMinMaxRange:E}=st();Sa(()=>{r.isTextInputDate&&(Y.value=he(a(s.startDate)))});const P=ie(null),Y=ie();je(()=>{s.startDate&&(o.value&&s.focusStartDate||!o.value)&&(Y.value=he(a(s.startDate)))});const N=U=>Array.isArray(o.value)?o.value.some(X=>he(X)===U):o.value?he(o.value)===U:!1,W=U=>p.value.enabled&&Array.isArray(o.value)?c(o.value,P.value,Z(U)):!1,H=U=>g.value.allowedDates?.size?g.value.allowedDates.has(`${U}`):!0,q=U=>g.value.disabledDates instanceof Map?g.value.disabledDates.size?g.value.disabledDates.has(`${U}`):!1:typeof g.value.disabledDates=="function"?g.value.disabledDates(ct(b(oa(a())),U)):!0,G=V(()=>m(w(),U=>{const X=N(U.value),$=O(U.value,_(g.value.minDate),_(g.value.maxDate))||h.value.years.includes(U.value)||!H(U.value)||q(U.value),I=W(U.value)&&!X,le=d(l.value,U.value);return{active:X,disabled:$,isBetween:I,highlighted:le}})),Z=U=>ct(y(oa(a())),U);return{groupedYears:G,focusYear:Y,setHoverValue:U=>{P.value=ct(y(a()),U)},selectYear:U=>{if(n("update-month-year",{instance:0,year:U,month:Number.NaN}),u.value.enabled)return o.value?Array.isArray(o.value)&&((o.value?.map(X=>he(X))).includes(U)?o.value=o.value.filter(X=>he(X)!==U):o.value.push(ct(b(a()),U))):o.value=[ct(b(oa(a())),U)],t("auto-apply",!0);p.value.enabled?E(Z(U),o.value)&&(o.value=M(Z(U)),Ge().then(()=>{v(o.value,t,o.value.length<2)})):(o.value=Z(U),t("auto-apply"))}}},Ku=Ue({__name:"YearPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{modelValue:o,defaults:{config:s},rootProps:l}=Pe(),{groupedYears:u,focusYear:h,selectYear:p,setHoverValue:g}=zu(r,a);return t({getSidebarProps:()=>({modelValue:o,selectYear:p})}),(w,c)=>(F(),te("div",null,[w.$slots["top-extra"]?oe(w.$slots,"top-extra",{key:0,value:i(o)}):re("",!0),w.$slots["month-year"]?oe(w.$slots,"month-year",et(vt({key:1},{years:i(u),selectYear:i(p)}))):(F(),$e(Ya,{key:2,items:i(u),"is-last":i(l).autoApply&&!i(s).keepActionRow,height:i(s).modeHeight,"no-overlay-focus":!!(e.noOverlayFocus||i(l).textInput),"focus-value":i(h),type:"year","use-relative":"",onSelected:i(p),onHoverValue:i(g)},ze({_:2},[w.$slots["year-overlay-value"]?{name:"item",fn:be(({item:y})=>[oe(w.$slots,"year-overlay-value",{text:y.text,value:y.value})]),key:"0"}:void 0]),1032,["items","is-last","height","no-overlay-focus","focus-value","onSelected","onHoverValue"]))]))}}),Xu={key:0,class:"dp__time_input"},Qu=["data-compact","data-collapsed"],Gu=["data-test-id","aria-label","data-dp-action-element","onKeydown","onClick","onMousedown"],Zu=["aria-label","disabled","data-dp-action-element","data-test-id","onKeydown","onClick"],Ju=["data-test-id","aria-label","data-dp-action-element","onKeydown","onClick","onMousedown"],ec={key:0},tc=["aria-label","data-dp-action-element","data-compact"],ac=Ue({__name:"TimeInput",props:{hours:{},minutes:{},seconds:{},order:{},closeTimePickerBtn:{},disabledTimesConfig:{},validateTime:{}},emits:["update:hours","update:minutes","update:seconds","overlay-opened","overlay-closed","set-hours","set-minutes","reset-flow","mounted"],setup(e,{expose:t,emit:n}){const a=n,r=e,{getDate:o,rootEmit:s,rootProps:l,defaults:{ariaLabels:u,filters:h,config:p,range:g,multiCalendars:w,timeConfig:c}}=Pe(),{checkKeyDown:y,hoursToAmPmHours:b}=qe(),{boolHtmlAttribute:_}=fa(),{sanitizeTime:d,groupListAndMap:m}=Xe(),{transitionName:v,showTransition:M}=Ca(),O=Ha({hours:!1,minutes:!1,seconds:!1}),E=ie("AM"),P=ie(null),Y=ie(),N=ie(!1);je(()=>{a("mounted")});const W=k=>xe(o(),{hours:k.hours,minutes:k.minutes,seconds:c.value.enableSeconds?k.seconds:0,milliseconds:0}),H=V(()=>l.timePicker||c.value.timePickerInline?0:1),q=V(()=>k=>pe(k,r[k])||Z(k,r[k])),G=V(()=>({hours:r.hours,minutes:r.minutes,seconds:r.seconds})),Z=(k,j)=>g.value.enabled&&!g.value.disableTimeRangeValidation?!r.validateTime(k,j):!1,U=(k,j)=>{if(g.value.enabled&&!g.value.disableTimeRangeValidation){const A=j?+c.value[`${k}Increment`]:-+c.value[`${k}Increment`],ae=r[k]+A;return!r.validateTime(k,ae)}return!1},X=V(()=>k=>!D(+r[k]+ +c.value[`${k}Increment`],k)||U(k,!0)),$=V(()=>k=>!D(+r[k]-+c.value[`${k}Increment`],k)||U(k,!1)),I=(k,j)=>Dr(xe(o(),k),j),le=(k,j)=>Pi(xe(o(),k),j),z=V(()=>({dp__time_col:!0,dp__time_col_block:!c.value.timePickerInline,dp__time_col_reg_block:!c.value.enableSeconds&&c.value.is24&&!c.value.timePickerInline,dp__time_col_reg_inline:!c.value.enableSeconds&&c.value.is24&&c.value.timePickerInline,dp__time_col_reg_with_button:!c.value.enableSeconds&&!c.value.is24,dp__time_col_sec:c.value.enableSeconds&&c.value.is24,dp__time_col_sec_with_button:c.value.enableSeconds&&!c.value.is24})),se=V(()=>c.value.timePickerInline&&g.value.enabled&&!w.value.count),fe=V(()=>{const k=[{type:"hours"}];return c.value.enableMinutes&&k.push({type:"",separator:!0},{type:"minutes"}),c.value.enableSeconds&&k.push({type:"",separator:!0},{type:"seconds"}),k}),ge=V(()=>fe.value.filter(k=>!k.separator)),ne=V(()=>k=>{if(k==="hours"){const j=T(+r.hours);return{text:j<10?`0${j}`:`${j}`,value:j}}return{text:r[k]<10?`0${r[k]}`:`${r[k]}`,value:r[k]}}),pe=(k,j)=>{if(!r.disabledTimesConfig)return!1;const A=r.disabledTimesConfig(r.order,k==="hours"?j:void 0);return A[k]?!!A[k]?.includes(j):!0},ue=(k,j)=>j!=="hours"||E.value==="AM"?k:k+12,ke=k=>{const j=c.value.is24?24:12,A=k==="hours"?j:60,ae=+c.value[`${k}GridIncrement`],ee=k==="hours"&&!c.value.is24?ae:0,Me=[];for(let _e=ee;_e({active:!1,disabled:h.value.times[k].includes(_e.value)||!D(_e.value,k)||pe(k,_e.value)||Z(k,_e.value)}))},me=k=>k>=0?k:59,Te=k=>k>=0?k:23,D=(k,j)=>{const A=l.minTime?W(d(l.minTime)):null,ae=l.maxTime?W(d(l.maxTime)):null,ee=W(d(G.value,j,j==="minutes"||j==="seconds"?me(k):Te(k)));return A&&ae?(Pt(ee,ae)||ta(ee,ae))&&(wt(ee,A)||ta(ee,A)):A?wt(ee,A)||ta(ee,A):ae?Pt(ee,ae)||ta(ee,ae):!0},R=k=>c.value[`no${k[0].toUpperCase()+k.slice(1)}Overlay`],Q=k=>{R(k)||(O[k]=!O[k],O[k]?(N.value=!0,a("overlay-opened",k)):(N.value=!1,a("overlay-closed",k)))},x=k=>k==="hours"?xt:k==="minutes"?Tt:Et,B=()=>{Y.value&&clearTimeout(Y.value)},J=(k,j=!0,A)=>{const ae=j?I:le,ee=j?+c.value[`${k}Increment`]:-+c.value[`${k}Increment`];D(+r[k]+ee,k)&&a(`update:${k}`,x(k)(ae({[k]:+r[k]},{[k]:+c.value[`${k}Increment`]}))),!A?.keyboard&&p.value.timeArrowHoldThreshold&&(Y.value=setTimeout(()=>{J(k,j)},p.value.timeArrowHoldThreshold))},T=k=>c.value.is24?k:(k>=12?E.value="PM":E.value="AM",b(k)),L=()=>{E.value==="PM"?(E.value="AM",a("update:hours",r.hours-12)):(E.value="PM",a("update:hours",r.hours+12)),s("am-pm-change",E.value)},f=k=>{O[k]=!0},S=(k,j)=>(Q(k),a(`update:${k}`,j));return t({openChildCmp:f}),(k,j)=>i(l).disabled?re("",!0):(F(),te("div",Xu,[(F(!0),te(Se,null,Ee(fe.value,(A,ae)=>(F(),te("div",{key:ae,class:ye(z.value),"data-compact":se.value&&!i(c).enableSeconds,"data-collapsed":se.value&&i(c).enableSeconds},[A.separator?(F(),te(Se,{key:0},[N.value?re("",!0):(F(),te(Se,{key:0},[At(":")],64))],64)):(F(),te(Se,{key:1},[we("button",{type:"button",class:ye({dp__btn:!0,dp__inc_dec_button:!i(c).timePickerInline,dp__inc_dec_button_inline:i(c).timePickerInline,dp__tp_inline_btn_top:i(c).timePickerInline,dp__inc_dec_button_disabled:X.value(A.type),"dp--hidden-el":N.value}),"data-test-id":`${A.type}-time-inc-btn-${r.order}`,"aria-label":i(u)?.incrementValue(A.type),tabindex:"0","data-dp-action-element":H.value,onKeydown:ee=>i(y)(ee,()=>J(A.type,!0,{keyboard:!0}),!0),onClick:ee=>i(p).timeArrowHoldThreshold?void 0:J(A.type,!0),onMousedown:ee=>i(p).timeArrowHoldThreshold?J(A.type,!0):void 0,onMouseup:B},[i(c).timePickerInline?oe(k.$slots,"tp-inline-arrow-up",{key:1},()=>[j[2]||(j[2]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),j[3]||(j[3]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))]):oe(k.$slots,"arrow-up",{key:0},()=>[He(i(qr))])],42,Gu),we("button",{type:"button","aria-label":`${ne.value(A.type).text}-${i(u)?.openTpOverlay(A.type)}`,class:ye({dp__time_display:!0,dp__time_display_block:!i(c).timePickerInline,dp__time_display_inline:i(c).timePickerInline,"dp--time-invalid":q.value(A.type),"dp--time-overlay-btn":!q.value(A.type),"dp--hidden-el":N.value}),disabled:i(_)(R(A.type)),tabindex:"0","data-dp-action-element":H.value,"data-test-id":`${A.type}-toggle-overlay-btn-${r.order}`,onKeydown:ee=>i(y)(ee,()=>Q(A.type),!0),onClick:ee=>Q(A.type)},[oe(k.$slots,A.type,{text:ne.value(A.type).text,value:ne.value(A.type).value},()=>[At(Ke(ne.value(A.type).text),1)])],42,Zu),we("button",{type:"button",class:ye({dp__btn:!0,dp__inc_dec_button:!i(c).timePickerInline,dp__inc_dec_button_inline:i(c).timePickerInline,dp__tp_inline_btn_bottom:i(c).timePickerInline,dp__inc_dec_button_disabled:$.value(A.type),"dp--hidden-el":N.value}),"data-test-id":`${A.type}-time-dec-btn-${r.order}`,"aria-label":i(u)?.decrementValue(A.type),tabindex:"0","data-dp-action-element":H.value,onKeydown:ee=>i(y)(ee,()=>J(A.type,!1,{keyboard:!0}),!0),onClick:ee=>i(p).timeArrowHoldThreshold?void 0:J(A.type,!1),onMousedown:ee=>i(p).timeArrowHoldThreshold?J(A.type,!1):void 0,onMouseup:B},[i(c).timePickerInline?oe(k.$slots,"tp-inline-arrow-down",{key:1},()=>[j[4]||(j[4]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),j[5]||(j[5]=we("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))]):oe(k.$slots,"arrow-down",{key:0},()=>[He(i(Ur))])],42,Ju)],64))],10,Qu))),128)),i(c).is24?re("",!0):(F(),te("div",ec,[oe(k.$slots,"am-pm-button",{toggle:L,value:E.value},()=>[we("button",{ref_key:"amPmButton",ref:P,type:"button",class:"dp__pm_am_button",role:"button","aria-label":i(u)?.amPmButton,tabindex:"0","data-dp-action-element":H.value,"data-compact":se.value,onClick:L,onKeydown:j[0]||(j[0]=A=>i(y)(A,()=>L(),!0))},Ke(E.value),41,tc)])])),(F(!0),te(Se,null,Ee(ge.value,(A,ae)=>(F(),$e(da,{key:ae,name:i(v)(O[A.type]),css:i(M)},{default:be(()=>[O[A.type]?(F(),$e(Ya,{key:0,items:ke(A.type),"is-last":i(l).autoApply&&!i(p).keepActionRow,type:A.type,"aria-labels":i(u),level:i(c).timePickerInline||i(l).timePicker?1:2,"overlay-label":i(u).timeOverlay?.(A.type),onSelected:ee=>S(A.type,ee),onToggle:ee=>Q(A.type),onResetFlow:j[1]||(j[1]=ee=>k.$emit("reset-flow"))},ze({"button-icon":be(()=>[oe(k.$slots,"clock-icon",{},()=>[k.$slots["clock-icon"]?re("",!0):(F(),$e(xn(i(c).timePickerInline?i(Oa):i(Hr)),{key:0}))])]),_:2},[k.$slots[`${A.type}-overlay-value`]?{name:"item",fn:be(({item:ee})=>[oe(k.$slots,`${A.type}-overlay-value`,{text:ee.text,value:ee.value})]),key:"0"}:void 0,k.$slots[`${A.type}-overlay-header`]?{name:"header",fn:be(()=>[oe(k.$slots,`${A.type}-overlay-header`,{toggle:()=>Q(A.type)})]),key:"1"}:void 0]),1032,["items","is-last","type","aria-labels","level","overlay-label","onSelected","onToggle"])):re("",!0)]),_:2},1032,["name","css"]))),128))]))}}),nc=["data-dp-mobile"],rc=["aria-label","tabindex"],oc=["role","aria-label","tabindex"],sc=["aria-label"],Zr=Ue({__name:"TimePicker",props:{hours:{},minutes:{},seconds:{},disabledTimesConfig:{type:[Function,null]},noOverlayFocus:{type:Boolean},validateTime:{type:Function}},emits:["update:hours","update:minutes","update:seconds","mount","reset-flow"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,setState:s,modelValue:l,rootProps:u,defaults:{ariaLabels:h,textInput:p,config:g,range:w,timeConfig:c}}=Pe(),{isModelAuto:y}=Xe(),{checkKeyDown:b,findFocusableEl:_}=qe(),{transitionName:d,showTransition:m}=Ca(),{hideNavigationButtons:v}=tn(),{isMobile:M}=Ja(),O=Bt(),E=Be("overlay"),P=Be("close-tp-btn"),Y=Be("tp-input"),N=ie(!1);je(()=>{a("mount")});const W=V(()=>w.value.enabled&&u.modelAuto?y(l.value):!0),H=ie(!1),q=ne=>({hours:Array.isArray(r.hours)?r.hours[ne]:r.hours,minutes:Array.isArray(r.minutes)?r.minutes[ne]:r.minutes,seconds:Array.isArray(r.seconds)?r.seconds[ne]:r.seconds}),G=V(()=>{const ne=[];if(w.value.enabled)for(let pe=0;pe<2;pe++)ne.push(q(pe));else ne.push(q(0));return ne}),Z=(ne,pe=!1,ue="")=>{pe||a("reset-flow"),H.value=ne,s("arrowNavigationLevel",ne?1:0),o("overlay-toggle",{open:ne,overlay:Qe.time}),Ge(()=>{ue!==""&&Y.value?.[0]&&Y.value[0].openChildCmp(ue)})},U=V(()=>({dp__btn:!0,dp__button:!0,dp__button_bottom:u.autoApply&&!g.value.keepActionRow})),X=_t(O,mt.TimeInput),$=(ne,pe,ue)=>w.value.enabled?pe===0?[ne,G.value[1][ue]]:[G.value[0][ue],ne]:ne,I=ne=>{a("update:hours",ne)},le=ne=>{a("update:minutes",ne)},z=ne=>{a("update:seconds",ne)},se=()=>{if(E.value&&!p.value.enabled&&!r.noOverlayFocus){const ne=_(E.value);ne&&ne.focus({preventScroll:!0})}},fe=ne=>{N.value=!1,o("overlay-toggle",{open:!1,overlay:ne})},ge=ne=>{N.value=!0,o("overlay-toggle",{open:!0,overlay:ne})};return t({toggleTimePicker:Z}),(ne,pe)=>(F(),te("div",{class:"dp--tp-wrap","data-dp-mobile":i(M)},[!i(u).timePicker&&!i(c).timePickerInline?Wa((F(),te("button",{key:0,ref:"open-tp-btn",type:"button","data-dp-action-element":"0",class:ye({...U.value,"dp--hidden-el":H.value}),"aria-label":i(h)?.openTimePicker,tabindex:e.noOverlayFocus?void 0:0,"data-test-id":"open-time-picker-btn",onKeydown:pe[0]||(pe[0]=ue=>i(b)(ue,()=>Z(!0))),onClick:pe[1]||(pe[1]=ue=>Z(!0))},[oe(ne.$slots,"clock-icon",{},()=>[He(i(Hr))])],42,rc)),[[Ia,!i(v)("time")]]):re("",!0),He(da,{name:i(d)(H.value),css:i(m)&&!i(c).timePickerInline},{default:be(()=>[H.value||i(u).timePicker||i(c).timePickerInline?(F(),te("div",{key:0,ref:"overlay",role:i(c).timePickerInline?void 0:"dialog",class:ye({dp__overlay:!i(c).timePickerInline,"dp--overlay-absolute":!i(u).timePicker&&!i(c).timePickerInline,"dp--overlay-relative":i(u).timePicker}),style:tt(i(u).timePicker?{height:`${i(g).modeHeight}px`}:void 0),"aria-label":i(h)?.timePicker,tabindex:i(c).timePickerInline?void 0:0},[we("div",{class:ye(i(c).timePickerInline?"dp__time_picker_inline_container":"dp__overlay_container dp__container_flex dp__time_picker_overlay_container"),style:{display:"flex"}},[oe(ne.$slots,"time-picker-overlay",{hours:e.hours,minutes:e.minutes,seconds:e.seconds,setHours:I,setMinutes:le,setSeconds:z},()=>[we("div",{class:ye(i(c).timePickerInline?"dp__flex":"dp__overlay_row dp__flex_row")},[(F(!0),te(Se,null,Ee(G.value,(ue,ke)=>Wa((F(),$e(ac,vt({key:ke},{ref_for:!0},{order:ke,hours:ue.hours,minutes:ue.minutes,seconds:ue.seconds,closeTimePickerBtn:P.value,disabledTimesConfig:e.disabledTimesConfig,disabled:ke===0?i(w).fixedStart:i(w).fixedEnd},{ref_for:!0,ref:"tp-input","validate-time":(me,Te)=>e.validateTime(me,$(Te,ke,me)),"onUpdate:hours":me=>I($(me,ke,"hours")),"onUpdate:minutes":me=>le($(me,ke,"minutes")),"onUpdate:seconds":me=>z($(me,ke,"seconds")),onMounted:se,onOverlayClosed:fe,onOverlayOpened:ge}),ze({_:2},[Ee(i(X),(me,Te)=>({name:me,fn:be(D=>[oe(ne.$slots,me,vt({ref_for:!0},D))])}))]),1040,["validate-time","onUpdate:hours","onUpdate:minutes","onUpdate:seconds"])),[[Ia,ke===0?!0:W.value]])),128))],2)]),!i(u).timePicker&&!i(c).timePickerInline?Wa((F(),te("button",{key:0,ref:"close-tp-btn","data-dp-action-element":"1",type:"button",class:ye({...U.value,"dp--hidden-el":N.value}),"aria-label":i(h)?.closeTimePicker,tabindex:"0",onKeydown:pe[2]||(pe[2]=ue=>i(b)(ue,()=>Z(!1))),onClick:pe[3]||(pe[3]=ue=>Z(!1))},[oe(ne.$slots,"calendar-icon",{},()=>[He(i(Oa))])],42,sc)),[[Ia,!i(v)("time")]]):re("",!0)],2)],14,oc)):re("",!0)]),_:3},8,["name","css"])],8,nc))}}),Jr=e=>{const{getDate:t,modelValue:n,time:a,rootProps:r,defaults:{range:o,timeConfig:s}}=Pe(),{isDateEqual:l,setTime:u}=Xe(),h=(P,Y)=>Array.isArray(a[P])?a[P][Y]:a[P],p=P=>s.value.enableSeconds?Array.isArray(a.seconds)?a.seconds[P]:a.seconds:0,g=(P,Y)=>P?u(Y!==void 0?{hours:h("hours",Y),minutes:h("minutes",Y),seconds:p(Y)}:{hours:a.hours,minutes:a.minutes,seconds:p()},P):Mi(t(),p(Y)),w=(P,Y)=>{a[P]=Y},c=V(()=>r.modelAuto&&o.value.enabled?Array.isArray(n.value)?n.value.length>1:!1:o.value.enabled),y=(P,Y)=>{const N=Object.fromEntries(Object.keys(a).map(W=>W===P?[W,Y]:[W,a[W]].slice()));if(c.value&&!o.value.disableTimeRangeValidation){const W=q=>n.value?u({hours:N.hours[q],minutes:N.minutes[q],seconds:N.seconds[q]},n.value[q]):null,H=q=>xi(n.value[q],0);return!(l(W(0),W(1))&&(wt(W(0),H(1))||Pt(W(1),H(0))))}return!0},b=(P,Y)=>{y(P,Y)&&(w(P,Y),e&&e())},_=P=>{b("hours",P)},d=P=>{b("minutes",P)},m=P=>{b("seconds",P)},v=(P,Y)=>{_(P.hours),d(P.minutes),m(P.seconds),n.value&&Y(n.value)},M=P=>{if(P){const Y=Array.isArray(P),N=Y?[+P[0].hours,+P[1].hours]:+P.hours,W=Y?[+P[0].minutes,+P[1].minutes]:+P.minutes,H=Y?[+(P[0].seconds??0),+(P[1].seconds??0)]:+(P.seconds??0);w("hours",N),w("minutes",W),s.value.enableSeconds&&w("seconds",H)}},O=(P,Y)=>{const N={hours:Array.isArray(a.hours)?a.hours[P]:a.hours,disabledArr:[]};return(Y||Y===0)&&(N.hours=Y),Array.isArray(r.disabledTimes)&&(N.disabledArr=o.value.enabled&&Array.isArray(r.disabledTimes[P])?r.disabledTimes[P]:r.disabledTimes),N},E=V(()=>(P,Y)=>{if(Array.isArray(r.disabledTimes)){const{disabledArr:N,hours:W}=O(P,Y),H=N.filter(q=>+q.hours===W);return H[0]?.minutes==="*"?{hours:[W],minutes:void 0,seconds:void 0}:{hours:[],minutes:H?.map(q=>+q.minutes)??[],seconds:H?.map(q=>q.seconds?+q.seconds:void 0)??[]}}return{hours:[],minutes:[],seconds:[]}});return{assignTime:w,updateHours:_,updateMinutes:d,updateSeconds:m,getSetDateTime:g,updateTimeValues:v,getSecondsValue:p,assignStartTime:M,validateTime:y,disabledTimesConfig:E}},lc=e=>{const{getDate:t,time:n,modelValue:a,state:r,defaults:{startTime:o,range:s,timeConfig:l}}=Pe(),{getTimeObj:u}=Xe();Sa(()=>{r.isTextInputDate&&O()});const{updateTimeValues:h,getSetDateTime:p,assignTime:g,assignStartTime:w,disabledTimesConfig:c,validateTime:y}=Jr(b);function b(){e("update-flow-step")}const _=P=>{const{hours:Y,minutes:N,seconds:W}=P;return{hours:+Y,minutes:+N,seconds:W?+W:0}},d=()=>{if(l.value.startTime){if(Array.isArray(l.value.startTime)){const Y=_(l.value.startTime[0]),N=_(l.value.startTime[1]);return[xe(t(),Y),xe(t(),N)]}const P=_(l.value.startTime);return xe(t(),P)}return s.value.enabled?[null,null]:null},m=()=>{if(s.value.enabled){const[P,Y]=d();a.value=[p(P,0),p(Y,1)]}else a.value=p(d())},v=P=>Array.isArray(P)?[u(t(P[0])),u(t(P[1]))]:[u(P??t())],M=(P,Y,N)=>{g("hours",P),g("minutes",Y),g("seconds",l.value.enableSeconds?N:0)},O=()=>{const[P,Y]=v(a.value);return s.value.enabled?M([P.hours,Y.hours],[P.minutes,Y.minutes],[P.seconds,Y.seconds]):M(P.hours,P.minutes,P.seconds)};je(()=>(w(o.value),a.value?O():m()));const E=()=>{Array.isArray(a.value)?a.value=a.value.map((P,Y)=>P&&p(P,Y)):a.value=p(a.value),e("time-update")};return{modelValue:a,time:n,disabledTimesConfig:c,validateTime:y,updateTime:P=>{h(P,E)}}},ic=Ue({__name:"TimePickerSolo",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["time-update","mount","reset-flow","update-flow-step"],setup(e,{expose:t,emit:n}){const a=n,r=Bt(),o=_t(r,mt.TimePicker),s=Be("time-input"),{time:l,modelValue:u,disabledTimesConfig:h,updateTime:p,validateTime:g}=lc(a);return je(()=>{a("mount")}),t({getSidebarProps:()=>({modelValue:u,time:l,updateTime:p}),toggleTimePicker:(w,c=!1,y="")=>{s.value?.toggleTimePicker(w,c,y)}}),(w,c)=>(F(),$e(an,{"multi-calendars":0,stretch:""},{default:be(({wrapClass:y})=>[we("div",{class:ye(y)},[He(Zr,vt({ref:"time-input"},w.$props,{hours:i(l).hours,minutes:i(l).minutes,seconds:i(l).seconds,"disabled-times-config":i(h),"validate-time":i(g),"onUpdate:hours":c[0]||(c[0]=b=>i(p)({hours:b,minutes:i(l).minutes,seconds:i(l).seconds})),"onUpdate:minutes":c[1]||(c[1]=b=>i(p)({hours:i(l).hours,minutes:b,seconds:i(l).seconds})),"onUpdate:seconds":c[2]||(c[2]=b=>i(p)({hours:i(l).hours,minutes:i(l).minutes,seconds:b})),onResetFlow:c[3]||(c[3]=b=>w.$emit("reset-flow"))}),ze({_:2},[Ee(i(o),(b,_)=>({name:b,fn:be(d=>[oe(w.$slots,b,et(dt(d)))])}))]),1040,["hours","minutes","seconds","disabled-times-config","validate-time"])],2)]),_:3}))}}),uc=(e,t)=>{const{getDate:n,rootProps:a,defaults:{filters:r}}=Pe(),{validateMonthYearInRange:o,validateMonthYear:s}=st(),l=(w,c)=>{let y=w;return r.value.months.includes(Ae(y))?(y=c?ft(w,1):ca(w,1),l(y,c)):y},u=(w,c)=>{let y=w;return r.value.years.includes(he(y))?(y=c?Sn(w,1):Vr(w,1),u(y,c)):y},h=(w,c=!1)=>{const y=xe(n(),{month:e.month,year:e.year});let b=w?ft(y,1):ca(y,1);a.disableYearSelect&&(b=ct(b,e.year));let _=Ae(b),d=he(b);r.value.months.includes(_)&&(b=l(b,w),_=Ae(b),d=he(b)),r.value.years.includes(d)&&(b=u(b,w),d=he(b)),o(_,d,w,a.preventMinMaxNavigation)&&p(_,d,c)},p=(w,c,y=!1)=>{t("update-month-year",{month:w,year:c,fromNav:y})},g=V(()=>w=>s(xe(n(),{month:e.month,year:e.year}),a.preventMinMaxNavigation,w));return{handleMonthYearChange:h,isDisabled:g,updateMonthYear:p}},cc={class:"dp--header-wrap"},dc={key:0,class:"dp__month_year_wrap"},fc={key:0},mc={class:"dp__month_year_wrap"},vc=["data-dp-element","aria-label","data-test-id","onClick","onKeydown"],pc=Ue({__name:"DpHeader",props:{month:{},year:{},instance:{},years:{},months:{},menuWrapRef:{}},emits:["mount","reset-flow","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,{rootEmit:o,rootProps:s,modelValue:l,defaults:{ariaLabels:u,filters:h,config:p,highlight:g,safeDates:w,ui:c}}=Pe(),{transitionName:y,showTransition:b}=Ca(),{showLeftIcon:_,showRightIcon:d}=tn(),{handleMonthYearChange:m,isDisabled:v,updateMonthYear:M}=uc(r,a),{getMaxMonth:O,getMinMonth:E,getYearFromDate:P,groupListAndMap:Y,checkHighlightYear:N,checkHighlightMonth:W}=Xe(),{checkKeyDown:H}=qe(),{formatYear:q}=Nt(),{checkMinMaxValue:G}=st(),{boolHtmlAttribute:Z}=fa(),U=ie(!1),X=ie(!1),$=ie(!1);je(()=>{a("mount")});const I=R=>({get:()=>r[R],set:Q=>{const x=R===it.month?it.year:it.month;a("update-month-year",{[R]:Q,[x]:r[x]}),R===it.month?ue(!0):ke(!0)}}),le=V(I(it.month)),z=V(I(it.year)),se=V(()=>R=>({month:r.month,year:r.year,items:R===it.month?r.months:r.years,instance:r.instance,updateMonthYear:M,toggle:R===it.month?ue:ke})),fe=V(()=>r.months.find(Q=>Q.value===r.month)||{text:"",value:0}),ge=V(()=>Y(r.months,R=>{const Q=r.month===R.value,x=G(R.value,E(r.year,w.value.minDate),O(r.year,w.value.maxDate))||h.value.months.includes(R.value),B=W(g.value,R.value,r.year);return{active:Q,disabled:x,highlighted:B}})),ne=V(()=>Y(r.years,R=>{const Q=r.year===R.value,x=G(R.value,P(w.value.minDate),P(w.value.maxDate))||h.value.years.includes(R.value),B=N(g.value,R.value);return{active:Q,disabled:x,highlighted:B}})),pe=(R,Q,x)=>{x===void 0?R.value=!R.value:R.value=x,R.value?($.value=!0,o("overlay-toggle",{open:!0,overlay:Q})):($.value=!1,o("overlay-toggle",{open:!1,overlay:Q}))},ue=(R=!1,Q)=>{me(R),pe(U,Qe.month,Q)},ke=(R=!1,Q)=>{me(R),pe(X,Qe.year,Q)},me=R=>{R||a("reset-flow")},Te=V(()=>[{type:it.month,index:1,toggle:ue,modelValue:le.value,updateModelValue:R=>le.value=R,text:fe.value.text,showSelectionGrid:U.value,items:ge.value,ariaLabel:u.value?.openMonthsOverlay,overlayLabel:u.value.monthPicker?.(!0)??void 0},{type:it.year,index:2,toggle:ke,modelValue:z.value,updateModelValue:R=>z.value=R,text:q(r.year),showSelectionGrid:X.value,items:ne.value,ariaLabel:u.value?.openYearsOverlay,overlayLabel:u.value.yearPicker?.(!0)??void 0}]),D=V(()=>s.disableYearSelect?[Te.value[0]]:s.yearFirst?[...Te.value].reverse():Te.value);return t({toggleMonthPicker:ue,toggleYearPicker:ke,handleMonthYearChange:m}),(R,Q)=>(F(),te("div",cc,[R.$slots["month-year"]?(F(),te("div",dc,[oe(R.$slots,"month-year",et(dt({month:e.month,year:e.year,months:e.months,years:e.years,updateMonthYear:i(M),handleMonthYearChange:i(m),instance:e.instance,isDisabled:i(v)})))])):(F(),te(Se,{key:1},[R.$slots["top-extra"]?(F(),te("div",fc,[oe(R.$slots,"top-extra",{value:i(l)})])):re("",!0),we("div",mc,[i(_)(e.instance)&&!i(s).vertical?(F(),$e(Da,{key:0,"aria-label":i(u)?.prevMonth,disabled:i(Z)(i(v)(!1)),class:ye(i(c)?.navBtnPrev),"el-name":"action-prev",onActivate:Q[0]||(Q[0]=x=>i(m)(!1,!0))},{default:be(()=>[R.$slots["arrow-left"]?oe(R.$slots,"arrow-left",{key:0}):re("",!0),R.$slots["arrow-left"]?re("",!0):(F(),$e(i(Wr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),we("div",{class:ye(["dp__month_year_wrap",{dp__year_disable_select:i(s).disableYearSelect}])},[(F(!0),te(Se,null,Ee(D.value,x=>(F(),te(Se,{key:x.type},[we("button",{type:"button","data-dp-element":`overlay-${x.type}`,class:ye(["dp__btn dp__month_year_select",{"dp--hidden-el":$.value}]),"aria-label":`${x.text}-${x.ariaLabel}`,"data-test-id":`${x.type}-toggle-overlay-${e.instance}`,tabindex:"0","data-dp-action-element":"0",onClick:B=>x.toggle(!1),onKeydown:B=>i(H)(B,()=>x.toggle(),!0)},[R.$slots[x.type]?oe(R.$slots,x.type,{key:0,text:x.text,value:r[x.type]}):re("",!0),R.$slots[x.type]?re("",!0):(F(),te(Se,{key:1},[At(Ke(x.text),1)],64))],42,vc),He(da,{name:i(y)(x.showSelectionGrid),css:i(b)},{default:be(()=>[x.showSelectionGrid?(F(),$e(Ya,{key:0,items:x.items,"is-last":i(s).autoApply&&!i(p).keepActionRow,"skip-button-ref":!1,type:x.type,"header-refs":[],"menu-wrap-ref":e.menuWrapRef,"overlay-label":x.overlayLabel,onSelected:x.updateModelValue,onToggle:x.toggle},ze({"button-icon":be(()=>[R.$slots["calendar-icon"]?oe(R.$slots,"calendar-icon",{key:0}):re("",!0),R.$slots["calendar-icon"]?re("",!0):(F(),$e(i(Oa),{key:1}))]),_:2},[R.$slots[`${x.type}-overlay-value`]?{name:"item",fn:be(({item:B})=>[oe(R.$slots,`${x.type}-overlay-value`,{text:B.text,value:B.value})]),key:"0"}:void 0,R.$slots[`${x.type}-overlay`]?{name:"overlay",fn:be(()=>[oe(R.$slots,`${x.type}-overlay`,vt({ref_for:!0},se.value(x.type)))]),key:"1"}:void 0,R.$slots[`${x.type}-overlay-header`]?{name:"header",fn:be(()=>[oe(R.$slots,`${x.type}-overlay-header`,{toggle:x.toggle})]),key:"2"}:void 0]),1032,["items","is-last","type","menu-wrap-ref","overlay-label","onSelected","onToggle"])):re("",!0)]),_:2},1032,["name","css"])],64))),128))],2),i(_)(e.instance)&&i(s).vertical?(F(),$e(Da,{key:1,"aria-label":i(u)?.prevMonth,"el-name":"action-prev",disabled:i(Z)(i(v)(!1)),class:ye(i(c)?.navBtnPrev),onActivate:Q[1]||(Q[1]=x=>i(m)(!1,!0))},{default:be(()=>[R.$slots["arrow-up"]?oe(R.$slots,"arrow-up",{key:0}):re("",!0),R.$slots["arrow-up"]?re("",!0):(F(),$e(i(qr),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),i(d)(e.instance)?(F(),$e(Da,{key:2,ref:"rightIcon","el-name":"action-next",disabled:i(Z)(i(v)(!0)),"aria-label":i(u)?.nextMonth,class:ye(i(c)?.navBtnNext),onActivate:Q[2]||(Q[2]=x=>i(m)(!0,!0))},{default:be(()=>[R.$slots[i(s).vertical?"arrow-down":"arrow-right"]?oe(R.$slots,i(s).vertical?"arrow-down":"arrow-right",{key:0}):re("",!0),R.$slots[i(s).vertical?"arrow-down":"arrow-right"]?re("",!0):(F(),$e(xn(i(s).vertical?i(Ur):i(Ir)),{key:1}))]),_:3},8,["disabled","aria-label","class"])):re("",!0)])],64))]))}}),hc={class:"dp__calendar_header",role:"row"},yc={key:0,class:"dp__calendar_header_item",role:"gridcell"},gc=["aria-label"],wc={key:0,class:"dp__calendar_item dp__week_num",role:"gridcell"},bc={class:"dp__cell_inner"},kc=["id","aria-selected","aria-disabled","aria-label","tabindex","data-test-id","data-dp-element-active","onClick","onTouchend","onKeydown","onMouseenter","onMouseleave","onMousedown"],_c=Ue({__name:"DpCalendar",props:{instance:{},mappedDates:{},month:{},year:{}},emits:["mount","select-date","set-hover-date","handle-scroll","handle-swipe"],setup(e,{expose:t,emit:n}){const a=n,r=e,{getDate:o,rootEmit:s,rootProps:l,defaults:{transitions:u,config:h,ariaLabels:p,multiCalendars:g,weekNumbers:w,multiDates:c,ui:y}}=Pe(),{isDateAfter:b,isDateEqual:_,resetDateTime:d,getCellId:m}=Xe(),{checkKeyDown:v,checkStopPropagation:M,isTouchDevice:O}=qe(),{formatWeekDay:E}=Nt(),P=Be("calendar-wrap"),Y=Be("active-tooltip"),N=ie([]),W=ie(null),H=ie(!0),q=ie(!1),G=ie(""),Z=ie({bottom:"",left:"",transform:""}),U=ie({left:"50%"});Do(P,{onSwipeEnd:(f,S)=>{h.value.noSwipe||(l.vertical?(S==="up"||S==="down")&&a("handle-swipe",S==="up"?"left":"right"):(S==="left"||S==="right")&&a("handle-swipe",S==="right"?"left":"right"))}});const X=V(()=>l.calendar?l.calendar(r.mappedDates):r.mappedDates),$=V(()=>l.dayNames?Array.isArray(l.dayNames)?l.dayNames:l.dayNames():L());je(()=>{a("mount",{cmp:"calendar",dayRefs:N.value}),h.value.monthChangeOnScroll&&P.value&&P.value.addEventListener("wheel",R,{passive:!1})}),jt(()=>{h.value.monthChangeOnScroll&&P.value&&P.value.removeEventListener("wheel",R)});const I=f=>f?l.vertical?"vNext":"next":l.vertical?"vPrevious":"previous",le=(f,S)=>{if(l.transitions){const k=d(xe(o(),{month:r.month,year:r.year}));G.value=b(d(xe(o(),{month:f,year:S})),k)?u.value[I(!0)]:u.value[I(!1)],H.value=!1,Ge(()=>{H.value=!0})}},z=V(()=>({...y.value.calendar})),se=f=>({type:"dot",...f}),fe=V(()=>f=>{const S=se(f);return{dp__marker_dot:S.type==="dot",dp__marker_line:S.type==="line"}}),ge=V(()=>f=>_(f,W.value)),ne=V(()=>({dp__calendar:!0,dp__calendar_next:g.value.count>0&&r.instance!==0})),pe=V(()=>f=>l.hideOffsetDates?f.current:!0),ue=async(f,S)=>{const{width:k,height:j}=f.getBoundingClientRect();W.value=S.value;let A={left:`${k/2}px`},ae=-50;if(await Ge(),Y.value?.[0]){const{left:ee,width:Me}=Y.value[0].getBoundingClientRect();ee<0&&(A={left:"0"},ae=0,U.value.left=`${k/2}px`),globalThis.innerWidth{const j=Yt(N.value?.[S]?.[k]);j&&(f.marker?.customPosition&&f.marker?.tooltip?.length?Z.value=f.marker.customPosition(j):await ue(j,f),s("tooltip-open",f.marker))},me=async(f,S,k)=>{if(q.value&&c.value.enabled&&c.value.dragSelect)return a("select-date",f);if(a("set-hover-date",f),f.marker?.tooltip?.length){if(l.hideOffsetDates&&!f.current)return;await ke(f,S,k)}},Te=f=>{W.value&&(W.value=null,Z.value=structuredClone({bottom:"",left:"",transform:""}),s("tooltip-close",f.marker))},D=(f,S,k)=>{f&&(Array.isArray(N.value[S])?N.value[S][k]=f:N.value[S]=[f])},R=f=>{h.value.monthChangeOnScroll&&(f.preventDefault(),a("handle-scroll",f))},Q=f=>w.value?w.value.type==="local"?Bn(f.value,{weekStartsOn:+l.weekStart,locale:l.locale}):w.value.type==="iso"?$n(f.value):typeof w.value.type=="function"?w.value.type(f.value):"":"",x=f=>{const S=f[0];return w.value?.hideOnOffsetDates?f.some(k=>k.current)?Q(S):"":Q(S)},B=(f,S,k=!0)=>{!k&&O()||(!c.value.enabled||h.value.allowPreventDefault)&&(M(f,h.value),a("select-date",S))},J=f=>{M(f,h.value)},T=f=>{c.value.enabled&&c.value.dragSelect?(q.value=!0,a("select-date",f)):c.value.enabled&&a("select-date",f)},L=()=>{const f=o(),S=ot(f,{locale:l.locale,weekStartsOn:+l.weekStart}),k=Rn(f,{locale:l.locale,weekStartsOn:+l.weekStart});return Yn({start:S,end:k}).map(j=>E(j))};return t({triggerTransition:le}),(f,S)=>(F(),te("div",{class:ye(ne.value)},[we("div",{ref:"calendar-wrap",class:ye(z.value),role:"grid"},[we("div",hc,[i(w)?(F(),te("div",yc,Ke(i(w).label),1)):re("",!0),(F(!0),te(Se,null,Ee($.value,(k,j)=>(F(),te("div",{key:j,class:"dp__calendar_header_item",role:"gridcell","data-test-id":"calendar-header","aria-label":i(p)?.weekDay?.(j)},[oe(f.$slots,"calendar-header",{day:k,index:j},()=>[At(Ke(k),1)])],8,gc))),128))]),S[2]||(S[2]=we("div",{class:"dp__calendar_header_separator"},null,-1)),He(da,{name:G.value,css:!!i(u)},{default:be(()=>[H.value?(F(),te("div",{key:0,class:"dp__calendar",role:"rowgroup",onMouseleave:S[1]||(S[1]=k=>q.value=!1)},[(F(!0),te(Se,null,Ee(X.value,(k,j)=>(F(),te("div",{key:j,class:"dp__calendar_row",role:"row"},[i(w)?(F(),te("div",wc,[we("div",bc,Ke(x(k.days)),1)])):re("",!0),(F(!0),te(Se,null,Ee(k.days,(A,ae)=>(F(),te("div",{id:i(m)(A.value),ref_for:!0,ref:ee=>D(ee,j,ae),key:ae+j,role:"gridcell",class:"dp__calendar_item","aria-selected":(A.classData.dp__active_date||A.classData.dp__range_start||A.classData.dp__range_end)??void 0,"aria-disabled":A.classData.dp__cell_disabled||void 0,"aria-label":i(p)?.day?.(A),tabindex:!A.current&&i(l).hideOffsetDates?void 0:0,"data-test-id":i(m)(A.value),"data-dp-element-active":A.classData.dp__active_date?0:void 0,"data-dp-action-element":"0",onClick:sa(ee=>B(ee,A),["prevent"]),onTouchend:ee=>B(ee,A,!1),onKeydown:ee=>i(v)(ee,()=>f.$emit("select-date",A)),onMouseenter:ee=>me(A,j,ae),onMouseleave:ee=>Te(A),onMousedown:ee=>T(A),onMouseup:S[0]||(S[0]=ee=>q.value=!1)},[we("div",{class:ye(["dp__cell_inner",A.classData])},[f.$slots.day&&pe.value(A)?oe(f.$slots,"day",{key:0,day:+A.text,date:A.value}):re("",!0),f.$slots.day?re("",!0):(F(),te(Se,{key:1},[At(Ke(A.text),1)],64)),A.marker&&pe.value(A)?oe(f.$slots,"marker",{key:2,marker:A.marker,day:+A.text,date:A.value},()=>[we("div",{class:ye(fe.value(A.marker)),style:tt(A.marker.color?{backgroundColor:A.marker.color}:{})},null,6)]):re("",!0),ge.value(A.value)?(F(),te("div",{key:3,ref_for:!0,ref:"active-tooltip",class:"dp__marker_tooltip",style:tt(Z.value)},[A.marker?.tooltip?(F(),te("div",{key:0,class:"dp__tooltip_content",onClick:J},[(F(!0),te(Se,null,Ee(A.marker.tooltip,(ee,Me)=>(F(),te("div",{key:Me,class:"dp__tooltip_text"},[oe(f.$slots,"marker-tooltip",{tooltip:ee,day:A.value},()=>[we("div",{class:"dp__tooltip_mark",style:tt(ee.color?{backgroundColor:ee.color}:{})},null,4),we("div",null,Ke(ee.text),1)])]))),128)),we("div",{class:"dp__arrow_bottom_tp",style:tt(U.value)},null,4)])):re("",!0)],4)):re("",!0)],2)],40,kc))),128))]))),128))],32)):re("",!0)]),_:3},8,["name","css"])],2)],2))}}),Dc=(e,t,n,a)=>{const r=ie([]),o=ie(new Date),s=ie(),{getDate:l,rootEmit:u,calendars:h,month:p,year:g,time:w,modelValue:c,rootProps:y,today:b,state:_,defaults:{multiCalendars:d,startTime:m,range:v,config:M,safeDates:O,multiDates:E,timeConfig:P,flow:Y}}=Pe(),{validateMonthYearInRange:N,isDisabled:W,isDateRangeAllowed:H,checkMinMaxRange:q}=st(),{updateTimeValues:G,getSetDateTime:Z,assignTime:U,assignStartTime:X,validateTime:$,disabledTimesConfig:I}=Jr(a),{formatDay:le}=Nt(),{resetDateTime:z,setTime:se,isDateBefore:fe,isDateEqual:ge,getDaysInBetween:ne}=Xe(),{checkRangeAutoApply:pe,getRangeWithFixedDate:ue,handleMultiDatesSelect:ke,setPresetDate:me}=nn(),{getMapDate:Te}=qe();Sa(()=>T(_.isTextInputDate));const D=C=>!M.value.keepViewOnOffsetClick||C?!0:!s.value,R=(C,K,de,De=!1)=>{D(De)&&(h.value[C]??=h.value[C]={month:0,year:0},h.value[C].month=K??h.value[C]?.month,h.value[C].year=de??h.value[C]?.year)},Q=()=>{y.autoApply&&t("select-date")},x=()=>{m.value&&X(m.value)};je(()=>{c.value||(Ra(),x()),T(!0),y.focusStartDate&&y.startDate&&Ra()});const B=V(()=>Y.value?.steps?.length&&!Y.value?.partial?e.flowStep===Y.value.steps.length:!0),J=()=>{y.autoApply&&B.value&&t("auto-apply",Y.value?.partial?e.flowStep!==Y.value?.steps?.length:!1)},T=(C=!1)=>{if(c.value)return Array.isArray(c.value)?(r.value=c.value,ee(C)):k(c.value,C);if(d.value.count&&C&&!y.startDate)return S(l(),C)},L=()=>Array.isArray(c.value)&&v.value.enabled?Ae(c.value[0])===Ae(c.value[1]??c.value[0]):!1,f=C=>{const K=ft(C,1);return{month:Ae(K),year:he(K)}},S=(C=l(),K=!1)=>{if((!d.value.count||!d.value.static||K)&&R(0,Ae(C),he(C)),d.value.count&&(!c.value||L()||!d.value.solo)&&(!d.value.solo||K))for(let de=1;de{S(C),U("hours",xt(C)),U("minutes",Tt(C)),U("seconds",Et(C)),d.value.count&&K&&Xt()},j=C=>{if(d.value.count){if(d.value.solo)return 0;const K=Ae(C[0]),de=Ae(C[1]);return Math.abs(de-K){C[1]&&v.value.showLastInRange?S(C[j(C)],K):S(C[0],K);const de=(De,Fe)=>[De(C[0]),C?.[1]?De(C[1]):w[Fe][1]];U("hours",de(xt,"hours")),U("minutes",de(Tt,"minutes")),U("seconds",de(Et,"seconds"))},ae=(C,K)=>{if((v.value.enabled||y.weekPicker)&&!E.value.enabled)return A(C,K);if(E.value.enabled&&K){const de=C[C.length-1];return k(de,K)}},ee=C=>{const K=c.value;ae(K,C),d.value.count&&d.value.solo&&Xt()},Me=(C,K)=>{const de=xe(l(),{month:p.value(K),year:g.value(K)}),De=C<0?ft(de,1):ca(de,1);N(Ae(De),he(De),C<0,y.preventMinMaxNavigation)&&(R(K,Ae(De),he(De)),u("update-month-year",{instance:K,month:Ae(De),year:he(De)}),d.value.count&&!d.value.solo&&_e(K),n())},_e=C=>{for(let K=C-1;K>=0;K--){const de=ca(xe(l(),{month:p.value(K+1),year:g.value(K+1)}),1);R(K,Ae(de),he(de))}for(let K=C+1;K<=d.value.count-1;K++){const de=ft(xe(l(),{month:p.value(K-1),year:g.value(K-1)}),1);R(K,Ae(de),he(de))}},Xt=()=>{if(Array.isArray(c.value)&&c.value.length===2){const C=l(l(c.value[1]??ft(c.value[0],1))),[K,de]=[Ae(c.value[0]),he(c.value[0])],[De,Fe]=[Ae(c.value[1]),he(c.value[1])];(K!==De||K===De&&de!==Fe)&&d.value.solo&&R(1,Ae(C),he(C))}else c.value&&!Array.isArray(c.value)&&(R(0,Ae(c.value),he(c.value)),S(l()))},Ra=()=>{y.startDate&&(R(0,Ae(l(y.startDate)),he(l(y.startDate))),d.value.count&&_e(0))},$a=(C,K)=>{if(M.value.monthChangeOnScroll){const de=Date.now()-o.value.getTime(),De=Math.abs(C.deltaY);let Fe=500;De>1&&(Fe=100),De>100&&(Fe=0),de>Fe&&(o.value=new Date,Me(M.value.monthChangeOnScroll==="inverse"?C.deltaY:-C.deltaY,K))}},rn=(C,K,de=!1)=>{M.value.monthChangeOnArrows&&y.vertical===de&&Ea(C,K)},Ea=(C,K)=>{Me(C==="right"?-1:1,K)},on=C=>{if(O.value.markers)return Te(C.value,O.value.markers)},sn=(C,K)=>{switch(y.sixWeeks===!0?"append":y.sixWeeks){case"prepend":return[!0,!1];case"center":return[C==0,!0];case"fair":return[C==0||K>C,!0];case"append":return[!1,!1];default:return[!1,!1]}},ln=(C,K,de,De)=>{if(y.sixWeeks&&C.length<6){const Fe=6-C.length,Ot=(K.getDay()+7-De)%7,Qt=6-(de.getDay()+7-De)%7,[pa,Fa]=sn(Ot,Qt);for(let ha=1;ha<=Fe;ha++)if(Fa?!!(ha%2)==pa:pa){const Ct=C[0].days[0],fn=ma(rt(Ct.value,-7),Ae(K));C.unshift({days:fn})}else{const Ct=C[C.length-1],fn=Ct.days[Ct.days.length-1],co=ma(rt(fn.value,1),Ae(K));C.push({days:co})}}return C},ma=(C,K)=>{const de=l(C),De=[];for(let Fe=0;Fe<7;Fe++){const Ot=rt(de,Fe),Qt=Ae(Ot)!==K;De.push({text:y.hideOffsetDates&&Qt?"":le(Ot),value:Ot,current:!Qt,classData:{}})}return De},un=(C,K)=>{const de=[],De=l(new Date(K,C)),Fe=l(new Date(K,C+1,0)),Ot=y.weekStart,Qt=ot(De,{weekStartsOn:Ot}),pa=Fa=>{const ha=ma(Fa,C);if(de.push({days:ha}),!de[de.length-1].days.some(Ct=>ge(l(Ct.value),z(Fe)))){const Ct=rt(Fa,7);pa(Ct)}};return pa(Qt),ln(de,De,Fe,Ot)},cn=C=>{const K=se({hours:w.hours,minutes:w.minutes,seconds:Na()},l(C.value));u("date-click",K),E.value.enabled?ke(K,E.value.limit):c.value=K,a(),Ge().then(()=>{J()})},Ba=C=>v.value.noDisabledRange?ne(r.value[0],C).some(K=>W(K)):!1,ce=()=>{r.value=c.value?c.value.slice().filter(C=>!!C):[],r.value.length===2&&!(v.value.fixedStart||v.value.fixedEnd)&&(r.value=[])},Ze=(C,K)=>{const de=[l(C.value),rt(l(C.value),+v.value.autoRange)];H(de)?(K&<(C.value),r.value=de):u("invalid-date",C.value)},lt=C=>{const K=Ae(l(C)),de=he(l(C));if(R(0,K,de),d.value.count>0)for(let De=1;De{if(Ba(C.value)||!q(C.value,c.value,v.value.fixedStart?0:1))return u("invalid-date",C.value);r.value=ue(l(C.value))},Ft=(C,K)=>{if(ce(),v.value.autoRange)return Ze(C,K);if(v.value.fixedStart||v.value.fixedEnd)return va(C);r.value[0]?q(l(C.value),c.value)&&!Ba(C.value)?fe(l(C.value),l(r.value[0]))?v.value.autoSwitchStartEnd?(r.value.unshift(l(C.value)),u("range-end",r.value[0])):(r.value[0]=l(C.value),u("range-start",r.value[0])):(r.value[1]=l(C.value),u("range-end",r.value[1])):u("invalid-date",C.value):(r.value[0]=l(C.value),u("range-start",r.value[0]))},Na=(C=!0)=>P.value.enableSeconds?Array.isArray(w.seconds)?C?w.seconds[0]:w.seconds[1]:w.seconds:0,dn=C=>{r.value[C]=se({hours:w.hours[C],minutes:w.minutes[C],seconds:Na(C!==1)},r.value[C])},eo=()=>{r.value[0]&&r.value[1]&&+r.value?.[0]>+r.value?.[1]&&(r.value.reverse(),u("range-start",r.value[0]),u("range-end",r.value[1]))},to=()=>{r.value.length&&(r.value[0]&&!r.value[1]?dn(0):(dn(0),dn(1),a()),eo(),c.value=r.value.slice(),pe(r.value,t,r.value.length<2||Y.value?.steps.length?e.flowStep!==Y.value?.steps?.length:!1))},ao=(C,K=!1)=>{if(W(C.value)||!C.current&&y.hideOffsetDates)return u("invalid-date",C.value);if(s.value=structuredClone(C),!v.value.enabled)return cn(C);Array.isArray(w.hours)&&Array.isArray(w.minutes)&&!E.value.enabled&&(Ft(C,K),to())},no=(C,K)=>{R(C,K.month,K.year,!0),d.value.count&&!d.value.solo&&_e(C),u("update-month-year",{instance:C,month:K.month,year:K.year}),n(d.value.solo?C:void 0);const de=Y.value?.steps?.length?Y.value.steps[e.flowStep]:void 0;!K.fromNav&&(de===Qe.month||de===Qe.year)&&a()},ro=C=>{me({value:C}),Q(),y.multiCalendars&&Ge().then(()=>T(!0))},oo=()=>{let C=l();return y.actionRow?.nowBtnRound&&(C=Di(C,{roundingMethod:y.actionRow.nowBtnRound.rounding??"ceil",nearestTo:y.actionRow.nowBtnRound.roundTo??15})),C},so=()=>{const C=oo();!v.value.enabled&&!E.value.enabled?c.value=C:c.value&&Array.isArray(c.value)&&c.value[0]?E.value.enabled?c.value=[...c.value,C]:c.value=fe(C,c.value[0])?[C,c.value[0]]:[c.value[0],C]:c.value=[C],Q()},lo=()=>{if(Array.isArray(c.value))if(E.value.enabled){const C=io();c.value[c.value.length-1]=Z(C)}else c.value=c.value.map((C,K)=>C&&Z(C,K));else c.value=Z(c.value);t("time-update")},io=()=>Array.isArray(c.value)&&c.value.length?c.value[c.value.length-1]:null,uo=C=>{let K="";if(v.value.enabled&&Array.isArray(c.value))for(const de of Object.keys(C)){const De=C[de];Array.isArray(De)&&(w[de][0]!==De[0]&&(K="range-start"),w[de][1]!==De[1]&&(K="range-start"))}return K};return{calendars:h,modelValue:c,month:p,year:g,time:w,disabledTimesConfig:I,today:b,validateTime:$,getCalendarDays:un,getMarker:on,handleScroll:$a,handleSwipe:Ea,handleArrow:rn,selectDate:ao,updateMonthYear:no,presetDate:ro,selectCurrentDate:so,updateTime:C=>{const K=uo(C);G(C,lo),K&&u(K,c.value[K==="range-start"?0:1])},assignMonthAndYear:S,setStartTime:x}},xc=()=>{const{isModelAuto:e,matchDate:t,isDateAfter:n,isDateBefore:a,isDateBetween:r,isDateEqual:o,getWeekFromDate:s,getBeforeAndAfterInRange:l}=Xe(),{getDate:u,today:h,rootProps:p,defaults:{multiCalendars:g,multiDates:w,ui:c,highlight:y,safeDates:b,range:_},modelValue:d}=Pe(),{isDisabled:m}=st(),v=ie(null),M=f=>{!f.current&&p.hideOffsetDates||(v.value=f.value)},O=()=>{v.value=null},E=f=>Array.isArray(d.value)&&_.value.enabled&&d.value[0]&&v.value?f?n(v.value,d.value[0]):a(v.value,d.value[0]):!0,P=(f,S)=>{const k=()=>d.value?S?d.value[0]||null:d.value[1]:null,j=d.value&&Array.isArray(d.value)?k():null;return o(u(f.value),j)},Y=f=>{const S=Array.isArray(d.value)?d.value[0]:null;return f?!a(v.value,S):!0},N=(f,S=!0)=>(_.value.enabled||p.weekPicker)&&Array.isArray(d.value)&&d.value.length===2?p.hideOffsetDates&&!f.current?!1:o(u(f.value),d.value[S?0:1]):_.value.enabled?P(f,S)&&Y(S)||o(f.value,Array.isArray(d.value)?d.value[0]:null)&&E(S):!1,W=(f,S)=>{if(Array.isArray(d.value)&&d.value[0]&&d.value.length===1){const k=o(f.value,v.value);return S?n(d.value[0],f.value)&&k:a(d.value[0],f.value)&&k}return!1},H=f=>!d.value||p.hideOffsetDates&&!f.current?!1:_.value.enabled?p.modelAuto&&Array.isArray(d.value)?o(f.value,d.value[0]??h):!1:w.value.enabled&&Array.isArray(d.value)?d.value.some(S=>o(S,f.value)):o(f.value,d.value?d.value:h),q=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){if(p.hideOffsetDates&&!f.current)return!1;const S=rt(v.value,+_.value.autoRange),k=s(u(v.value),p.weekStart);return p.weekPicker?o(k[1],u(f.value)):o(S,u(f.value))}return!1}return!1},G=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){const S=rt(v.value,+_.value.autoRange);if(p.hideOffsetDates&&!f.current)return!1;const k=s(u(v.value),p.weekStart);return p.weekPicker?n(f.value,k[0])&&a(f.value,k[1]):n(f.value,v.value)&&a(f.value,S)}return!1}return!1},Z=f=>{if(_.value.autoRange||p.weekPicker){if(v.value){if(p.hideOffsetDates&&!f.current)return!1;const S=s(u(v.value),p.weekStart);return p.weekPicker?o(S[0],f.value):o(v.value,f.value)}return!1}return!1},U=f=>r(d.value,v.value,f.value),X=()=>p.modelAuto&&Array.isArray(d.value)?!!d.value[0]:!1,$=()=>p.modelAuto?e(d.value):!0,I=f=>{if(p.weekPicker)return!1;const S=_.value.enabled?!N(f)&&!N(f,!1):!0;return!m(f.value)&&!H(f)&&!(!f.current&&p.hideOffsetDates)&&S},le=f=>_.value.enabled?p.modelAuto?X()&&H(f):!1:H(f),z=f=>y.value?t(f.value,b.value.highlight):!1,se=f=>{const S=m(f.value);return S&&(typeof y.value=="function"?!y.value(f.value,S):!y.value.options.highlightDisabled)},fe=f=>typeof y.value=="function"?y.value(f.value):y.value.weekdays?.includes(f.value.getDay()),ge=f=>(_.value.enabled||p.weekPicker)&&(!(g.value.count>0)||f.current)&&$()&&!(!f.current&&p.hideOffsetDates)&&!H(f)?U(f):!1,ne=f=>{if(Array.isArray(d.value)&&d.value.length===1){const{before:S,after:k}=l(+_.value.maxRange,d.value[0]);return Pt(f.value,S)||wt(f.value,k)}return!1},pe=f=>{if(Array.isArray(d.value)&&d.value.length===1){const{before:S,after:k}=l(+_.value.minRange,d.value[0]);return r([S,k],d.value[0],f.value)}return!1},ue=f=>_.value.enabled&&(_.value.maxRange||_.value.minRange)?_.value.maxRange&&_.value.minRange?ne(f)||pe(f):_.value.maxRange?ne(f):pe(f):!1,ke=f=>{const{isRangeStart:S,isRangeEnd:k}=R(f),j=_.value.enabled?S||k:!1;return{dp__cell_offset:!f.current,dp__pointer:!p.disabled&&!(!f.current&&p.hideOffsetDates)&&!m(f.value)&&!ue(f),dp__cell_disabled:m(f.value)||ue(f),dp__cell_highlight:!se(f)&&(z(f)||fe(f))&&!le(f)&&!j&&!Z(f)&&!(ge(f)&&p.weekPicker)&&!k,dp__cell_highlight_active:!se(f)&&(z(f)||fe(f))&&le(f),dp__today:!p.noToday&&o(f.value,h)&&f.current,"dp--past":a(f.value,h),"dp--future":n(f.value,h)}},me=f=>({dp__active_date:le(f),dp__date_hover:I(f)}),Te=f=>{if(d.value&&!Array.isArray(d.value)){const S=s(d.value,p.weekStart);return{...T(f),dp__range_start:o(S[0],f.value),dp__range_end:o(S[1],f.value),dp__range_between_week:n(f.value,S[0])&&a(f.value,S[1])}}return{...T(f)}},D=f=>{if(d.value&&Array.isArray(d.value)){const S=s(d.value[0],p.weekStart),k=d.value[1]?s(d.value[1],p.weekStart):[];return{...T(f),dp__range_start:o(S[0],f.value)||o(k[0],f.value),dp__range_end:o(S[1],f.value)||o(k[1],f.value),dp__range_between_week:n(f.value,S[0])&&a(f.value,S[1])||n(f.value,k[0])&&a(f.value,k[1]),dp__range_between:n(f.value,S[1])&&a(f.value,k[0])}}return{...T(f)}},R=f=>{const S=g.value.count>0?f.current&&N(f)&&$():N(f)&&$(),k=g.value.count>0?f.current&&N(f,!1)&&$():N(f,!1)&&$();return{isRangeStart:S,isRangeEnd:k}},Q=f=>_.value.enabled&&(_.value.fixedStart||_.value.fixedEnd)&&Array.isArray(d.value)&&d.value.length===2,x=(f,S,k,j)=>!Q(d.value)||!v.value?!1:S?_.value.fixedEnd&&o(f.value,v.value)&&Pt(f.value,d.value[0])&&!k:_.value.fixedStart&&o(f.value,v.value)&&wt(f.value,d.value[1])&&!j,B=(f,S)=>!Q(d.value)||!v.value?!1:S?_.value.fixedEnd&&wt(f.value,v.value)&&Pt(f.value,d.value[0]):_.value.fixedStart&&Pt(f.value,v.value)&&wt(f.value,d.value[1]),J=f=>{const{isRangeStart:S,isRangeEnd:k}=R(f);return{dp__range_start:S,dp__range_end:k,dp__range_between:ge(f),dp__date_hover:o(f.value,v.value)&&!S&&!k&&!p.weekPicker,dp__date_hover_start:W(f,!0)||x(f,!0,S,k),dp__date_hover_end:W(f,!1)||x(f,!1,S,k),"dp--extended-fixed-start":B(f,!0),"dp--extended-fixed-end":B(f,!1)}},T=f=>({...J(f),dp__cell_auto_range:G(f),dp__cell_auto_range_start:Z(f),dp__cell_auto_range_end:q(f)}),L=f=>_.value.enabled?_.value.autoRange?T(f):p.modelAuto?{...me(f),...J(f)}:p.weekPicker?D(f):J(f):p.weekPicker?Te(f):me(f);return{setHoverDate:M,clearHoverDate:O,getDayClassData:f=>p.hideOffsetDates&&!f.current?{}:{...ke(f),...L(f),[c.value.dayClass?c.value.dayClass(f.value,d.value):""]:!0,...c.value.calendarCell}}},Mc={key:0},Pc=Ue({__name:"DatePicker",props:cr({flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},Du),emits:["mount","update-flow-step","reset-flow","focus-menu","select-date","time-update","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{month:o,year:s,modelValue:l,time:u,disabledTimesConfig:h,today:p,validateTime:g,getCalendarDays:w,getMarker:c,handleArrow:y,handleScroll:b,handleSwipe:_,selectDate:d,updateMonthYear:m,presetDate:v,selectCurrentDate:M,updateTime:O,assignMonthAndYear:E,setStartTime:P}=Dc(r,a,me,Te),Y=Bt(),{setHoverDate:N,getDayClassData:W,clearHoverDate:H}=xc(),{getDate:q,rootEmit:G,rootProps:Z,defaults:{multiCalendars:U,timeConfig:X}}=Pe(),{getYears:$,getMonths:I}=en(),{getCellId:le}=Xe(),z=Be("calendar-header"),se=Be("calendar"),fe=Be("time-picker"),ge=_t(Y,mt.Calendar),ne=_t(Y,mt.DatePickerHeader),pe=_t(Y,mt.TimePicker),ue=L=>{a("mount",L)};Je(U,(L,f)=>{L.count-f.count>0&&E()},{deep:!0});const ke=V(()=>L=>w(o.value(L),s.value(L)).map(f=>({...f,days:f.days.map(S=>(S.marker=c(S),S.classData=W(S),S))})));function me(L){L||L===0?se.value?.[L]?.triggerTransition(o.value(L),s.value(L)):se.value?.forEach((f,S)=>f?.triggerTransition(o.value(S),s.value(S)))}function Te(){a("update-flow-step")}const D=(L,f,S=0)=>{z.value?.[S]?.toggleMonthPicker(L,f)},R=(L,f,S=0)=>{z.value?.[S]?.toggleYearPicker(L,f)},Q=(L,f,S)=>{fe.value?.toggleTimePicker(L,f,S)},x=(L,f)=>{if(!Z.range){const S=l.value?l.value:p,k=f?q(f):S,j=L?ot(k,{weekStartsOn:1}):Rn(k,{weekStartsOn:1});d({value:j,current:Ae(k)===o.value(0),text:"",classData:{}}),document.getElementById(le(j))?.focus()}},B=L=>{z.value?.[0]?.handleMonthYearChange(L,!0)},J=L=>{m(0,{month:o.value(0),year:s.value(0)+(L?1:-1),fromNav:!0})},T=L=>{G("overlay-toggle",{open:!1,overlay:L}),a("focus-menu")};return t({clearHoverDate:H,presetDate:v,selectCurrentDate:M,handleArrow:y,updateMonthYear:m,setStartTime:P,toggleMonthPicker:D,toggleYearPicker:R,toggleTimePicker:Q,getSidebarProps:()=>({modelValue:l,month:o,year:s,time:u,updateTime:O,updateMonthYear:m,selectDate:d,presetDate:v}),changeMonth:B,changeYear:J,selectWeekDate:x}),(L,f)=>(F(),te(Se,null,[He(an,{collapse:e.collapse},{default:be(({instances:S,wrapClass:k})=>[(F(!0),te(Se,null,Ee(S,j=>(F(),te("div",{key:j,class:ye(k)},[i(Z).hideMonthYearSelect?re("",!0):(F(),$e(pc,{key:0,ref_for:!0,ref:"calendar-header",months:i(I)(),years:i($)(),month:i(o)(j),year:i(s)(j),instance:j,"menu-wrap-ref":e.menuWrapRef,onMount:f[0]||(f[0]=A=>ue(i(Ht).header)),onResetFlow:f[1]||(f[1]=A=>L.$emit("reset-flow")),onUpdateMonthYear:A=>i(m)(j,A),onOverlayClosed:T},ze({_:2},[Ee(i(ne),(A,ae)=>({name:A,fn:be(ee=>[oe(L.$slots,A,vt({ref_for:!0},ee))])}))]),1032,["months","years","month","year","instance","menu-wrap-ref","onUpdateMonthYear"])),He(_c,{ref_for:!0,ref:"calendar","mapped-dates":ke.value(j),instance:j,month:i(o)(j),year:i(s)(j),onSelectDate:A=>i(d)(A,j!==1),onSetHoverDate:f[2]||(f[2]=A=>i(N)(A)),onHandleScroll:A=>i(b)(A,j),onHandleSwipe:A=>i(_)(A,j),onMount:f[3]||(f[3]=A=>ue(i(Ht).calendar))},ze({_:2},[Ee(i(ge),(A,ae)=>({name:A,fn:be(ee=>[oe(L.$slots,A,vt({ref_for:!0},ee))])}))]),1032,["mapped-dates","instance","month","year","onSelectDate","onHandleScroll","onHandleSwipe"])],2))),128))]),_:3},8,["collapse"]),i(X).enableTimePicker?(F(),te("div",Mc,[oe(L.$slots,"time-picker",et(dt({time:i(u),updateTime:i(O)})),()=>[He(Zr,{ref:"time-picker",hours:i(u).hours,minutes:i(u).minutes,seconds:i(u).seconds,"disabled-times-config":i(h),"validate-time":i(g),"no-overlay-focus":e.noOverlayFocus,onMount:f[4]||(f[4]=S=>ue(i(Ht).timePicker)),"onUpdate:hours":f[5]||(f[5]=S=>i(O)({hours:S,minutes:i(u).minutes,seconds:i(u).seconds})),"onUpdate:minutes":f[6]||(f[6]=S=>i(O)({hours:i(u).hours,minutes:S,seconds:i(u).seconds})),"onUpdate:seconds":f[7]||(f[7]=S=>i(O)({hours:i(u).hours,minutes:i(u).minutes,seconds:S})),onResetFlow:f[8]||(f[8]=S=>L.$emit("reset-flow"))},ze({_:2},[Ee(i(pe),(S,k)=>({name:S,fn:be(j=>[oe(L.$slots,S,et(dt(j)))])}))]),1032,["hours","minutes","seconds","disabled-times-config","validate-time","no-overlay-focus"])])])):re("",!0)],64))}}),Ac=(e,t)=>{const{getDate:n,modelValue:a,year:r,calendars:o,defaults:{highlight:s,range:l,multiDates:u}}=Pe(),{isDateBetween:h,isDateEqual:p}=Xe(),{checkRangeAutoApply:g,handleMultiDatesSelect:w,setMonthOrYearRange:c}=nn();Sa();const{isDisabled:y}=st(),{formatQuarterText:b}=Nt(),{selectYear:_,groupedYears:d,showYearPicker:m,isDisabled:v,toggleYearPicker:M,handleYearSelect:O,handleYear:E,setStartDate:P}=Gr(t),Y=ie();je(()=>{P()});const N=V(()=>$=>a.value?Array.isArray(a.value)?a.value.some(I=>nr($,I)):nr(a.value,$):!1),W=$=>{if(l.value.enabled){if(Array.isArray(a.value)){const I=p($,a.value[0])||p($,a.value[1]);return h(a.value,Y.value,$)&&!I}return!1}return!1},H=($,I)=>$.quarter===Gn(I)&&$.year===he(I),q=$=>typeof s.value=="function"?s.value({quarter:Gn($),year:he($)}):s.value.quarters.some(I=>H(I,$)),G=V(()=>$=>{const I=xe(n(),{year:r.value($)});return Ss({start:oa(I),end:Tr(I)}).map(le=>{const z=Lt(le),se=Zn(le),fe=y(le),ge=W(z),ne=q(z);return{text:b(z,se),value:z,active:N.value(z),highlighted:ne,disabled:fe,isBetween:ge}})}),Z=$=>{w($,u.value.limit),t("auto-apply",!0)},U=$=>{a.value=c($),g(a.value,t,a.value.length<2)},X=$=>{a.value=$,t("auto-apply")};return{groupedYears:d,year:r,isDisabled:v,quarters:G,showYearPicker:m,modelValue:a,selectYear:_,toggleYearPicker:M,handleYearSelect:O,handleYear:E,setHoverDate:$=>{Y.value=$},selectQuarter:($,I,le)=>{if(!le)return o.value[I].month=Ae(Zn($)),u.value.enabled?Z($):l.value.enabled?U($):X($)}}},Tc={class:"dp--quarter-items"},Oc=["data-test-id","disabled","onClick","onMouseover"],Cc=Ue({__name:"QuarterPicker",props:{flowStep:{},collapse:{type:Boolean},menuWrapRef:{},noOverlayFocus:{type:Boolean}},emits:["reset-flow","auto-apply"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaults:{config:o}}=Pe(),s=Bt(),{boolHtmlAttribute:l}=fa(),u=_t(s,mt.YearMode),{groupedYears:h,year:p,isDisabled:g,quarters:w,modelValue:c,showYearPicker:y,setHoverDate:b,selectQuarter:_,toggleYearPicker:d,handleYearSelect:m,handleYear:v}=Ac(r,a);return t({getSidebarProps:()=>({modelValue:c,year:p,selectQuarter:_,handleYearSelect:m,handleYear:v})}),(M,O)=>(F(),$e(an,{collapse:e.collapse,stretch:""},{default:be(({instances:E,wrapClass:P})=>[(F(!0),te(Se,null,Ee(E,Y=>(F(),te("div",{key:Y,class:ye(P)},[we("div",{class:"dp-quarter-picker-wrap",style:tt({minHeight:`${i(o).modeHeight}px`})},[M.$slots["top-extra"]?oe(M.$slots,"top-extra",{key:0,value:i(c)}):re("",!0),we("div",null,[He(Qr,{items:i(h)(Y),instance:Y,"show-year-picker":i(y)[Y],year:i(p)(Y),"is-disabled":N=>i(g)(Y,N),onHandleYear:N=>i(v)(Y,N),onYearSelect:N=>i(m)(N,Y),onToggleYearPicker:N=>i(d)(Y,N?.flow,N?.show)},ze({_:2},[Ee(i(u),(N,W)=>({name:N,fn:be(H=>[oe(M.$slots,N,vt({ref_for:!0},H))])}))]),1032,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),we("div",Tc,[(F(!0),te(Se,null,Ee(i(w)(Y),(N,W)=>(F(),te("div",{key:W},[we("button",{type:"button",class:ye(["dp--qr-btn",{"dp--qr-btn-active":N.active,"dp--qr-btn-between":N.isBetween,"dp--qr-btn-disabled":N.disabled,"dp--highlighted":N.highlighted}]),"data-dp-action-element":"0","data-test-id":N.value,disabled:i(l)(N.disabled),onClick:H=>i(_)(N.value,Y,N.disabled),onMouseover:H=>i(b)(N.value)},[oe(M.$slots,"quarter",{value:N.value,text:N.text},()=>[At(Ke(N.text),1)])],42,Oc)]))),128))])],4)],2))),128))]),_:3},8,["collapse"]))}}),Sc=["id","tabindex","role","aria-label"],Yc={key:0,class:"dp--menu-load-container"},Rc={key:1,class:"dp--menu-header"},$c=["data-dp-mobile"],Ec={key:0,class:"dp__sidebar_left"},Bc=["data-dp-mobile"],Nc=["data-test-id","data-dp-mobile","onClick","onKeydown"],Fc={class:"dp__instance_calendar"},Vc={key:2,class:"dp__sidebar_right"},Lc={key:2,class:"dp__action_extra"},Wc=Ue({__name:"DatepickerMenu",props:{collapse:{type:Boolean},noOverlayFocus:{type:Boolean},getInputRect:{type:Function}},emits:["close-picker","select-date","auto-apply","time-update","menu-blur"],setup(e,{expose:t,emit:n}){const a=n,r=Bt(),{state:o,rootProps:s,defaults:{textInput:l,inline:u,config:h,ui:p,ariaLabels:g},setState:w}=Pe(),{isMobile:c}=Ja(),{handleEventPropagation:y,getElWithin:b,checkStopPropagation:_,checkKeyDown:d}=qe();$i();const m=Be("inner-menu"),v=Be("dp-menu"),M=Be("dyn-cmp"),O=ie(0),E=ie(!1),P=ie(!1),{flowStep:Y,updateFlowStep:N,childMount:W,resetFlow:H,handleFlow:q}=Bi(M),G=T=>{P.value=!0,h.value.allowPreventDefault&&T.preventDefault(),_(T,h.value,!0)};je(()=>{E.value=!0,Z(),globalThis.addEventListener("resize",Z);const T=Yt(v);T&&!l.value.enabled&&!u.value.enabled&&w("menuFocused",!0),T&&(T.addEventListener("pointerdown",G),T.addEventListener("mousedown",G)),document.addEventListener("mousedown",J)}),jt(()=>{globalThis.removeEventListener("resize",Z),document.removeEventListener("mousedown",J);const T=Yt(v);T&&(T.removeEventListener("pointerdown",G),T.removeEventListener("mousedown",G))});const Z=()=>{const T=Yt(m);T&&(O.value=T.getBoundingClientRect().width)},U=V(()=>s.monthPicker?ju:s.yearPicker?Ku:s.timePicker?ic:s.quarterPicker?Cc:Pc),X=()=>{const T=Yt(v);T&&T.focus({preventScroll:!0})},$=V(()=>M.value?.getSidebarProps()||{}),I=_t(r,mt.ActionRow),le=_t(r,mt.PassTrough),z=V(()=>({dp__menu_disabled:s.disabled,dp__menu_readonly:s.readonly,"dp-menu-loading":s.loading})),se=V(()=>({dp__menu:!0,dp__menu_index:!u.value.enabled,dp__relative:u.value.enabled,...p.value.menu})),fe=T=>{_(T,h.value,!0)},ge=T=>{h.value.escClose&&(a("close-picker"),y(T,h.value))},ne=T=>{s.arrowNavigation||(T===ut.left||T===ut.up?me("handleArrow",ut.left,0,T===ut.up):me("handleArrow",ut.right,0,T===ut.down))},pe=T=>{w("shiftKeyInMenu",T.shiftKey),!s.hideMonthYearSelect&&T.code===Re.tab&&T.target.classList.contains("dp__menu")&&o.shiftKeyInMenu&&(T.preventDefault(),_(T,h.value,!0),a("close-picker"))},ue=T=>{M.value?.toggleTimePicker(!1,!1),M.value?.toggleMonthPicker(!1,!1,T),M.value?.toggleYearPicker(!1,!1,T)},ke=(T,L=0)=>T==="month"?M.value?.toggleMonthPicker(!1,!0,L):T==="year"?M.value?.toggleYearPicker(!1,!0,L):T==="time"?M.value?.toggleTimePicker(!0,!1):ue(L),me=(T,...L)=>{M.value?.[T]&&M.value?.[T](...L)},Te=()=>{me("selectCurrentDate")},D=T=>{me("presetDate",wo(T))},R=()=>{me("clearHoverDate")},Q=(T,L)=>{me("updateMonthYear",T,L)},x=(T,L)=>{T.preventDefault(),ne(L)},B=T=>{if(pe(T),T.key===Re.home||T.key===Re.end)return me("selectWeekDate",T.key===Re.home,T.target.getAttribute("id"));switch((T.key===Re.pageUp||T.key===Re.pageDown)&&(T.shiftKey?(me("changeYear",T.key===Re.pageUp),b(v.value,"overlay-year")?.focus()):(me("changeMonth",T.key===Re.pageUp),b(v.value,T.key===Re.pageUp?"action-prev":"action-next")?.focus()),T.target.getAttribute("id")&&v.value?.focus({preventScroll:!0})),T.key){case Re.esc:return ge(T);case Re.arrowLeft:return x(T,ut.left);case Re.arrowRight:return x(T,ut.right);case Re.arrowUp:return x(T,ut.up);case Re.arrowDown:return x(T,ut.down);default:return}},J=T=>{u.value.enabled&&!u.value.input&&!v.value?.contains(T.target)&&P.value&&(P.value=!1,a("menu-blur"))};return t({updateMonthYear:Q,switchView:ke,onValueCleared:()=>{M.value?.setStartTime?.()},handleFlow:q}),(T,L)=>(F(),te("div",{id:i(s).menuId,ref:"dp-menu",tabindex:i(u).enabled?void 0:"0",role:i(u).enabled?void 0:"dialog","aria-label":i(g)?.menu,class:ye(se.value),onMouseleave:R,onClick:fe,onKeydown:B},[(i(s).disabled||i(s).readonly)&&i(u).enabled||i(s).loading?(F(),te("div",{key:0,class:ye(z.value)},[i(s).loading?(F(),te("div",Yc,[...L[5]||(L[5]=[we("span",{class:"dp--menu-loader"},null,-1)])])):re("",!0)],2)):re("",!0),T.$slots["menu-header"]?(F(),te("div",Rc,[oe(T.$slots,"menu-header")])):re("",!0),oe(T.$slots,"arrow"),we("div",{ref:"inner-menu",class:ye({dp__menu_content_wrapper:i(s).presetDates?.length||!!T.$slots["left-sidebar"]||!!T.$slots["right-sidebar"],"dp--menu-content-wrapper-collapsed":e.collapse&&(i(s).presetDates?.length||!!T.$slots["left-sidebar"]||!!T.$slots["right-sidebar"])}),"data-dp-mobile":i(c),style:tt({"--dp-menu-width":`${O.value}px`})},[T.$slots["left-sidebar"]?(F(),te("div",Ec,[oe(T.$slots,"left-sidebar",et(dt($.value)))])):re("",!0),i(s).presetDates.length?(F(),te("div",{key:1,class:ye({"dp--preset-dates-collapsed":e.collapse,"dp--preset-dates":!0}),"data-dp-mobile":i(c)},[(F(!0),te(Se,null,Ee(i(s).presetDates,(f,S)=>(F(),te(Se,{key:S},[f.slot?oe(T.$slots,f.slot,{key:0,presetDate:D,label:f.label,value:f.value}):(F(),te("button",{key:1,type:"button",style:tt(f.style||{}),class:ye(["dp__btn dp--preset-range",{"dp--preset-range-collapsed":e.collapse}]),"data-test-id":f.testId??void 0,"data-dp-mobile":i(c),onClick:sa(k=>D(f.value),["prevent"]),onKeydown:k=>i(d)(k,()=>D(f.value),!0)},Ke(f.label),47,Nc))],64))),128))],10,Bc)):re("",!0),we("div",Fc,[(F(),$e(xn(U.value),{ref:"dyn-cmp","flow-step":i(Y),collapse:e.collapse,"no-overlay-focus":e.noOverlayFocus,"menu-wrap-ref":v.value,onMount:i(W),onUpdateFlowStep:i(N),onResetFlow:i(H),onFocusMenu:X,onSelectDate:L[0]||(L[0]=f=>T.$emit("select-date")),onAutoApply:L[1]||(L[1]=f=>T.$emit("auto-apply",f)),onTimeUpdate:L[2]||(L[2]=f=>T.$emit("time-update"))},ze({_:2},[Ee(i(le),(f,S)=>({name:f,fn:be(k=>[oe(T.$slots,f,et(dt({...k})))])}))]),1064,["flow-step","collapse","no-overlay-focus","menu-wrap-ref","onMount","onUpdateFlowStep","onResetFlow"]))]),T.$slots["right-sidebar"]?(F(),te("div",Vc,[oe(T.$slots,"right-sidebar",et(dt($.value)))])):re("",!0)],14,$c),T.$slots["action-extra"]?(F(),te("div",Lc,[T.$slots["action-extra"]?oe(T.$slots,"action-extra",{key:0,selectCurrentDate:Te}):re("",!0)])):re("",!0),!i(s).autoApply||i(h).keepActionRow?(F(),$e(Nu,{key:3,"menu-mount":E.value,"calendar-width":O.value,onClosePicker:L[3]||(L[3]=f=>T.$emit("close-picker")),onSelectDate:L[4]||(L[4]=f=>T.$emit("select-date")),onSelectNow:Te},ze({_:2},[Ee(i(I),(f,S)=>({name:f,fn:be(k=>[oe(T.$slots,f,et(dt(k)))])}))]),1032,["menu-mount","calendar-width"])):re("",!0)],42,Sc))}}),Ic=["data-dp-mobile"],Hc=Ue({__name:"VueDatePicker",setup(e,{expose:t}){const{rootEmit:n,setState:a,inputValue:r,modelValue:o,rootProps:s,defaults:{inline:l,config:u,textInput:h,range:p,multiDates:g,teleport:w,floatingConfig:c}}=Pe(),{validateDate:y,isValidTime:b}=st(),{menuTransition:_,showTransition:d}=Ca(),{isMobile:m}=Ja(),{findNextFocusableElement:v,getNumVal:M}=qe(),O=Bt(),E=ie(!1),P=ie(l.value.enabled||s.centered),Y=Vn(s,"modelValue"),N=Vn(s,"timezone"),W=Be("dp-menu-wrap"),H=Be("dp-menu"),q=Be("input-cmp"),G=Be("picker-wrapper"),Z=Be("menu-arrow"),U=ie(!1),X=ie(!1),$=ie(!1),I=ie(!0),le=ce=>(c.value.arrow&&ce.push(ws({element:c.value.arrow===!0?Z:c.value.arrow})),c.value.flip&&ce.push(ps(typeof c.value.flip=="object"?c.value.flip:{})),c.value.shift&&ce.push(vs(typeof c.value.shift=="object"?c.value.shift:{})),ce),{floatingStyles:z,middlewareData:se,placement:fe,y:ge}=bs(q,W,{strategy:c.value.strategy,placement:c.value.placement,middleware:le([ms(c.value.offset)]),whileElementsMounted:fs});je(()=>{ue(s.modelValue),Ge().then(()=>{l.value.enabled||globalThis.addEventListener("resize",J)}),l.value.enabled&&(E.value=!0),globalThis.addEventListener("keyup",T),globalThis.addEventListener("keydown",L)}),jt(()=>{l.value.enabled||globalThis.removeEventListener("resize",J),globalThis.removeEventListener("keyup",T),globalThis.removeEventListener("keydown",L)});const ne=Xr(O,s.presetDates),pe=_t(O,mt.Input);Je([Y,N],()=>{ue(Y.value)},{deep:!0}),Je([fe,ge],()=>{!l.value.enabled&&!s.centered&&I.value&&(P.value=!1,Ge().then(()=>{I.value=!1,P.value=!0}))});const{parseExternalModelValue:ue,emitModelValue:ke,formatInputValue:me,checkBeforeEmit:Te}=Ei(),D=V(()=>({dp__main:!0,dp__theme_dark:s.dark,dp__theme_light:!s.dark,dp__flex_display:l.value.enabled,"dp--flex-display-collapsed":$.value,dp__flex_display_with_input:l.value.input})),R=V(()=>s.dark?"dp__theme_dark":"dp__theme_light"),Q=V(()=>l.value.enabled&&(s.timePicker||s.monthPicker||s.yearPicker||s.quarterPicker)),x=()=>q.value?.$el?.getBoundingClientRect()??{width:0,left:0,right:0},B=()=>{E.value&&u.value.closeOnScroll&&_e()},J=()=>{const ce=H.value?.$el.getBoundingClientRect().width??0;$.value=document.body.offsetWidth<=ce},T=ce=>{ce.key==="Tab"&&!l.value.enabled&&!s.teleport&&u.value.tabOutClosesMenu&&(G.value.contains(document.activeElement)||_e()),X.value=ce.shiftKey},L=ce=>{X.value=ce.shiftKey},f=()=>{!s.disabled&&!s.readonly&&(I.value=!0,E.value=!0,E.value&&n("open"),E.value||Me(),ue(s.modelValue))},S=()=>{r.value="",Me(),H.value?.onValueCleared(),q.value?.setParsedDate(null),n("update:model-value",null),n("cleared"),u.value.closeOnClearValue&&_e()},k=()=>{const ce=o.value;return!ce||!Array.isArray(ce)&&y(ce)?!0:Array.isArray(ce)?g.value.enabled||ce.length===2&&y(ce[0])&&y(ce[1])?!0:p.value.partialRange&&!s.timePicker?y(ce[0]):!1:!1},j=()=>{Te()&&k()?(ke(),_e()):n("invalid-select")},A=ce=>{ae(),ke(),u.value.closeOnAutoApply&&!ce&&_e()},ae=()=>{q.value&&h.value.enabled&&q.value.setParsedDate(o.value)},ee=(ce=!1)=>{s.autoApply&&b(o.value)&&k()&&(p.value.enabled&&Array.isArray(o.value)?(p.value.partialRange||o.value.length===2)&&A(ce):A(ce))},Me=()=>{h.value.enabled||(o.value=null)},_e=(ce=!1)=>{I.value=!0,ce&&o.value&&u.value.setDateOnMenuClose&&j(),l.value.enabled||(E.value&&(E.value=!1,a("menuFocused",!1),a("shiftKeyInMenu",!1),n("closed"),r.value&&ue(Y.value)),Me(),n("blur"))},Xt=(ce,Ze,lt=!1)=>{if(!ce){o.value=null;return}const va=Array.isArray(ce)?ce.every(Na=>y(Na)):y(ce),Ft=b(ce);va&&Ft?(a("isTextInputDate",!0),o.value=ce,Ze?(U.value=lt,j(),n("text-submit")):s.autoApply&&ee(!0),Ge().then(()=>{a("isTextInputDate",!1)})):n("invalid-date",ce)},Ra=()=>{s.autoApply&&b(o.value)&&ke(),ae()},$a=()=>E.value?_e():f(),rn=ce=>{o.value=ce},Ea=()=>{h.value.enabled&&(a("isInputFocused",!0),me()),n("focus")},on=()=>{h.value.enabled&&(a("isInputFocused",!1),ue(s.modelValue),U.value&&v(G.value,X.value)?.focus()),n("blur")},sn=(ce,Ze)=>{H.value&&H.value.updateMonthYear(Ze??0,{month:M(ce.month),year:M(ce.year)})},ln=ce=>{ue(ce??s.modelValue)},ma=(ce,Ze)=>{H.value?.switchView(ce,Ze)},un=(ce,Ze)=>{if(E.value)return u.value.onClickOutside?u.value.onClickOutside(ce,Ze):_e(!0)},cn=(ce=0)=>{H.value?.handleFlow(ce)},Ba=()=>W;return _o(W,ce=>un(k,ce),{ignore:[q]}),t({closeMenu:_e,selectDate:j,clearValue:S,openMenu:f,onScroll:B,formatInputValue:me,updateInternalModelValue:rn,setMonthYear:sn,parseModel:ln,switchView:ma,toggleMenu:$a,handleFlow:cn,getDpWrapMenuRef:Ba,dpMenuRef:()=>H,dpWrapMenuRef:()=>W,inputRef:()=>q}),(ce,Ze)=>(F(),te("div",{ref:"picker-wrapper",class:ye(D.value),"data-datepicker-instance":"","data-dp-mobile":i(m)},[He(Yu,{ref:"input-cmp","is-menu-open":E.value,onClear:S,onOpen:f,onSetInputDate:Xt,onSetEmptyDate:i(ke),onSelectDate:j,onToggle:$a,onClose:_e,onFocus:Ea,onBlur:on,onRealBlur:Ze[0]||(Ze[0]=lt=>i(a)("isInputFocused",!1))},ze({_:2},[Ee(i(pe),(lt,va)=>({name:lt,fn:be(Ft=>[oe(ce.$slots,lt,et(dt(Ft)))])}))]),1032,["is-menu-open","onSetEmptyDate"]),He(yo,{to:i(w),disabled:!i(w)},{default:be(()=>[we("div",{ref:"dp-menu-wrap",class:ye({"dp--menu-wrapper":!i(l).enabled,dp__outer_menu_wrap:!0,"dp--centered":i(s).centered}),style:tt(!i(l).enabled&&!i(s).centered?i(z):void 0)},[He(da,{name:i(_)(i(fe).startsWith("top")),css:i(d)&&!i(l).enabled&&!i(s).centered&&P.value},{default:be(()=>[E.value&&P.value?(F(),$e(Wc,{key:0,ref:"dp-menu",class:ye({[R.value]:!0}),"no-overlay-focus":Q.value,collapse:$.value,"get-input-rect":x,onClosePicker:_e,onSelectDate:j,onAutoApply:ee,onTimeUpdate:Ra,onMenuBlur:Ze[1]||(Ze[1]=lt=>i(n)("blur"))},ze({_:2},[Ee(i(ne),(lt,va)=>({name:lt,fn:be(Ft=>[oe(ce.$slots,lt,et(dt({...Ft})))])})),!i(l).enabled&&!i(s).centered&&i(c).arrow===!0?{name:"arrow",fn:be(()=>[we("div",{ref:"menu-arrow",class:ye({dp__arrow_top:i(fe)==="bottom",dp__arrow_bottom:i(fe)==="top"}),style:tt({left:i(se).arrow?.x!=null?`${i(se).arrow.x}px`:"",top:i(se).arrow?.y!=null?`${i(se).arrow.y}px`:""})},null,6)]),key:"0"}:void 0]),1032,["class","no-overlay-focus","collapse"])):re("",!0)]),_:3},8,["name","css"])],6)]),_:3},8,["to","disabled"])],10,Ic))}}),jc=Ue({__name:"VueDatePickerRoot",props:cr({multiCalendars:{type:[Boolean,Number,String,Object]},modelValue:{},modelType:{},dark:{type:Boolean},transitions:{type:[Boolean,Object]},ariaLabels:{},hideNavigation:{},timezone:{},vertical:{type:Boolean},hideMonthYearSelect:{type:Boolean},disableYearSelect:{type:Boolean},yearRange:{},autoApply:{type:Boolean},disabledDates:{type:[Array,Function]},startDate:{},hideOffsetDates:{type:Boolean},noToday:{type:Boolean},allowedDates:{},markers:{},presetDates:{},flow:{},preventMinMaxNavigation:{type:Boolean},reverseYears:{type:Boolean},weekPicker:{type:Boolean},filters:{},arrowNavigation:{type:Boolean},highlight:{type:[Function,Object]},teleport:{type:[String,Boolean]},centered:{type:Boolean},locale:{},weekStart:{},weekNumbers:{type:[Boolean,Object]},dayNames:{type:[Function,Array]},monthPicker:{type:Boolean},yearPicker:{type:Boolean},modelAuto:{type:Boolean},formats:{},multiDates:{type:[Boolean,Object]},minDate:{},maxDate:{},minTime:{},maxTime:{},inputAttrs:{},timeConfig:{},placeholder:{},timePicker:{type:Boolean},range:{type:[Boolean,Object]},menuId:{},disabled:{type:Boolean},readonly:{type:Boolean},inline:{type:[Boolean,Object]},textInput:{type:[Boolean,Object]},sixWeeks:{type:[Boolean,String]},actionRow:{},focusStartDate:{type:Boolean},disabledTimes:{type:[Function,Array]},calendar:{type:Function},config:{},quarterPicker:{type:Boolean},yearFirst:{type:Boolean},loading:{type:Boolean},ui:{},floating:{}},xu),emits:["update:model-value","internal-model-change","text-submit","text-input","open","closed","focus","blur","cleared","flow-step","update-month-year","invalid-select","invalid-fixed-range","invalid-date","tooltip-open","tooltip-close","am-pm-change","range-start","range-end","date-click","overlay-toggle","invalid"],setup(e,{expose:t,emit:n}){const a=n,r=e;Yi(r,a);const o=Bt(),s=Xr(o,r.presetDates),l=Be("date-picker");return t(Pu(l)),(u,h)=>(F(),$e(Hc,{ref:"date-picker"},ze({_:2},[Ee(i(s),(p,g)=>({name:p,fn:be(w=>[oe(u.$slots,p,et(dt(w)))])}))]),1536))}});export{jc as Z}; diff --git a/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-b-VSP6t-.js b/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-CYMvrKfB.js similarity index 80% rename from src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-b-VSP6t-.js rename to src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-CYMvrKfB.js index 0591eaf5..26526503 100644 --- a/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-b-VSP6t-.js +++ b/src/static/dist/WGDashboardAdmin/assets/wgdashboardSettings-CYMvrKfB.js @@ -1 +1 @@ -import{B as n,D as r,c as i,a as s,b as t,j as l,d as c,u,f as e}from"./index-DYYtDSji.js";import{L as a}from"./localeText-Cd7vLnRM.js";import{D as _,d as m,e as h,A as p,a as b,b as v,_ as g,c as f}from"./dashboardEmailSettings-BLi3ez-N.js";import"./dayjs.min-WRW_FTL4.js";import"./vue-datepicker-Cw5Y4tvU.js";import"./index-DPa-4xgI.js";const A={class:"d-flex gap-3 flex-column"},D={class:"card rounded-3"},y={class:"card-header"},S={class:"my-2"},x={class:"card-body"},I={class:"row g-2"},P={class:"col-sm"},B={class:"col-sm"},C={class:"card rounded-3"},k={class:"card-header"},w={class:"my-2"},L={class:"card-body"},F={class:"card rounded-3"},M={class:"card-header"},N={class:"my-2"},V={class:"card-body d-flex flex-column gap-3"},G=n({__name:"wgdashboardSettings",setup(T){const d=r();return(U,o)=>(e(),i("div",A,[s("div",D,[s("div",y,[s("h6",S,[o[0]||(o[0]=s("i",{class:"bi bi-magic me-2"},null,-1)),t(a,{t:"Appearance"})])]),s("div",x,[s("div",I,[s("div",P,[t(_)]),s("div",B,[t(m)])])])]),s("div",C,[s("div",k,[s("h6",w,[o[1]||(o[1]=s("i",{class:"bi bi-ethernet me-2"},null,-1)),t(a,{t:"Dashboard IP Address & Listen Port"})])]),s("div",L,[t(h)])]),s("div",F,[s("div",M,[s("h6",N,[o[2]||(o[2]=s("i",{class:"bi bi-people-fill me-2"},null,-1)),t(a,{t:"Account Settings"})])]),s("div",V,[s("div",null,[t(p,{targetData:"username",title:"Username"})]),o[3]||(o[3]=s("hr",null,null,-1)),s("div",null,[t(b,{targetData:"password"})]),o[4]||(o[4]=s("hr",null,null,-1)),s("div",null,[s("h6",null,[t(a,{t:"Multi-Factor Authentication (MFA)"})]),u(d).getActiveCrossServer()?c("",!0):(e(),l(f,{key:0}))])])]),t(v),t(g)]))}});export{G as default}; +import{B as n,D as r,c as i,a as s,b as t,j as l,d as c,u,f as e}from"./index-Y3pG9DoR.js";import{L as a}from"./localeText-DcQapG1o.js";import{D as _,d as m,e as h,A as p,a as b,b as v,_ as g,c as f}from"./dashboardEmailSettings-CL6ajYjE.js";import"./dayjs.min-BxkQs1mo.js";import"./vue-datepicker-BOhP7hRx.js";import"./index-DLUQT8ia.js";const A={class:"d-flex gap-3 flex-column"},D={class:"card rounded-3"},y={class:"card-header"},S={class:"my-2"},x={class:"card-body"},I={class:"row g-2"},P={class:"col-sm"},B={class:"col-sm"},C={class:"card rounded-3"},k={class:"card-header"},w={class:"my-2"},L={class:"card-body"},F={class:"card rounded-3"},M={class:"card-header"},N={class:"my-2"},V={class:"card-body d-flex flex-column gap-3"},G=n({__name:"wgdashboardSettings",setup(T){const d=r();return(U,o)=>(e(),i("div",A,[s("div",D,[s("div",y,[s("h6",S,[o[0]||(o[0]=s("i",{class:"bi bi-magic me-2"},null,-1)),t(a,{t:"Appearance"})])]),s("div",x,[s("div",I,[s("div",P,[t(_)]),s("div",B,[t(m)])])])]),s("div",C,[s("div",k,[s("h6",w,[o[1]||(o[1]=s("i",{class:"bi bi-ethernet me-2"},null,-1)),t(a,{t:"Dashboard IP Address & Listen Port"})])]),s("div",L,[t(h)])]),s("div",F,[s("div",M,[s("h6",N,[o[2]||(o[2]=s("i",{class:"bi bi-people-fill me-2"},null,-1)),t(a,{t:"Account Settings"})])]),s("div",V,[s("div",null,[t(p,{targetData:"username",title:"Username"})]),o[3]||(o[3]=s("hr",null,null,-1)),s("div",null,[t(b,{targetData:"password"})]),o[4]||(o[4]=s("hr",null,null,-1)),s("div",null,[s("h6",null,[t(a,{t:"Multi-Factor Authentication (MFA)"})]),u(d).getActiveCrossServer()?c("",!0):(e(),l(f,{key:0}))])])]),t(v),t(g)]))}});export{G as default}; diff --git a/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-Bz2BaANg.js b/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-BgLqrfMb.js similarity index 97% rename from src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-Bz2BaANg.js rename to src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-BgLqrfMb.js index 473db694..51376155 100644 --- a/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-Bz2BaANg.js +++ b/src/static/dist/WGDashboardAdmin/assets/wireguardConfigurationSettings-BgLqrfMb.js @@ -1 +1 @@ -import{D as R,a as V}from"./dashboardSettingsWireguardConfigurationAutostart-Cw4a6e53.js";import{L as u}from"./localeText-Cd7vLnRM.js";import{r as m,E as B,o as L,g as D,D as O,c as o,f as s,a,t as k,m as P,v as S,d as H,e as d,b as l,n as b,z as E,W,F as j,i as A,j as M,u as U,B as F}from"./index-DYYtDSji.js";const Y={class:"card"},G={class:"card-header"},J={class:"card-body"},K={class:"row gy-2"},q={class:"col-sm"},Q={class:"form-check form-switch"},X=["disabled","id"],Z=["for"],ee={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ae={class:"mb-0"},te={class:"text-muted fw-normal"},ne={key:0,class:"ms-md-auto d-flex gap-2"},ie={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},se={class:"col-sm"},oe={class:"form-check form-switch"},le=["disabled","id"],re=["for"],de={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ce={key:0,class:"placeholder animate__animated animate__flash animate__infinite animate__slower w-100 mb-0"},ue={key:1,class:"mb-0"},fe={class:"text-muted fw-normal"},ge={key:0,class:"ms-md-auto d-flex gap-2"},me={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},be={__name:"configurationTracking",props:["configuration"],async setup(n){let T,p;const c=n,v=m({HistoricalTrackingTableSize:0,TrafficTrackingTableSize:0}),w=m(!1),x=m(!1);[T,p]=B(async()=>L(async()=>{await y()})),await T,p();const y=async()=>{w.value=!1,await D("/api/getPeerTrackingTableCounts",{configurationName:c.configuration.Name},i=>{v.value=i.data,w.value=!0})},_=async i=>{x.value=!0,await E("/api/updateWireguardConfigurationInfo",{Name:c.configuration.Name,Key:i,Value:c.configuration.Info[i]},e=>{console.log(e),x.value=!1})},f=m(void 0),C=async i=>{f.value=i,await D("/api/downloadPeerTrackingTable",{configurationName:c.configuration.Name,table:i},e=>{if(e.status){const t=JSON.stringify(e.data,null,2),z=new Blob([t],{type:"application/json"}),I=URL.createObjectURL(z),h=document.createElement("a");h.href=I,h.download=`${c.configuration.Name}_${i}.json`,h.click(),f.value=void 0}})},r=m(""),g=m(void 0),N=O(),$=async i=>{g.value=!0,await E("/api/deletePeerTrackingTable",{configurationName:c.configuration.Name,table:i},async e=>{e.status?N.newMessage("Server","Record deleted","success"):N.newMessage("Server","Record delete failed","danger"),await y(),g.value=!1,r.value=""})};return(i,e)=>(s(),o("div",Y,[a("div",G,k(n.configuration.Name),1),a("div",J,[a("div",K,[a("div",q,[e[16]||(e[16]=a("small",{class:"text-muted fw-bold"},"Peer Traffic Tracking",-1)),a("div",Q,[P(a("input",{class:"form-check-input",type:"checkbox",disabled:x.value,onChange:e[0]||(e[0]=t=>_("PeerTrafficTracking")),"onUpdate:modelValue":e[1]||(e[1]=t=>n.configuration.Info.PeerTrafficTracking=t),id:n.configuration.Name+"_traffic_tracking"},null,40,X),[[S,n.configuration.Info.PeerTrafficTracking]]),a("label",{class:"form-check-label",for:n.configuration.Name+"_traffic_tracking"},k(n.configuration.Info.PeerTrafficTracking?"On":"Off"),9,Z)]),e[17]||(e[17]=a("hr",null,null,-1)),a("div",ee,[a("h6",ae,[d(k(v.value.TrafficTrackingTableSize)+" ",1),a("span",te,[l(u,{t:"Records"})])]),r.value!=="TrafficTrackingTable"?(s(),o("div",ne,[a("button",{class:b(["btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3",{disabled:f.value==="TrafficTrackingTable"}]),onClick:e[2]||(e[2]=t=>C("TrafficTrackingTable"))},[e[12]||(e[12]=a("i",{class:"bi bi-download me-2"},null,-1)),l(u,{t:f.value==="TrafficTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[3]||(e[3]=t=>r.value="TrafficTrackingTable")},[...e[13]||(e[13]=[a("i",{class:"bi bi-trash me-2"},null,-1),d("Delete ",-1)])])])):r.value==="TrafficTrackingTable"?(s(),o("div",ie,[a("small",null,[l(u,{t:"Are you sure to delete?"})]),a("button",{class:b(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:g.value}]),onClick:e[4]||(e[4]=t=>$("TrafficTrackingTable"))},[...e[14]||(e[14]=[a("i",{class:"bi bi-check me-2"},null,-1),d("Yes ",-1)])],2),a("button",{class:b([{disabled:g.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[5]||(e[5]=t=>r.value="")},[...e[15]||(e[15]=[a("i",{class:"bi bi-x me-2"},null,-1),d("No ",-1)])],2)])):H("",!0)])]),a("div",se,[e[22]||(e[22]=a("small",{class:"text-muted fw-bold"},"Peer Historical Endpoint Tracking",-1)),a("div",oe,[P(a("input",{class:"form-check-input",disabled:x.value,onChange:e[6]||(e[6]=t=>_("PeerHistoricalEndpointTracking")),type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=t=>n.configuration.Info.PeerHistoricalEndpointTracking=t),id:n.configuration.Name+"_historicalEndpoint_tracking"},null,40,le),[[S,n.configuration.Info.PeerHistoricalEndpointTracking]]),a("label",{class:"form-check-label",for:n.configuration.Name+"_historicalEndpoint_tracking"},k(n.configuration.Info.PeerHistoricalEndpointTracking?"On":"Off"),9,re)]),e[23]||(e[23]=a("hr",null,null,-1)),a("div",de,[a("div",null,[w.value?(s(),o("h6",ue,[d(k(v.value.HistoricalTrackingTableSize)+" ",1),a("span",fe,[l(u,{t:"Records"})])])):(s(),o("h6",ce))]),r.value!=="HistoricalTrackingTable"?(s(),o("div",ge,[a("button",{onClick:e[8]||(e[8]=t=>C("HistoricalTrackingTable")),class:b([{disabled:f.value==="HistoricalTrackingTable"},"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3"])},[e[18]||(e[18]=a("i",{class:"bi bi-download me-2"},null,-1)),l(u,{t:f.value==="HistoricalTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[9]||(e[9]=t=>r.value="HistoricalTrackingTable")},[...e[19]||(e[19]=[a("i",{class:"bi bi-trash me-2"},null,-1),d("Delete ",-1)])])])):r.value==="HistoricalTrackingTable"?(s(),o("div",me,[a("small",null,[l(u,{t:"Are you sure to delete?"})]),a("button",{class:b(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:g.value}]),onClick:e[10]||(e[10]=t=>$("HistoricalTrackingTable"))},[...e[20]||(e[20]=[a("i",{class:"bi bi-check me-2"},null,-1),d("Yes ",-1)])],2),a("button",{class:b([{disabled:g.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[11]||(e[11]=t=>r.value="")},[...e[21]||(e[21]=[a("i",{class:"bi bi-x me-2"},null,-1),d("No ",-1)])],2)])):H("",!0)])])])])]))}},Te={class:"card"},ve={class:"card-header"},ke={class:"my-2"},pe={class:"card-body d-flex flex-column gap-3"},xe={__name:"dashboardWireguardConfigurationTracking",setup(n){const T=W();return(p,c)=>(s(),o("div",Te,[a("div",ve,[a("h6",ke,[l(u,{t:"Peer Tracking"})])]),a("div",pe,[(s(!0),o(j,null,A(U(T).Configurations,v=>(s(),M(be,{configuration:v},null,8,["configuration"]))),256))])]))}},we={class:"d-flex gap-3 flex-column"},Ce=F({__name:"wireguardConfigurationSettings",setup(n){return(T,p)=>(s(),o("div",we,[l(R,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),l(V),l(xe)]))}});export{Ce as default}; +import{D as R,a as V}from"./dashboardSettingsWireguardConfigurationAutostart-BwdJjJa2.js";import{L as u}from"./localeText-DcQapG1o.js";import{r as m,E as B,o as L,g as D,D as O,c as o,f as s,a,t as k,m as P,v as S,d as H,e as d,b as l,n as b,z as E,W,F as j,i as A,j as M,u as U,B as F}from"./index-Y3pG9DoR.js";const Y={class:"card"},G={class:"card-header"},J={class:"card-body"},K={class:"row gy-2"},q={class:"col-sm"},Q={class:"form-check form-switch"},X=["disabled","id"],Z=["for"],ee={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ae={class:"mb-0"},te={class:"text-muted fw-normal"},ne={key:0,class:"ms-md-auto d-flex gap-2"},ie={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},se={class:"col-sm"},oe={class:"form-check form-switch"},le=["disabled","id"],re=["for"],de={class:"d-flex align-items-start align-items-md-center flex-column flex-md-row gap-2"},ce={key:0,class:"placeholder animate__animated animate__flash animate__infinite animate__slower w-100 mb-0"},ue={key:1,class:"mb-0"},fe={class:"text-muted fw-normal"},ge={key:0,class:"ms-md-auto d-flex gap-2"},me={key:1,class:"ms-md-auto d-flex gap-2 align-items-center"},be={__name:"configurationTracking",props:["configuration"],async setup(n){let T,p;const c=n,v=m({HistoricalTrackingTableSize:0,TrafficTrackingTableSize:0}),w=m(!1),x=m(!1);[T,p]=B(async()=>L(async()=>{await y()})),await T,p();const y=async()=>{w.value=!1,await D("/api/getPeerTrackingTableCounts",{configurationName:c.configuration.Name},i=>{v.value=i.data,w.value=!0})},_=async i=>{x.value=!0,await E("/api/updateWireguardConfigurationInfo",{Name:c.configuration.Name,Key:i,Value:c.configuration.Info[i]},e=>{console.log(e),x.value=!1})},f=m(void 0),C=async i=>{f.value=i,await D("/api/downloadPeerTrackingTable",{configurationName:c.configuration.Name,table:i},e=>{if(e.status){const t=JSON.stringify(e.data,null,2),z=new Blob([t],{type:"application/json"}),I=URL.createObjectURL(z),h=document.createElement("a");h.href=I,h.download=`${c.configuration.Name}_${i}.json`,h.click(),f.value=void 0}})},r=m(""),g=m(void 0),N=O(),$=async i=>{g.value=!0,await E("/api/deletePeerTrackingTable",{configurationName:c.configuration.Name,table:i},async e=>{e.status?N.newMessage("Server","Record deleted","success"):N.newMessage("Server","Record delete failed","danger"),await y(),g.value=!1,r.value=""})};return(i,e)=>(s(),o("div",Y,[a("div",G,k(n.configuration.Name),1),a("div",J,[a("div",K,[a("div",q,[e[16]||(e[16]=a("small",{class:"text-muted fw-bold"},"Peer Traffic Tracking",-1)),a("div",Q,[P(a("input",{class:"form-check-input",type:"checkbox",disabled:x.value,onChange:e[0]||(e[0]=t=>_("PeerTrafficTracking")),"onUpdate:modelValue":e[1]||(e[1]=t=>n.configuration.Info.PeerTrafficTracking=t),id:n.configuration.Name+"_traffic_tracking"},null,40,X),[[S,n.configuration.Info.PeerTrafficTracking]]),a("label",{class:"form-check-label",for:n.configuration.Name+"_traffic_tracking"},k(n.configuration.Info.PeerTrafficTracking?"On":"Off"),9,Z)]),e[17]||(e[17]=a("hr",null,null,-1)),a("div",ee,[a("h6",ae,[d(k(v.value.TrafficTrackingTableSize)+" ",1),a("span",te,[l(u,{t:"Records"})])]),r.value!=="TrafficTrackingTable"?(s(),o("div",ne,[a("button",{class:b(["btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3",{disabled:f.value==="TrafficTrackingTable"}]),onClick:e[2]||(e[2]=t=>C("TrafficTrackingTable"))},[e[12]||(e[12]=a("i",{class:"bi bi-download me-2"},null,-1)),l(u,{t:f.value==="TrafficTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[3]||(e[3]=t=>r.value="TrafficTrackingTable")},[...e[13]||(e[13]=[a("i",{class:"bi bi-trash me-2"},null,-1),d("Delete ",-1)])])])):r.value==="TrafficTrackingTable"?(s(),o("div",ie,[a("small",null,[l(u,{t:"Are you sure to delete?"})]),a("button",{class:b(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:g.value}]),onClick:e[4]||(e[4]=t=>$("TrafficTrackingTable"))},[...e[14]||(e[14]=[a("i",{class:"bi bi-check me-2"},null,-1),d("Yes ",-1)])],2),a("button",{class:b([{disabled:g.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[5]||(e[5]=t=>r.value="")},[...e[15]||(e[15]=[a("i",{class:"bi bi-x me-2"},null,-1),d("No ",-1)])],2)])):H("",!0)])]),a("div",se,[e[22]||(e[22]=a("small",{class:"text-muted fw-bold"},"Peer Historical Endpoint Tracking",-1)),a("div",oe,[P(a("input",{class:"form-check-input",disabled:x.value,onChange:e[6]||(e[6]=t=>_("PeerHistoricalEndpointTracking")),type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=t=>n.configuration.Info.PeerHistoricalEndpointTracking=t),id:n.configuration.Name+"_historicalEndpoint_tracking"},null,40,le),[[S,n.configuration.Info.PeerHistoricalEndpointTracking]]),a("label",{class:"form-check-label",for:n.configuration.Name+"_historicalEndpoint_tracking"},k(n.configuration.Info.PeerHistoricalEndpointTracking?"On":"Off"),9,re)]),e[23]||(e[23]=a("hr",null,null,-1)),a("div",de,[a("div",null,[w.value?(s(),o("h6",ue,[d(k(v.value.HistoricalTrackingTableSize)+" ",1),a("span",fe,[l(u,{t:"Records"})])])):(s(),o("h6",ce))]),r.value!=="HistoricalTrackingTable"?(s(),o("div",ge,[a("button",{onClick:e[8]||(e[8]=t=>C("HistoricalTrackingTable")),class:b([{disabled:f.value==="HistoricalTrackingTable"},"btn btn-sm bg-primary-subtle text-primary-emphasis rounded-3"])},[e[18]||(e[18]=a("i",{class:"bi bi-download me-2"},null,-1)),l(u,{t:f.value==="HistoricalTrackingTable"?"Downloading...":"Download"},null,8,["t"])],2),a("button",{class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[9]||(e[9]=t=>r.value="HistoricalTrackingTable")},[...e[19]||(e[19]=[a("i",{class:"bi bi-trash me-2"},null,-1),d("Delete ",-1)])])])):r.value==="HistoricalTrackingTable"?(s(),o("div",me,[a("small",null,[l(u,{t:"Are you sure to delete?"})]),a("button",{class:b(["btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",{disabled:g.value}]),onClick:e[10]||(e[10]=t=>$("HistoricalTrackingTable"))},[...e[20]||(e[20]=[a("i",{class:"bi bi-check me-2"},null,-1),d("Yes ",-1)])],2),a("button",{class:b([{disabled:g.value},"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3"]),onClick:e[11]||(e[11]=t=>r.value="")},[...e[21]||(e[21]=[a("i",{class:"bi bi-x me-2"},null,-1),d("No ",-1)])],2)])):H("",!0)])])])])]))}},Te={class:"card"},ve={class:"card-header"},ke={class:"my-2"},pe={class:"card-body d-flex flex-column gap-3"},xe={__name:"dashboardWireguardConfigurationTracking",setup(n){const T=W();return(p,c)=>(s(),o("div",Te,[a("div",ve,[a("h6",ke,[l(u,{t:"Peer Tracking"})])]),a("div",pe,[(s(!0),o(j,null,A(U(T).Configurations,v=>(s(),M(be,{configuration:v},null,8,["configuration"]))),256))])]))}},we={class:"d-flex gap-3 flex-column"},Ce=F({__name:"wireguardConfigurationSettings",setup(n){return(T,p)=>(s(),o("div",we,[l(R,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),l(V),l(xe)]))}});export{Ce as default}; diff --git a/src/static/dist/WGDashboardAdmin/index.html b/src/static/dist/WGDashboardAdmin/index.html index c3f9e4ae..d6b8b8df 100644 --- a/src/static/dist/WGDashboardAdmin/index.html +++ b/src/static/dist/WGDashboardAdmin/index.html @@ -10,7 +10,7 @@ WGDashboard - +