iobroker.eos-admin 7.9.41 → 7.9.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  import{j as a}from"./DefaultPropsProvider-BiXBMQYQ.js";import{i as ft}from"./iobroker_admin__loadShare__react__loadShare__-LM7uyL45.js";import{i as d,a as w}from"./iobroker_admin__loadShare___mf_0_mui_mf_1_icons_mf_2_material__loadShare__-CJO5yP3h.js";import{a as qn}from"./index-BmNcalFW.js";import{i as b}from"./iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-LFZoiUTt.js";import{b as ct,I as vt,r as Xn,c as Jn}from"./bootstrap-COulQZax.js";import{C as Kn}from"./Config-hHK2UzGP.js";import{a as Bs,c as Qn}from"./pl-Dib-_u5L.js";import{r as hs}from"./___vite-browser-external_commonjs-proxy-DMh1aSo_.js";import{S as rt}from"./State-qCI8JACH.js";import{s as tr,M as er,C as sr}from"./sentry-B7YeoTAx.js";import{C as Tt}from"./CustomModal-CqDLqryN.js";import{v as Ut,g as He,o as pe,q as ce}from"./createTheme-DFX8CY6F.js";import{a as nr}from"./amber-D7aVlNg3.js";import{b as rr}from"./blue-CagzI6CQ.js";import"./_commonjsHelpers-CE1G-McA.js";import"./iobroker_admin__mf_v__runtimeInit__mf_v__-g2X2zhAf.js";import"./emotion-serialize.esm-Q4o_CgeF.js";import"./iobroker_admin__loadShare___mf_0_emotion_mf_1_react__loadShare__-BywLg1Xe.js";import"./iconBase-2IlPecPg.js";import"./ace-DEUjyTIn.js";import"./iobroker_admin__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__-CpA7pnS5.js";import"./iobroker_admin__loadShare__leaflet__loadShare__-CNUAG3AH.js";import"./ext-language_tools-ylAoucDh.js";import"./iobroker_admin__loadShare__react_mf_2_dropzone__loadShare__-CwjnV48g.js";import"./iobroker_admin__loadShare__react_mf_2_dom__loadShare__-CVeAXnkk.js";import"./preload-helper-BDBacUwf.js";import"./sdk-C-e-e2gd.js";import"./extends-CF3RwP-h.js";import"./assertThisInitialized-B0aQ9eG_.js";import"./useTheme-Bl-M1DYp.js";import"./index-DcK0RDrH.js";import"./ThemeProvider-BOFFjWAF.js";import"./emotion-cache.browser.esm-BgJfNZJN.js";import"./setYear-3ufv5yRD.js";import"./en-US-DBFJNIH6.js";var Nt={},G={},Kt={},wt={},Us={};Object.defineProperty(Us,"__esModule",{value:!0});var xe={},pt={};Object.defineProperty(pt,"__esModule",{value:!0});pt.CronField=void 0;class es{#t=!1;#s=!1;#r=!1;#n=[];options={rawValue:""};static get min(){throw new Error("min must be overridden")}static get max(){throw new Error("max must be overridden")}static get chars(){return Object.freeze([])}static get validChars(){return/^[?,*\dH/-]+$|^.*H\(\d+-\d+\)\/\d+.*$|^.*H\(\d+-\d+\).*$|^.*H\/\d+.*$/}static get constraints(){return{min:this.min,max:this.max,chars:this.chars,validChars:this.validChars}}constructor(t,e={rawValue:""}){if(!Array.isArray(t))throw new Error(`${this.constructor.name} Validation error, values is not an array`);if(!(t.length>0))throw new Error(`${this.constructor.name} Validation error, values contains no values`);this.options={...e,rawValue:e.rawValue??""},this.#n=t.sort(es.sorter),this.#r=this.options.wildcard!==void 0?this.options.wildcard:this.#i(),this.#t=this.options.rawValue.includes("L")||t.includes("L"),this.#s=this.options.rawValue.includes("?")||t.includes("?")}get min(){return this.constructor.min}get max(){return this.constructor.max}get chars(){return this.constructor.chars}get hasLastChar(){return this.#t}get hasQuestionMarkChar(){return this.#s}get isWildcard(){return this.#r}get values(){return this.#n}static sorter(t,e){const s=typeof t=="number",r=typeof e=="number";return s&&r?t-e:!s&&!r?t.localeCompare(e):s?-1:1}static findNearestValueInList(t,e,s=!1){if(s){for(let r=t.length-1;r>=0;r--)if(t[r]<e)return t[r];return null}for(let r=0;r<t.length;r++)if(t[r]>e)return t[r];return null}findNearestValue(t,e=!1){return this.constructor.findNearestValueInList(this.values,t,e)}serialize(){return{wildcard:this.#r,values:this.#n}}validate(){let t;const e=this.chars.length>0?` or chars ${this.chars.join("")}`:"",s=l=>c=>new RegExp(`^\\d{0,2}${c}$`).test(l),r=l=>(t=l,typeof l=="number"?l>=this.min&&l<=this.max:this.chars.some(s(l)));if(!this.#n.every(r))throw new Error(`${this.constructor.name} Validation error, got value ${t} expected range ${this.min}-${this.max}${e}`);const o=this.#n.find((l,c)=>this.#n.indexOf(l)!==c);if(o)throw new Error(`${this.constructor.name} Validation error, duplicate values found: ${o}`)}#i(){return this.options.rawValue.length>0?["*","?"].includes(this.options.rawValue):Array.from({length:this.max-this.min+1},(t,e)=>e+this.min).every(t=>this.#n.includes(t))}}pt.CronField=es;Object.defineProperty(xe,"__esModule",{value:!0});xe.CronDayOfMonth=void 0;const ir=pt,or=1,ar=31,lr=Object.freeze(["L"]);class cr extends ir.CronField{static get min(){return or}static get max(){return ar}static get chars(){return lr}static get validChars(){return/^[?,*\dLH/-]+$|^.*H\(\d+-\d+\)\/\d+.*$|^.*H\(\d+-\d+\).*$|^.*H\/\d+.*$/}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}}xe.CronDayOfMonth=cr;var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.CronDayOfWeek=void 0;const ur=pt,dr=0,hr=7,pr=Object.freeze(["L"]);class mr extends ur.CronField{static get min(){return dr}static get max(){return hr}static get chars(){return pr}static get validChars(){return/^[?,*\dLH#/-]+$|^.*H\(\d+-\d+\)\/\d+.*$|^.*H\(\d+-\d+\).*$|^.*H\/\d+.*$/}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}get nthDay(){return this.options.nthDayOfWeek??0}}ve.CronDayOfWeek=mr;var we={};Object.defineProperty(we,"__esModule",{value:!0});we.CronHour=void 0;const fr=pt,gr=0,yr=23,xr=Object.freeze([]);class vr extends fr.CronField{static get min(){return gr}static get max(){return yr}static get chars(){return xr}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}}we.CronHour=vr;var Se={};Object.defineProperty(Se,"__esModule",{value:!0});Se.CronMinute=void 0;const wr=pt,Sr=0,Cr=59,kr=Object.freeze([]);class br extends wr.CronField{static get min(){return Sr}static get max(){return Cr}static get chars(){return kr}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}}Se.CronMinute=br;var Ce={},ke={},q={};Object.defineProperty(q,"__esModule",{value:!0});class Dt extends Error{}class Or extends Dt{constructor(t){super(`Invalid DateTime: ${t.toMessage()}`)}}class Dr extends Dt{constructor(t){super(`Invalid Interval: ${t.toMessage()}`)}}class Tr extends Dt{constructor(t){super(`Invalid Duration: ${t.toMessage()}`)}}class _t extends Dt{}class zs extends Dt{constructor(t){super(`Invalid unit ${t}`)}}class W extends Dt{}class gt extends Dt{constructor(){super("Zone is an abstract class")}}const y="numeric",ut="short",Y="long",me={year:y,month:y,day:y},Gs={year:y,month:ut,day:y},Mr={year:y,month:ut,day:y,weekday:ut},Zs={year:y,month:Y,day:y},Ys={year:y,month:Y,day:y,weekday:Y},qs={hour:y,minute:y},Xs={hour:y,minute:y,second:y},Js={hour:y,minute:y,second:y,timeZoneName:ut},Ks={hour:y,minute:y,second:y,timeZoneName:Y},Qs={hour:y,minute:y,hourCycle:"h23"},tn={hour:y,minute:y,second:y,hourCycle:"h23"},en={hour:y,minute:y,second:y,hourCycle:"h23",timeZoneName:ut},sn={hour:y,minute:y,second:y,hourCycle:"h23",timeZoneName:Y},nn={year:y,month:y,day:y,hour:y,minute:y},rn={year:y,month:y,day:y,hour:y,minute:y,second:y},on={year:y,month:ut,day:y,hour:y,minute:y},an={year:y,month:ut,day:y,hour:y,minute:y,second:y},Ir={year:y,month:ut,day:y,weekday:ut,hour:y,minute:y},ln={year:y,month:Y,day:y,hour:y,minute:y,timeZoneName:ut},cn={year:y,month:Y,day:y,hour:y,minute:y,second:y,timeZoneName:ut},un={year:y,month:Y,day:y,weekday:Y,hour:y,minute:y,timeZoneName:Y},dn={year:y,month:Y,day:y,weekday:Y,hour:y,minute:y,second:y,timeZoneName:Y};class $t{get type(){throw new gt}get name(){throw new gt}get ianaName(){return this.name}get isUniversal(){throw new gt}offsetName(t,e){throw new gt}formatOffset(t,e){throw new gt}offset(t){throw new gt}equals(t){throw new gt}get isValid(){throw new gt}}let Ie=null;class Qt extends $t{static get instance(){return Ie===null&&(Ie=new Qt),Ie}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(t,{format:e,locale:s}){return kn(t,e,s)}formatOffset(t,e){return qt(this.offset(t),e)}offset(t){return-new Date(t).getTimezoneOffset()}equals(t){return t.type==="system"}get isValid(){return!0}}const Ve=new Map;function Er(n){let t=Ve.get(n);return t===void 0&&(t=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),Ve.set(n,t)),t}const jr={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function Nr(n,t){const e=n.format(t).replace(/\u200E/g,""),s=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(e),[,r,i,o,l,c,h,p]=s;return[o,r,i,l,c,h,p]}function _r(n,t){const e=n.formatToParts(t),s=[];for(let r=0;r<e.length;r++){const{type:i,value:o}=e[r],l=jr[i];i==="era"?s[l]=o:C(l)||(s[l]=parseInt(o,10))}return s}const Ee=new Map;class dt extends $t{static create(t){let e=Ee.get(t);return e===void 0&&Ee.set(t,e=new dt(t)),e}static resetCache(){Ee.clear(),Ve.clear()}static isValidSpecifier(t){return this.isValidZone(t)}static isValidZone(t){if(!t)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:t}).format(),!0}catch{return!1}}constructor(t){super(),this.zoneName=t,this.valid=dt.isValidZone(t)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(t,{format:e,locale:s}){return kn(t,e,s,this.name)}formatOffset(t,e){return qt(this.offset(t),e)}offset(t){if(!this.valid)return NaN;const e=new Date(t);if(isNaN(e))return NaN;const s=Er(this.name);let[r,i,o,l,c,h,p]=s.formatToParts?_r(s,e):Nr(s,e);l==="BC"&&(r=-Math.abs(r)+1);const f=Oe({year:r,month:i,day:o,hour:c===24?0:c,minute:h,second:p,millisecond:0});let m=+e;const g=m%1e3;return m-=g>=0?g:1e3+g,(f-m)/(60*1e3)}equals(t){return t.type==="iana"&&t.name===this.name}get isValid(){return this.valid}}let ps={};function Fr(n,t={}){const e=JSON.stringify([n,t]);let s=ps[e];return s||(s=new Intl.ListFormat(n,t),ps[e]=s),s}const Pe=new Map;function Be(n,t={}){const e=JSON.stringify([n,t]);let s=Pe.get(e);return s===void 0&&(s=new Intl.DateTimeFormat(n,t),Pe.set(e,s)),s}const Ue=new Map;function Lr(n,t={}){const e=JSON.stringify([n,t]);let s=Ue.get(e);return s===void 0&&(s=new Intl.NumberFormat(n,t),Ue.set(e,s)),s}const ze=new Map;function Wr(n,t={}){const{base:e,...s}=t,r=JSON.stringify([n,s]);let i=ze.get(r);return i===void 0&&(i=new Intl.RelativeTimeFormat(n,t),ze.set(r,i)),i}let zt=null;function Ar(){return zt||(zt=new Intl.DateTimeFormat().resolvedOptions().locale,zt)}const Ge=new Map;function hn(n){let t=Ge.get(n);return t===void 0&&(t=new Intl.DateTimeFormat(n).resolvedOptions(),Ge.set(n,t)),t}const Ze=new Map;function $r(n){let t=Ze.get(n);if(!t){const e=new Intl.Locale(n);t="getWeekInfo"in e?e.getWeekInfo():e.weekInfo,"minimalDays"in t||(t={...pn,...t}),Ze.set(n,t)}return t}function Rr(n){const t=n.indexOf("-x-");t!==-1&&(n=n.substring(0,t));const e=n.indexOf("-u-");if(e===-1)return[n];{let s,r;try{s=Be(n).resolvedOptions(),r=n}catch{const c=n.substring(0,e);s=Be(c).resolvedOptions(),r=c}const{numberingSystem:i,calendar:o}=s;return[r,i,o]}}function Hr(n,t,e){return(e||t)&&(n.includes("-u-")||(n+="-u"),e&&(n+=`-ca-${e}`),t&&(n+=`-nu-${t}`)),n}function Vr(n){const t=[];for(let e=1;e<=12;e++){const s=k.utc(2009,e,1);t.push(n(s))}return t}function Pr(n){const t=[];for(let e=1;e<=7;e++){const s=k.utc(2016,11,13+e);t.push(n(s))}return t}function re(n,t,e,s){const r=n.listingMode();return r==="error"?null:r==="en"?e(t):s(t)}function Br(n){return n.numberingSystem&&n.numberingSystem!=="latn"?!1:n.numberingSystem==="latn"||!n.locale||n.locale.startsWith("en")||hn(n.locale).numberingSystem==="latn"}class Ur{constructor(t,e,s){this.padTo=s.padTo||0,this.floor=s.floor||!1;const{padTo:r,floor:i,...o}=s;if(!e||Object.keys(o).length>0){const l={useGrouping:!1,...s};s.padTo>0&&(l.minimumIntegerDigits=s.padTo),this.inf=Lr(t,l)}}format(t){if(this.inf){const e=this.floor?Math.floor(t):t;return this.inf.format(e)}else{const e=this.floor?Math.floor(t):os(t,3);return L(e,this.padTo)}}}class zr{constructor(t,e,s){this.opts=s,this.originalZone=void 0;let r;if(this.opts.timeZone)this.dt=t;else if(t.zone.type==="fixed"){const o=-1*(t.offset/60),l=o>=0?`Etc/GMT+${o}`:`Etc/GMT${o}`;t.offset!==0&&dt.create(l).valid?(r=l,this.dt=t):(r="UTC",this.dt=t.offset===0?t:t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone)}else t.zone.type==="system"?this.dt=t:t.zone.type==="iana"?(this.dt=t,r=t.zone.name):(r="UTC",this.dt=t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone);const i={...this.opts};i.timeZone=i.timeZone||r,this.dtf=Be(e,i)}format(){return this.originalZone?this.formatToParts().map(({value:t})=>t).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){const t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map(e=>{if(e.type==="timeZoneName"){const s=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...e,value:s}}else return e}):t}resolvedOptions(){return this.dtf.resolvedOptions()}}class Gr{constructor(t,e,s){this.opts={style:"long",...s},!e&&Sn()&&(this.rtf=Wr(t,s))}format(t,e){return this.rtf?this.rtf.format(t,e):pi(e,t,this.opts.numeric,this.opts.style!=="long")}formatToParts(t,e){return this.rtf?this.rtf.formatToParts(t,e):[]}}const pn={firstDay:1,minimalDays:4,weekend:[6,7]};class M{static fromOpts(t){return M.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)}static create(t,e,s,r,i=!1){const o=t||j.defaultLocale,l=o||(i?"en-US":Ar()),c=e||j.defaultNumberingSystem,h=s||j.defaultOutputCalendar,p=qe(r)||j.defaultWeekSettings;return new M(l,c,h,p,o)}static resetCache(){zt=null,Pe.clear(),Ue.clear(),ze.clear(),Ge.clear(),Ze.clear()}static fromObject({locale:t,numberingSystem:e,outputCalendar:s,weekSettings:r}={}){return M.create(t,e,s,r)}constructor(t,e,s,r,i){const[o,l,c]=Rr(t);this.locale=o,this.numberingSystem=e||l||null,this.outputCalendar=s||c||null,this.weekSettings=r,this.intl=Hr(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=i,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=Br(this)),this.fastNumbersCached}listingMode(){const t=this.isEnglish(),e=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return t&&e?"en":"intl"}clone(t){return!t||Object.getOwnPropertyNames(t).length===0?this:M.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,qe(t.weekSettings)||this.weekSettings,t.defaultToEN||!1)}redefaultToEN(t={}){return this.clone({...t,defaultToEN:!0})}redefaultToSystem(t={}){return this.clone({...t,defaultToEN:!1})}months(t,e=!1){return re(this,t,Dn,()=>{const s=this.intl==="ja"||this.intl.startsWith("ja-");e&=!s;const r=e?{month:t,day:"numeric"}:{month:t},i=e?"format":"standalone";if(!this.monthsCache[i][t]){const o=s?l=>this.dtFormatter(l,r).format():l=>this.extract(l,r,"month");this.monthsCache[i][t]=Vr(o)}return this.monthsCache[i][t]})}weekdays(t,e=!1){return re(this,t,In,()=>{const s=e?{weekday:t,year:"numeric",month:"long",day:"numeric"}:{weekday:t},r=e?"format":"standalone";return this.weekdaysCache[r][t]||(this.weekdaysCache[r][t]=Pr(i=>this.extract(i,s,"weekday"))),this.weekdaysCache[r][t]})}meridiems(){return re(this,void 0,()=>En,()=>{if(!this.meridiemCache){const t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[k.utc(2016,11,13,9),k.utc(2016,11,13,19)].map(e=>this.extract(e,t,"dayperiod"))}return this.meridiemCache})}eras(t){return re(this,t,jn,()=>{const e={era:t};return this.eraCache[t]||(this.eraCache[t]=[k.utc(-40,1,1),k.utc(2017,1,1)].map(s=>this.extract(s,e,"era"))),this.eraCache[t]})}extract(t,e,s){const r=this.dtFormatter(t,e),i=r.formatToParts(),o=i.find(l=>l.type.toLowerCase()===s);return o?o.value:null}numberFormatter(t={}){return new Ur(this.intl,t.forceSimple||this.fastNumbers,t)}dtFormatter(t,e={}){return new zr(t,this.intl,e)}relFormatter(t={}){return new Gr(this.intl,this.isEnglish(),t)}listFormatter(t={}){return Fr(this.intl,t)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||hn(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:Cn()?$r(this.locale):pn}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(t){return this.locale===t.locale&&this.numberingSystem===t.numberingSystem&&this.outputCalendar===t.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}let je=null;class R extends $t{static get utcInstance(){return je===null&&(je=new R(0)),je}static instance(t){return t===0?R.utcInstance:new R(t)}static parseSpecifier(t){if(t){const e=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(e)return new R(De(e[1],e[2]))}return null}constructor(t){super(),this.fixed=t}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${qt(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${qt(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(t,e){return qt(this.fixed,e)}get isUniversal(){return!0}offset(){return this.fixed}equals(t){return t.type==="fixed"&&t.fixed===this.fixed}get isValid(){return!0}}class mn extends $t{constructor(t){super(),this.zoneName=t}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function St(n,t){if(C(n)||n===null)return t;if(n instanceof $t)return n;if(Kr(n)){const e=n.toLowerCase();return e==="default"?t:e==="local"||e==="system"?Qt.instance:e==="utc"||e==="gmt"?R.utcInstance:R.parseSpecifier(e)||dt.create(n)}else return Ct(n)?R.instance(n):typeof n=="object"&&"offset"in n&&typeof n.offset=="function"?n:new mn(n)}const ss={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},ms={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},Zr=ss.hanidec.replace(/[\[|\]]/g,"").split("");function Yr(n){let t=parseInt(n,10);if(isNaN(t)){t="";for(let e=0;e<n.length;e++){const s=n.charCodeAt(e);if(n[e].search(ss.hanidec)!==-1)t+=Zr.indexOf(n[e]);else for(const r in ms){const[i,o]=ms[r];s>=i&&s<=o&&(t+=s-i)}}return parseInt(t,10)}else return t}const Ye=new Map;function qr(){Ye.clear()}function it({numberingSystem:n},t=""){const e=n||"latn";let s=Ye.get(e);s===void 0&&(s=new Map,Ye.set(e,s));let r=s.get(t);return r===void 0&&(r=new RegExp(`${ss[e]}${t}`),s.set(t,r)),r}let fs=()=>Date.now(),gs="system",ys=null,xs=null,vs=null,ws=60,Ss,Cs=null;class j{static get now(){return fs}static set now(t){fs=t}static set defaultZone(t){gs=t}static get defaultZone(){return St(gs,Qt.instance)}static get defaultLocale(){return ys}static set defaultLocale(t){ys=t}static get defaultNumberingSystem(){return xs}static set defaultNumberingSystem(t){xs=t}static get defaultOutputCalendar(){return vs}static set defaultOutputCalendar(t){vs=t}static get defaultWeekSettings(){return Cs}static set defaultWeekSettings(t){Cs=qe(t)}static get twoDigitCutoffYear(){return ws}static set twoDigitCutoffYear(t){ws=t%100}static get throwOnInvalid(){return Ss}static set throwOnInvalid(t){Ss=t}static resetCaches(){M.resetCache(),dt.resetCache(),k.resetCache(),qr()}}class lt{constructor(t,e){this.reason=t,this.explanation=e}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}const fn=[0,31,59,90,120,151,181,212,243,273,304,334],gn=[0,31,60,91,121,152,182,213,244,274,305,335];function tt(n,t){return new lt("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${n}, which is invalid`)}function ns(n,t,e){const s=new Date(Date.UTC(n,t-1,e));n<100&&n>=0&&s.setUTCFullYear(s.getUTCFullYear()-1900);const r=s.getUTCDay();return r===0?7:r}function yn(n,t,e){return e+(te(n)?gn:fn)[t-1]}function xn(n,t){const e=te(n)?gn:fn,s=e.findIndex(i=>i<t),r=t-e[s];return{month:s+1,day:r}}function rs(n,t){return(n-t+7)%7+1}function fe(n,t=4,e=1){const{year:s,month:r,day:i}=n,o=yn(s,r,i),l=rs(ns(s,r,i),e);let c=Math.floor((o-l+14-t)/7),h;return c<1?(h=s-1,c=Jt(h,t,e)):c>Jt(s,t,e)?(h=s+1,c=1):h=s,{weekYear:h,weekNumber:c,weekday:l,...Te(n)}}function ks(n,t=4,e=1){const{weekYear:s,weekNumber:r,weekday:i}=n,o=rs(ns(s,1,t),e),l=Lt(s);let c=r*7+i-o-7+t,h;c<1?(h=s-1,c+=Lt(h)):c>l?(h=s+1,c-=Lt(s)):h=s;const{month:p,day:u}=xn(h,c);return{year:h,month:p,day:u,...Te(n)}}function Ne(n){const{year:t,month:e,day:s}=n,r=yn(t,e,s);return{year:t,ordinal:r,...Te(n)}}function bs(n){const{year:t,ordinal:e}=n,{month:s,day:r}=xn(t,e);return{year:t,month:s,day:r,...Te(n)}}function Os(n,t){if(!C(n.localWeekday)||!C(n.localWeekNumber)||!C(n.localWeekYear)){if(!C(n.weekday)||!C(n.weekNumber)||!C(n.weekYear))throw new _t("Cannot mix locale-based week fields with ISO-based week fields");return C(n.localWeekday)||(n.weekday=n.localWeekday),C(n.localWeekNumber)||(n.weekNumber=n.localWeekNumber),C(n.localWeekYear)||(n.weekYear=n.localWeekYear),delete n.localWeekday,delete n.localWeekNumber,delete n.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function Xr(n,t=4,e=1){const s=be(n.weekYear),r=et(n.weekNumber,1,Jt(n.weekYear,t,e)),i=et(n.weekday,1,7);return s?r?i?!1:tt("weekday",n.weekday):tt("week",n.weekNumber):tt("weekYear",n.weekYear)}function Jr(n){const t=be(n.year),e=et(n.ordinal,1,Lt(n.year));return t?e?!1:tt("ordinal",n.ordinal):tt("year",n.year)}function vn(n){const t=be(n.year),e=et(n.month,1,12),s=et(n.day,1,ge(n.year,n.month));return t?e?s?!1:tt("day",n.day):tt("month",n.month):tt("year",n.year)}function wn(n){const{hour:t,minute:e,second:s,millisecond:r}=n,i=et(t,0,23)||t===24&&e===0&&s===0&&r===0,o=et(e,0,59),l=et(s,0,59),c=et(r,0,999);return i?o?l?c?!1:tt("millisecond",r):tt("second",s):tt("minute",e):tt("hour",t)}function C(n){return typeof n>"u"}function Ct(n){return typeof n=="number"}function be(n){return typeof n=="number"&&n%1===0}function Kr(n){return typeof n=="string"}function Qr(n){return Object.prototype.toString.call(n)==="[object Date]"}function Sn(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function Cn(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function ti(n){return Array.isArray(n)?n:[n]}function Ds(n,t,e){if(n.length!==0)return n.reduce((s,r)=>{const i=[t(r),r];return s&&e(s[0],i[0])===s[0]?s:i},null)[1]}function ei(n,t){return t.reduce((e,s)=>(e[s]=n[s],e),{})}function At(n,t){return Object.prototype.hasOwnProperty.call(n,t)}function qe(n){if(n==null)return null;if(typeof n!="object")throw new W("Week settings must be an object");if(!et(n.firstDay,1,7)||!et(n.minimalDays,1,7)||!Array.isArray(n.weekend)||n.weekend.some(t=>!et(t,1,7)))throw new W("Invalid week settings");return{firstDay:n.firstDay,minimalDays:n.minimalDays,weekend:Array.from(n.weekend)}}function et(n,t,e){return be(n)&&n>=t&&n<=e}function si(n,t){return n-t*Math.floor(n/t)}function L(n,t=2){const e=n<0;let s;return e?s="-"+(""+-n).padStart(t,"0"):s=(""+n).padStart(t,"0"),s}function yt(n){if(!(C(n)||n===null||n===""))return parseInt(n,10)}function kt(n){if(!(C(n)||n===null||n===""))return parseFloat(n)}function is(n){if(!(C(n)||n===null||n==="")){const t=parseFloat("0."+n)*1e3;return Math.floor(t)}}function os(n,t,e="round"){const s=10**t;switch(e){case"expand":return n>0?Math.ceil(n*s)/s:Math.floor(n*s)/s;case"trunc":return Math.trunc(n*s)/s;case"round":return Math.round(n*s)/s;case"floor":return Math.floor(n*s)/s;case"ceil":return Math.ceil(n*s)/s;default:throw new RangeError(`Value rounding ${e} is out of range`)}}function te(n){return n%4===0&&(n%100!==0||n%400===0)}function Lt(n){return te(n)?366:365}function ge(n,t){const e=si(t-1,12)+1,s=n+(t-e)/12;return e===2?te(s)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][e-1]}function Oe(n){let t=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);return n.year<100&&n.year>=0&&(t=new Date(t),t.setUTCFullYear(n.year,n.month-1,n.day)),+t}function Ts(n,t,e){return-rs(ns(n,1,t),e)+t-1}function Jt(n,t=4,e=1){const s=Ts(n,t,e),r=Ts(n+1,t,e);return(Lt(n)-s+r)/7}function Xe(n){return n>99?n:n>j.twoDigitCutoffYear?1900+n:2e3+n}function kn(n,t,e,s=null){const r=new Date(n),i={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};s&&(i.timeZone=s);const o={timeZoneName:t,...i},l=new Intl.DateTimeFormat(e,o).formatToParts(r).find(c=>c.type.toLowerCase()==="timezonename");return l?l.value:null}function De(n,t){let e=parseInt(n,10);Number.isNaN(e)&&(e=0);const s=parseInt(t,10)||0,r=e<0||Object.is(e,-0)?-s:s;return e*60+r}function bn(n){const t=Number(n);if(typeof n=="boolean"||n===""||!Number.isFinite(t))throw new W(`Invalid unit value ${n}`);return t}function ye(n,t){const e={};for(const s in n)if(At(n,s)){const r=n[s];if(r==null)continue;e[t(s)]=bn(r)}return e}function qt(n,t){const e=Math.trunc(Math.abs(n/60)),s=Math.trunc(Math.abs(n%60)),r=n>=0?"+":"-";switch(t){case"short":return`${r}${L(e,2)}:${L(s,2)}`;case"narrow":return`${r}${e}${s>0?`:${s}`:""}`;case"techie":return`${r}${L(e,2)}${L(s,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function Te(n){return ei(n,["hour","minute","second","millisecond"])}const ni=["January","February","March","April","May","June","July","August","September","October","November","December"],On=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ri=["J","F","M","A","M","J","J","A","S","O","N","D"];function Dn(n){switch(n){case"narrow":return[...ri];case"short":return[...On];case"long":return[...ni];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const Tn=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Mn=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],ii=["M","T","W","T","F","S","S"];function In(n){switch(n){case"narrow":return[...ii];case"short":return[...Mn];case"long":return[...Tn];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const En=["AM","PM"],oi=["Before Christ","Anno Domini"],ai=["BC","AD"],li=["B","A"];function jn(n){switch(n){case"narrow":return[...li];case"short":return[...ai];case"long":return[...oi];default:return null}}function ci(n){return En[n.hour<12?0:1]}function ui(n,t){return In(t)[n.weekday-1]}function di(n,t){return Dn(t)[n.month-1]}function hi(n,t){return jn(t)[n.year<0?0:1]}function pi(n,t,e="always",s=!1){const r={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},i=["hours","minutes","seconds"].indexOf(n)===-1;if(e==="auto"&&i){const u=n==="days";switch(t){case 1:return u?"tomorrow":`next ${r[n][0]}`;case-1:return u?"yesterday":`last ${r[n][0]}`;case 0:return u?"today":`this ${r[n][0]}`}}const o=Object.is(t,-0)||t<0,l=Math.abs(t),c=l===1,h=r[n],p=s?c?h[1]:h[2]||h[1]:c?r[n][0]:n;return o?`${l} ${p} ago`:`in ${l} ${p}`}function Ms(n,t){let e="";for(const s of n)s.literal?e+=s.val:e+=t(s.val);return e}const mi={D:me,DD:Gs,DDD:Zs,DDDD:Ys,t:qs,tt:Xs,ttt:Js,tttt:Ks,T:Qs,TT:tn,TTT:en,TTTT:sn,f:nn,ff:on,fff:ln,ffff:un,F:rn,FF:an,FFF:cn,FFFF:dn};class ${static create(t,e={}){return new $(t,e)}static parseFormat(t){let e=null,s="",r=!1;const i=[];for(let o=0;o<t.length;o++){const l=t.charAt(o);l==="'"?((s.length>0||r)&&i.push({literal:r||/^\s+$/.test(s),val:s===""?"'":s}),e=null,s="",r=!r):r||l===e?s+=l:(s.length>0&&i.push({literal:/^\s+$/.test(s),val:s}),s=l,e=l)}return s.length>0&&i.push({literal:r||/^\s+$/.test(s),val:s}),i}static macroTokenToFormatOpts(t){return mi[t]}constructor(t,e){this.opts=e,this.loc=t,this.systemLoc=null}formatWithSystemDefault(t,e){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(t,{...this.opts,...e}).format()}dtFormatter(t,e={}){return this.loc.dtFormatter(t,{...this.opts,...e})}formatDateTime(t,e){return this.dtFormatter(t,e).format()}formatDateTimeParts(t,e){return this.dtFormatter(t,e).formatToParts()}formatInterval(t,e){return this.dtFormatter(t.start,e).dtf.formatRange(t.start.toJSDate(),t.end.toJSDate())}resolvedOptions(t,e){return this.dtFormatter(t,e).resolvedOptions()}num(t,e=0,s=void 0){if(this.opts.forceSimple)return L(t,e);const r={...this.opts};return e>0&&(r.padTo=e),s&&(r.signDisplay=s),this.loc.numberFormatter(r).format(t)}formatDateTimeFromString(t,e){const s=this.loc.listingMode()==="en",r=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",i=(m,g)=>this.loc.extract(t,m,g),o=m=>t.isOffsetFixed&&t.offset===0&&m.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,m.format):"",l=()=>s?ci(t):i({hour:"numeric",hourCycle:"h12"},"dayperiod"),c=(m,g)=>s?di(t,m):i(g?{month:m}:{month:m,day:"numeric"},"month"),h=(m,g)=>s?ui(t,m):i(g?{weekday:m}:{weekday:m,month:"long",day:"numeric"},"weekday"),p=m=>{const g=$.macroTokenToFormatOpts(m);return g?this.formatWithSystemDefault(t,g):m},u=m=>s?hi(t,m):i({era:m},"era"),f=m=>{switch(m){case"S":return this.num(t.millisecond);case"u":case"SSS":return this.num(t.millisecond,3);case"s":return this.num(t.second);case"ss":return this.num(t.second,2);case"uu":return this.num(Math.floor(t.millisecond/10),2);case"uuu":return this.num(Math.floor(t.millisecond/100));case"m":return this.num(t.minute);case"mm":return this.num(t.minute,2);case"h":return this.num(t.hour%12===0?12:t.hour%12);case"hh":return this.num(t.hour%12===0?12:t.hour%12,2);case"H":return this.num(t.hour);case"HH":return this.num(t.hour,2);case"Z":return o({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return o({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return o({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:this.loc.locale});case"z":return t.zoneName;case"a":return l();case"d":return r?i({day:"numeric"},"day"):this.num(t.day);case"dd":return r?i({day:"2-digit"},"day"):this.num(t.day,2);case"c":return this.num(t.weekday);case"ccc":return h("short",!0);case"cccc":return h("long",!0);case"ccccc":return h("narrow",!0);case"E":return this.num(t.weekday);case"EEE":return h("short",!1);case"EEEE":return h("long",!1);case"EEEEE":return h("narrow",!1);case"L":return r?i({month:"numeric",day:"numeric"},"month"):this.num(t.month);case"LL":return r?i({month:"2-digit",day:"numeric"},"month"):this.num(t.month,2);case"LLL":return c("short",!0);case"LLLL":return c("long",!0);case"LLLLL":return c("narrow",!0);case"M":return r?i({month:"numeric"},"month"):this.num(t.month);case"MM":return r?i({month:"2-digit"},"month"):this.num(t.month,2);case"MMM":return c("short",!1);case"MMMM":return c("long",!1);case"MMMMM":return c("narrow",!1);case"y":return r?i({year:"numeric"},"year"):this.num(t.year);case"yy":return r?i({year:"2-digit"},"year"):this.num(t.year.toString().slice(-2),2);case"yyyy":return r?i({year:"numeric"},"year"):this.num(t.year,4);case"yyyyyy":return r?i({year:"numeric"},"year"):this.num(t.year,6);case"G":return u("short");case"GG":return u("long");case"GGGGG":return u("narrow");case"kk":return this.num(t.weekYear.toString().slice(-2),2);case"kkkk":return this.num(t.weekYear,4);case"W":return this.num(t.weekNumber);case"WW":return this.num(t.weekNumber,2);case"n":return this.num(t.localWeekNumber);case"nn":return this.num(t.localWeekNumber,2);case"ii":return this.num(t.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(t.localWeekYear,4);case"o":return this.num(t.ordinal);case"ooo":return this.num(t.ordinal,3);case"q":return this.num(t.quarter);case"qq":return this.num(t.quarter,2);case"X":return this.num(Math.floor(t.ts/1e3));case"x":return this.num(t.ts);default:return p(m)}};return Ms($.parseFormat(e),f)}formatDurationFromString(t,e){const s=this.opts.signMode==="negativeLargestOnly"?-1:1,r=p=>{switch(p[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},i=(p,u)=>f=>{const m=r(f);if(m){const g=u.isNegativeDuration&&m!==u.largestUnit?s:1;let S;return this.opts.signMode==="negativeLargestOnly"&&m!==u.largestUnit?S="never":this.opts.signMode==="all"?S="always":S="auto",this.num(p.get(m)*g,f.length,S)}else return f},o=$.parseFormat(e),l=o.reduce((p,{literal:u,val:f})=>u?p:p.concat(f),[]),c=t.shiftTo(...l.map(r).filter(p=>p)),h={isNegativeDuration:c<0,largestUnit:Object.keys(c.values)[0]};return Ms(o,i(c,h))}}const Nn=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function Rt(...n){const t=n.reduce((e,s)=>e+s.source,"");return RegExp(`^${t}$`)}function Ht(...n){return t=>n.reduce(([e,s,r],i)=>{const[o,l,c]=i(t,r);return[{...e,...o},l||s,c]},[{},null,1]).slice(0,2)}function Vt(n,...t){if(n==null)return[null,null];for(const[e,s]of t){const r=e.exec(n);if(r)return s(r)}return[null,null]}function _n(...n){return(t,e)=>{const s={};let r;for(r=0;r<n.length;r++)s[n[r]]=yt(t[e+r]);return[s,null,e+r]}}const Fn=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,fi=`(?:${Fn.source}?(?:\\[(${Nn.source})\\])?)?`,as=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Ln=RegExp(`${as.source}${fi}`),ls=RegExp(`(?:[Tt]${Ln.source})?`),gi=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,yi=/(\d{4})-?W(\d\d)(?:-?(\d))?/,xi=/(\d{4})-?(\d{3})/,vi=_n("weekYear","weekNumber","weekDay"),wi=_n("year","ordinal"),Si=/(\d{4})-(\d\d)-(\d\d)/,Wn=RegExp(`${as.source} ?(?:${Fn.source}|(${Nn.source}))?`),Ci=RegExp(`(?: ${Wn.source})?`);function Wt(n,t,e){const s=n[t];return C(s)?e:yt(s)}function ki(n,t){return[{year:Wt(n,t),month:Wt(n,t+1,1),day:Wt(n,t+2,1)},null,t+3]}function Pt(n,t){return[{hours:Wt(n,t,0),minutes:Wt(n,t+1,0),seconds:Wt(n,t+2,0),milliseconds:is(n[t+3])},null,t+4]}function ee(n,t){const e=!n[t]&&!n[t+1],s=De(n[t+1],n[t+2]),r=e?null:R.instance(s);return[{},r,t+3]}function se(n,t){const e=n[t]?dt.create(n[t]):null;return[{},e,t+1]}const bi=RegExp(`^T?${as.source}$`),Oi=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function Di(n){const[t,e,s,r,i,o,l,c,h]=n,p=t[0]==="-",u=c&&c[0]==="-",f=(m,g=!1)=>m!==void 0&&(g||m&&p)?-m:m;return[{years:f(kt(e)),months:f(kt(s)),weeks:f(kt(r)),days:f(kt(i)),hours:f(kt(o)),minutes:f(kt(l)),seconds:f(kt(c),c==="-0"),milliseconds:f(is(h),u)}]}const Ti={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function cs(n,t,e,s,r,i,o){const l={year:t.length===2?Xe(yt(t)):yt(t),month:On.indexOf(e)+1,day:yt(s),hour:yt(r),minute:yt(i)};return o&&(l.second=yt(o)),n&&(l.weekday=n.length>3?Tn.indexOf(n)+1:Mn.indexOf(n)+1),l}const Mi=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Ii(n){const[,t,e,s,r,i,o,l,c,h,p,u]=n,f=cs(t,r,s,e,i,o,l);let m;return c?m=Ti[c]:h?m=0:m=De(p,u),[f,new R(m)]}function Ei(n){return n.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}const ji=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Ni=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,_i=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Is(n){const[,t,e,s,r,i,o,l]=n;return[cs(t,r,s,e,i,o,l),R.utcInstance]}function Fi(n){const[,t,e,s,r,i,o,l]=n;return[cs(t,l,e,s,r,i,o),R.utcInstance]}const Li=Rt(gi,ls),Wi=Rt(yi,ls),Ai=Rt(xi,ls),$i=Rt(Ln),An=Ht(ki,Pt,ee,se),Ri=Ht(vi,Pt,ee,se),Hi=Ht(wi,Pt,ee,se),Vi=Ht(Pt,ee,se);function Pi(n){return Vt(n,[Li,An],[Wi,Ri],[Ai,Hi],[$i,Vi])}function Bi(n){return Vt(Ei(n),[Mi,Ii])}function Ui(n){return Vt(n,[ji,Is],[Ni,Is],[_i,Fi])}function zi(n){return Vt(n,[Oi,Di])}const Gi=Ht(Pt);function Zi(n){return Vt(n,[bi,Gi])}const Yi=Rt(Si,Ci),qi=Rt(Wn),Xi=Ht(Pt,ee,se);function Ji(n){return Vt(n,[Yi,An],[qi,Xi])}const Es="Invalid Duration",$n={weeks:{days:7,hours:168,minutes:10080,seconds:10080*60,milliseconds:10080*60*1e3},days:{hours:24,minutes:1440,seconds:1440*60,milliseconds:1440*60*1e3},hours:{minutes:60,seconds:3600,milliseconds:3600*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},Ki={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:2184*60,seconds:2184*60*60,milliseconds:2184*60*60*1e3},months:{weeks:4,days:30,hours:720,minutes:720*60,seconds:720*60*60,milliseconds:720*60*60*1e3},...$n},X=146097/400,Mt=146097/4800,Qi={years:{quarters:4,months:12,weeks:X/7,days:X,hours:X*24,minutes:X*24*60,seconds:X*24*60*60,milliseconds:X*24*60*60*1e3},quarters:{months:3,weeks:X/28,days:X/4,hours:X*24/4,minutes:X*24*60/4,seconds:X*24*60*60/4,milliseconds:X*24*60*60*1e3/4},months:{weeks:Mt/7,days:Mt,hours:Mt*24,minutes:Mt*24*60,seconds:Mt*24*60*60,milliseconds:Mt*24*60*60*1e3},...$n},Ot=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],to=Ot.slice(0).reverse();function mt(n,t,e=!1){const s={values:e?t.values:{...n.values,...t.values||{}},loc:n.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||n.conversionAccuracy,matrix:t.matrix||n.matrix};return new D(s)}function Rn(n,t){var e;let s=(e=t.milliseconds)!=null?e:0;for(const r of to.slice(1))t[r]&&(s+=t[r]*n[r].milliseconds);return s}function js(n,t){const e=Rn(n,t)<0?-1:1;Ot.reduceRight((s,r)=>{if(C(t[r]))return s;if(s){const i=t[s]*e,o=n[r][s],l=Math.floor(i/o);t[r]+=l*e,t[s]-=l*o*e}return r},null),Ot.reduce((s,r)=>{if(C(t[r]))return s;if(s){const i=t[s]%1;t[s]-=i,t[r]+=i*n[s][r]}return r},null)}function Ns(n){const t={};for(const[e,s]of Object.entries(n))s!==0&&(t[e]=s);return t}class D{constructor(t){const e=t.conversionAccuracy==="longterm"||!1;let s=e?Qi:Ki;t.matrix&&(s=t.matrix),this.values=t.values,this.loc=t.loc||M.create(),this.conversionAccuracy=e?"longterm":"casual",this.invalid=t.invalid||null,this.matrix=s,this.isLuxonDuration=!0}static fromMillis(t,e){return D.fromObject({milliseconds:t},e)}static fromObject(t,e={}){if(t==null||typeof t!="object")throw new W(`Duration.fromObject: argument expected to be an object, got ${t===null?"null":typeof t}`);return new D({values:ye(t,D.normalizeUnit),loc:M.fromObject(e),conversionAccuracy:e.conversionAccuracy,matrix:e.matrix})}static fromDurationLike(t){if(Ct(t))return D.fromMillis(t);if(D.isDuration(t))return t;if(typeof t=="object")return D.fromObject(t);throw new W(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,e){const[s]=zi(t);return s?D.fromObject(s,e):D.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,e){const[s]=Zi(t);return s?D.fromObject(s,e):D.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,e=null){if(!t)throw new W("need to specify a reason the Duration is invalid");const s=t instanceof lt?t:new lt(t,e);if(j.throwOnInvalid)throw new Tr(s);return new D({invalid:s})}static normalizeUnit(t){const e={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[t&&t.toLowerCase()];if(!e)throw new zs(t);return e}static isDuration(t){return t&&t.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(t,e={}){const s={...e,floor:e.round!==!1&&e.floor!==!1};return this.isValid?$.create(this.loc,s).formatDurationFromString(this,t):Es}toHuman(t={}){if(!this.isValid)return Es;const e=t.showZeros!==!1,s=Ot.map(r=>{const i=this.values[r];return C(i)||i===0&&!e?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...t,unit:r.slice(0,-1)}).format(i)}).filter(r=>r);return this.loc.listFormatter({type:"conjunction",style:t.listStyle||"narrow",...t}).format(s)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let t="P";return this.years!==0&&(t+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(t+=this.months+this.quarters*3+"M"),this.weeks!==0&&(t+=this.weeks+"W"),this.days!==0&&(t+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(t+="T"),this.hours!==0&&(t+=this.hours+"H"),this.minutes!==0&&(t+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(t+=os(this.seconds+this.milliseconds/1e3,3)+"S"),t==="P"&&(t+="T0S"),t}toISOTime(t={}){if(!this.isValid)return null;const e=this.toMillis();return e<0||e>=864e5?null:(t={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...t,includeOffset:!1},k.fromMillis(e,{zone:"UTC"}).toISOTime(t))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?Rn(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;const e=D.fromDurationLike(t),s={};for(const r of Ot)(At(e.values,r)||At(this.values,r))&&(s[r]=e.get(r)+this.get(r));return mt(this,{values:s},!0)}minus(t){if(!this.isValid)return this;const e=D.fromDurationLike(t);return this.plus(e.negate())}mapUnits(t){if(!this.isValid)return this;const e={};for(const s of Object.keys(this.values))e[s]=bn(t(this.values[s],s));return mt(this,{values:e},!0)}get(t){return this[D.normalizeUnit(t)]}set(t){if(!this.isValid)return this;const e={...this.values,...ye(t,D.normalizeUnit)};return mt(this,{values:e})}reconfigure({locale:t,numberingSystem:e,conversionAccuracy:s,matrix:r}={}){const o={loc:this.loc.clone({locale:t,numberingSystem:e}),matrix:r,conversionAccuracy:s};return mt(this,o)}as(t){return this.isValid?this.shiftTo(t).get(t):NaN}normalize(){if(!this.isValid)return this;const t=this.toObject();return js(this.matrix,t),mt(this,{values:t},!0)}rescale(){if(!this.isValid)return this;const t=Ns(this.normalize().shiftToAll().toObject());return mt(this,{values:t},!0)}shiftTo(...t){if(!this.isValid)return this;if(t.length===0)return this;t=t.map(o=>D.normalizeUnit(o));const e={},s={},r=this.toObject();let i;for(const o of Ot)if(t.indexOf(o)>=0){i=o;let l=0;for(const h in s)l+=this.matrix[h][o]*s[h],s[h]=0;Ct(r[o])&&(l+=r[o]);const c=Math.trunc(l);e[o]=c,s[o]=(l*1e3-c*1e3)/1e3}else Ct(r[o])&&(s[o]=r[o]);for(const o in s)s[o]!==0&&(e[i]+=o===i?s[o]:s[o]/this.matrix[i][o]);return js(this.matrix,e),mt(this,{values:e},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;const t={};for(const e of Object.keys(this.values))t[e]=this.values[e]===0?0:-this.values[e];return mt(this,{values:t},!0)}removeZeros(){if(!this.isValid)return this;const t=Ns(this.values);return mt(this,{values:t},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(t){if(!this.isValid||!t.isValid||!this.loc.equals(t.loc))return!1;function e(s,r){return s===void 0||s===0?r===void 0||r===0:s===r}for(const s of Ot)if(!e(this.values[s],t.values[s]))return!1;return!0}}const It="Invalid Interval";function eo(n,t){return!n||!n.isValid?E.invalid("missing or invalid start"):!t||!t.isValid?E.invalid("missing or invalid end"):t<n?E.invalid("end before start",`The end of an interval must be after its start, but you had start=${n.toISO()} and end=${t.toISO()}`):null}class E{constructor(t){this.s=t.start,this.e=t.end,this.invalid=t.invalid||null,this.isLuxonInterval=!0}static invalid(t,e=null){if(!t)throw new W("need to specify a reason the Interval is invalid");const s=t instanceof lt?t:new lt(t,e);if(j.throwOnInvalid)throw new Dr(s);return new E({invalid:s})}static fromDateTimes(t,e){const s=Bt(t),r=Bt(e),i=eo(s,r);return i??new E({start:s,end:r})}static after(t,e){const s=D.fromDurationLike(e),r=Bt(t);return E.fromDateTimes(r,r.plus(s))}static before(t,e){const s=D.fromDurationLike(e),r=Bt(t);return E.fromDateTimes(r.minus(s),r)}static fromISO(t,e){const[s,r]=(t||"").split("/",2);if(s&&r){let i,o;try{i=k.fromISO(s,e),o=i.isValid}catch{o=!1}let l,c;try{l=k.fromISO(r,e),c=l.isValid}catch{c=!1}if(o&&c)return E.fromDateTimes(i,l);if(o){const h=D.fromISO(r,e);if(h.isValid)return E.after(i,h)}else if(c){const h=D.fromISO(s,e);if(h.isValid)return E.before(l,h)}}return E.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static isInterval(t){return t&&t.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(t="milliseconds"){return this.isValid?this.toDuration(t).get(t):NaN}count(t="milliseconds",e){if(!this.isValid)return NaN;const s=this.start.startOf(t,e);let r;return e!=null&&e.useLocaleWeeks?r=this.end.reconfigure({locale:s.locale}):r=this.end,r=r.startOf(t,e),Math.floor(r.diff(s,t).get(t))+(r.valueOf()!==this.end.valueOf())}hasSame(t){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,t):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(t){return this.isValid?this.s>t:!1}isBefore(t){return this.isValid?this.e<=t:!1}contains(t){return this.isValid?this.s<=t&&this.e>t:!1}set({start:t,end:e}={}){return this.isValid?E.fromDateTimes(t||this.s,e||this.e):this}splitAt(...t){if(!this.isValid)return[];const e=t.map(Bt).filter(o=>this.contains(o)).sort((o,l)=>o.toMillis()-l.toMillis()),s=[];let{s:r}=this,i=0;for(;r<this.e;){const o=e[i]||this.e,l=+o>+this.e?this.e:o;s.push(E.fromDateTimes(r,l)),r=l,i+=1}return s}splitBy(t){const e=D.fromDurationLike(t);if(!this.isValid||!e.isValid||e.as("milliseconds")===0)return[];let{s}=this,r=1,i;const o=[];for(;s<this.e;){const l=this.start.plus(e.mapUnits(c=>c*r));i=+l>+this.e?this.e:l,o.push(E.fromDateTimes(s,i)),s=i,r+=1}return o}divideEqually(t){return this.isValid?this.splitBy(this.length()/t).slice(0,t):[]}overlaps(t){return this.e>t.s&&this.s<t.e}abutsStart(t){return this.isValid?+this.e==+t.s:!1}abutsEnd(t){return this.isValid?+t.e==+this.s:!1}engulfs(t){return this.isValid?this.s<=t.s&&this.e>=t.e:!1}equals(t){return!this.isValid||!t.isValid?!1:this.s.equals(t.s)&&this.e.equals(t.e)}intersection(t){if(!this.isValid)return this;const e=this.s>t.s?this.s:t.s,s=this.e<t.e?this.e:t.e;return e>=s?null:E.fromDateTimes(e,s)}union(t){if(!this.isValid)return this;const e=this.s<t.s?this.s:t.s,s=this.e>t.e?this.e:t.e;return E.fromDateTimes(e,s)}static merge(t){const[e,s]=t.sort((r,i)=>r.s-i.s).reduce(([r,i],o)=>i?i.overlaps(o)||i.abutsStart(o)?[r,i.union(o)]:[r.concat([i]),o]:[r,o],[[],null]);return s&&e.push(s),e}static xor(t){let e=null,s=0;const r=[],i=t.map(c=>[{time:c.s,type:"s"},{time:c.e,type:"e"}]),o=Array.prototype.concat(...i),l=o.sort((c,h)=>c.time-h.time);for(const c of l)s+=c.type==="s"?1:-1,s===1?e=c.time:(e&&+e!=+c.time&&r.push(E.fromDateTimes(e,c.time)),e=null);return E.merge(r)}difference(...t){return E.xor([this].concat(t)).map(e=>this.intersection(e)).filter(e=>e&&!e.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:It}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(t=me,e={}){return this.isValid?$.create(this.s.loc.clone(e),t).formatInterval(this):It}toISO(t){return this.isValid?`${this.s.toISO(t)}/${this.e.toISO(t)}`:It}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:It}toISOTime(t){return this.isValid?`${this.s.toISOTime(t)}/${this.e.toISOTime(t)}`:It}toFormat(t,{separator:e=" – "}={}){return this.isValid?`${this.s.toFormat(t)}${e}${this.e.toFormat(t)}`:It}toDuration(t,e){return this.isValid?this.e.diff(this.s,t,e):D.invalid(this.invalidReason)}mapEndpoints(t){return E.fromDateTimes(t(this.s),t(this.e))}}class Gt{static hasDST(t=j.defaultZone){const e=k.now().setZone(t).set({month:12});return!t.isUniversal&&e.offset!==e.set({month:6}).offset}static isValidIANAZone(t){return dt.isValidZone(t)}static normalizeZone(t){return St(t,j.defaultZone)}static getStartOfWeek({locale:t=null,locObj:e=null}={}){return(e||M.create(t)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:t=null,locObj:e=null}={}){return(e||M.create(t)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:t=null,locObj:e=null}={}){return(e||M.create(t)).getWeekendDays().slice()}static months(t="long",{locale:e=null,numberingSystem:s=null,locObj:r=null,outputCalendar:i="gregory"}={}){return(r||M.create(e,s,i)).months(t)}static monthsFormat(t="long",{locale:e=null,numberingSystem:s=null,locObj:r=null,outputCalendar:i="gregory"}={}){return(r||M.create(e,s,i)).months(t,!0)}static weekdays(t="long",{locale:e=null,numberingSystem:s=null,locObj:r=null}={}){return(r||M.create(e,s,null)).weekdays(t)}static weekdaysFormat(t="long",{locale:e=null,numberingSystem:s=null,locObj:r=null}={}){return(r||M.create(e,s,null)).weekdays(t,!0)}static meridiems({locale:t=null}={}){return M.create(t).meridiems()}static eras(t="short",{locale:e=null}={}){return M.create(e,null,"gregory").eras(t)}static features(){return{relative:Sn(),localeWeek:Cn()}}}function _s(n,t){const e=r=>r.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),s=e(t)-e(n);return Math.floor(D.fromMillis(s).as("days"))}function so(n,t,e){const s=[["years",(c,h)=>h.year-c.year],["quarters",(c,h)=>h.quarter-c.quarter+(h.year-c.year)*4],["months",(c,h)=>h.month-c.month+(h.year-c.year)*12],["weeks",(c,h)=>{const p=_s(c,h);return(p-p%7)/7}],["days",_s]],r={},i=n;let o,l;for(const[c,h]of s)e.indexOf(c)>=0&&(o=c,r[c]=h(n,t),l=i.plus(r),l>t?(r[c]--,n=i.plus(r),n>t&&(l=n,r[c]--,n=i.plus(r))):n=l);return[n,r,l,o]}function no(n,t,e,s){let[r,i,o,l]=so(n,t,e);const c=t-r,h=e.filter(u=>["hours","minutes","seconds","milliseconds"].indexOf(u)>=0);h.length===0&&(o<t&&(o=r.plus({[l]:1})),o!==r&&(i[l]=(i[l]||0)+c/(o-r)));const p=D.fromObject(i,s);return h.length>0?D.fromMillis(c,s).shiftTo(...h).plus(p):p}const ro="missing Intl.DateTimeFormat.formatToParts support";function T(n,t=e=>e){return{regex:n,deser:([e])=>t(Yr(e))}}const io=" ",Hn=`[ ${io}]`,Vn=new RegExp(Hn,"g");function oo(n){return n.replace(/\./g,"\\.?").replace(Vn,Hn)}function Fs(n){return n.replace(/\./g,"").replace(Vn," ").toLowerCase()}function ot(n,t){return n===null?null:{regex:RegExp(n.map(oo).join("|")),deser:([e])=>n.findIndex(s=>Fs(e)===Fs(s))+t}}function Ls(n,t){return{regex:n,deser:([,e,s])=>De(e,s),groups:t}}function ie(n){return{regex:n,deser:([t])=>t}}function ao(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function lo(n,t){const e=it(t),s=it(t,"{2}"),r=it(t,"{3}"),i=it(t,"{4}"),o=it(t,"{6}"),l=it(t,"{1,2}"),c=it(t,"{1,3}"),h=it(t,"{1,6}"),p=it(t,"{1,9}"),u=it(t,"{2,4}"),f=it(t,"{4,6}"),m=v=>({regex:RegExp(ao(v.val)),deser:([H])=>H,literal:!0}),S=(v=>{if(n.literal)return m(v);switch(v.val){case"G":return ot(t.eras("short"),0);case"GG":return ot(t.eras("long"),0);case"y":return T(h);case"yy":return T(u,Xe);case"yyyy":return T(i);case"yyyyy":return T(f);case"yyyyyy":return T(o);case"M":return T(l);case"MM":return T(s);case"MMM":return ot(t.months("short",!0),1);case"MMMM":return ot(t.months("long",!0),1);case"L":return T(l);case"LL":return T(s);case"LLL":return ot(t.months("short",!1),1);case"LLLL":return ot(t.months("long",!1),1);case"d":return T(l);case"dd":return T(s);case"o":return T(c);case"ooo":return T(r);case"HH":return T(s);case"H":return T(l);case"hh":return T(s);case"h":return T(l);case"mm":return T(s);case"m":return T(l);case"q":return T(l);case"qq":return T(s);case"s":return T(l);case"ss":return T(s);case"S":return T(c);case"SSS":return T(r);case"u":return ie(p);case"uu":return ie(l);case"uuu":return T(e);case"a":return ot(t.meridiems(),0);case"kkkk":return T(i);case"kk":return T(u,Xe);case"W":return T(l);case"WW":return T(s);case"E":case"c":return T(e);case"EEE":return ot(t.weekdays("short",!1),1);case"EEEE":return ot(t.weekdays("long",!1),1);case"ccc":return ot(t.weekdays("short",!0),1);case"cccc":return ot(t.weekdays("long",!0),1);case"Z":case"ZZ":return Ls(new RegExp(`([+-]${l.source})(?::(${s.source}))?`),2);case"ZZZ":return Ls(new RegExp(`([+-]${l.source})(${s.source})?`),2);case"z":return ie(/[a-z_+-/]{1,256}?/i);case" ":return ie(/[^\S\n\r]/);default:return m(v)}})(n)||{invalidReason:ro};return S.token=n,S}const co={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function uo(n,t,e){const{type:s,value:r}=n;if(s==="literal"){const c=/^\s+$/.test(r);return{literal:!c,val:c?" ":r}}const i=t[s];let o=s;s==="hour"&&(t.hour12!=null?o=t.hour12?"hour12":"hour24":t.hourCycle!=null?t.hourCycle==="h11"||t.hourCycle==="h12"?o="hour12":o="hour24":o=e.hour12?"hour12":"hour24");let l=co[o];if(typeof l=="object"&&(l=l[i]),l)return{literal:!1,val:l}}function ho(n){return[`^${n.map(e=>e.regex).reduce((e,s)=>`${e}(${s.source})`,"")}$`,n]}function po(n,t,e){const s=n.match(t);if(s){const r={};let i=1;for(const o in e)if(At(e,o)){const l=e[o],c=l.groups?l.groups+1:1;!l.literal&&l.token&&(r[l.token.val[0]]=l.deser(s.slice(i,i+c))),i+=c}return[s,r]}else return[s,{}]}function mo(n){const t=i=>{switch(i){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}};let e=null,s;return C(n.z)||(e=dt.create(n.z)),C(n.Z)||(e||(e=new R(n.Z)),s=n.Z),C(n.q)||(n.M=(n.q-1)*3+1),C(n.h)||(n.h<12&&n.a===1?n.h+=12:n.h===12&&n.a===0&&(n.h=0)),n.G===0&&n.y&&(n.y=-n.y),C(n.u)||(n.S=is(n.u)),[Object.keys(n).reduce((i,o)=>{const l=t(o);return l&&(i[l]=n[o]),i},{}),e,s]}let _e=null;function fo(){return _e||(_e=k.fromMillis(1555555555555)),_e}function go(n,t){if(n.literal)return n;const e=$.macroTokenToFormatOpts(n.val),s=zn(e,t);return s==null||s.includes(void 0)?n:s}function Pn(n,t){return Array.prototype.concat(...n.map(e=>go(e,t)))}class Bn{constructor(t,e){if(this.locale=t,this.format=e,this.tokens=Pn($.parseFormat(e),t),this.units=this.tokens.map(s=>lo(s,t)),this.disqualifyingUnit=this.units.find(s=>s.invalidReason),!this.disqualifyingUnit){const[s,r]=ho(this.units);this.regex=RegExp(s,"i"),this.handlers=r}}explainFromTokens(t){if(this.isValid){const[e,s]=po(t,this.regex,this.handlers),[r,i,o]=s?mo(s):[null,null,void 0];if(At(s,"a")&&At(s,"H"))throw new _t("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:this.tokens,regex:this.regex,rawMatches:e,matches:s,result:r,zone:i,specificOffset:o}}else return{input:t,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}function Un(n,t,e){return new Bn(n,e).explainFromTokens(t)}function yo(n,t,e){const{result:s,zone:r,specificOffset:i,invalidReason:o}=Un(n,t,e);return[s,r,i,o]}function zn(n,t){if(!n)return null;const s=$.create(t,n).dtFormatter(fo()),r=s.formatToParts(),i=s.resolvedOptions();return r.map(o=>uo(o,n,i))}const Fe="Invalid DateTime",Ws=864e13;function Zt(n){return new lt("unsupported zone",`the zone "${n.name}" is not supported`)}function Le(n){return n.weekData===null&&(n.weekData=fe(n.c)),n.weekData}function We(n){return n.localWeekData===null&&(n.localWeekData=fe(n.c,n.loc.getMinDaysInFirstWeek(),n.loc.getStartOfWeek())),n.localWeekData}function bt(n,t){const e={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new k({...e,...t,old:e})}function Gn(n,t,e){let s=n-t*60*1e3;const r=e.offset(s);if(t===r)return[s,t];s-=(r-t)*60*1e3;const i=e.offset(s);return r===i?[s,r]:[n-Math.min(r,i)*60*1e3,Math.max(r,i)]}function oe(n,t){n+=t*60*1e3;const e=new Date(n);return{year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate(),hour:e.getUTCHours(),minute:e.getUTCMinutes(),second:e.getUTCSeconds(),millisecond:e.getUTCMilliseconds()}}function ue(n,t,e){return Gn(Oe(n),t,e)}function As(n,t){const e=n.o,s=n.c.year+Math.trunc(t.years),r=n.c.month+Math.trunc(t.months)+Math.trunc(t.quarters)*3,i={...n.c,year:s,month:r,day:Math.min(n.c.day,ge(s,r))+Math.trunc(t.days)+Math.trunc(t.weeks)*7},o=D.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),l=Oe(i);let[c,h]=Gn(l,e,n.zone);return o!==0&&(c+=o,h=n.zone.offset(c)),{ts:c,o:h}}function Et(n,t,e,s,r,i){const{setZone:o,zone:l}=e;if(n&&Object.keys(n).length!==0||t){const c=t||l,h=k.fromObject(n,{...e,zone:c,specificOffset:i});return o?h:h.setZone(l)}else return k.invalid(new lt("unparsable",`the input "${r}" can't be parsed as ${s}`))}function ae(n,t,e=!0){return n.isValid?$.create(M.create("en-US"),{allowZ:e,forceSimple:!0}).formatDateTimeFromString(n,t):null}function Ae(n,t,e){const s=n.c.year>9999||n.c.year<0;let r="";if(s&&n.c.year>=0&&(r+="+"),r+=L(n.c.year,s?6:4),e==="year")return r;if(t){if(r+="-",r+=L(n.c.month),e==="month")return r;r+="-"}else if(r+=L(n.c.month),e==="month")return r;return r+=L(n.c.day),r}function $s(n,t,e,s,r,i,o){let l=!e||n.c.millisecond!==0||n.c.second!==0,c="";switch(o){case"day":case"month":case"year":break;default:if(c+=L(n.c.hour),o==="hour")break;if(t){if(c+=":",c+=L(n.c.minute),o==="minute")break;l&&(c+=":",c+=L(n.c.second))}else{if(c+=L(n.c.minute),o==="minute")break;l&&(c+=L(n.c.second))}if(o==="second")break;l&&(!s||n.c.millisecond!==0)&&(c+=".",c+=L(n.c.millisecond,3))}return r&&(n.isOffsetFixed&&n.offset===0&&!i?c+="Z":n.o<0?(c+="-",c+=L(Math.trunc(-n.o/60)),c+=":",c+=L(Math.trunc(-n.o%60))):(c+="+",c+=L(Math.trunc(n.o/60)),c+=":",c+=L(Math.trunc(n.o%60)))),i&&(c+="["+n.zone.ianaName+"]"),c}const Zn={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},xo={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},vo={ordinal:1,hour:0,minute:0,second:0,millisecond:0},de=["year","month","day","hour","minute","second","millisecond"],wo=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],So=["year","ordinal","hour","minute","second","millisecond"];function he(n){const t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[n.toLowerCase()];if(!t)throw new zs(n);return t}function Rs(n){switch(n.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return he(n)}}function Co(n){if(Yt===void 0&&(Yt=j.now()),n.type!=="iana")return n.offset(Yt);const t=n.name;let e=Je.get(t);return e===void 0&&(e=n.offset(Yt),Je.set(t,e)),e}function Hs(n,t){const e=St(t.zone,j.defaultZone);if(!e.isValid)return k.invalid(Zt(e));const s=M.fromObject(t);let r,i;if(C(n.year))r=j.now();else{for(const c of de)C(n[c])&&(n[c]=Zn[c]);const o=vn(n)||wn(n);if(o)return k.invalid(o);const l=Co(e);[r,i]=ue(n,l,e)}return new k({ts:r,zone:e,loc:s,o:i})}function Vs(n,t,e){const s=C(e.round)?!0:e.round,r=C(e.rounding)?"trunc":e.rounding,i=(l,c)=>(l=os(l,s||e.calendary?0:2,e.calendary?"round":r),t.loc.clone(e).relFormatter(e).format(l,c)),o=l=>e.calendary?t.hasSame(n,l)?0:t.startOf(l).diff(n.startOf(l),l).get(l):t.diff(n,l).get(l);if(e.unit)return i(o(e.unit),e.unit);for(const l of e.units){const c=o(l);if(Math.abs(c)>=1)return i(c,l)}return i(n>t?-0:0,e.units[e.units.length-1])}function Ps(n){let t={},e;return n.length>0&&typeof n[n.length-1]=="object"?(t=n[n.length-1],e=Array.from(n).slice(0,n.length-1)):e=Array.from(n),[t,e]}let Yt;const Je=new Map;class k{constructor(t){const e=t.zone||j.defaultZone;let s=t.invalid||(Number.isNaN(t.ts)?new lt("invalid input"):null)||(e.isValid?null:Zt(e));this.ts=C(t.ts)?j.now():t.ts;let r=null,i=null;if(!s)if(t.old&&t.old.ts===this.ts&&t.old.zone.equals(e))[r,i]=[t.old.c,t.old.o];else{const l=Ct(t.o)&&!t.old?t.o:e.offset(this.ts);r=oe(this.ts,l),s=Number.isNaN(r.year)?new lt("invalid input"):null,r=s?null:r,i=s?null:l}this._zone=e,this.loc=t.loc||M.create(),this.invalid=s,this.weekData=null,this.localWeekData=null,this.c=r,this.o=i,this.isLuxonDateTime=!0}static now(){return new k({})}static local(){const[t,e]=Ps(arguments),[s,r,i,o,l,c,h]=e;return Hs({year:s,month:r,day:i,hour:o,minute:l,second:c,millisecond:h},t)}static utc(){const[t,e]=Ps(arguments),[s,r,i,o,l,c,h]=e;return t.zone=R.utcInstance,Hs({year:s,month:r,day:i,hour:o,minute:l,second:c,millisecond:h},t)}static fromJSDate(t,e={}){const s=Qr(t)?t.valueOf():NaN;if(Number.isNaN(s))return k.invalid("invalid input");const r=St(e.zone,j.defaultZone);return r.isValid?new k({ts:s,zone:r,loc:M.fromObject(e)}):k.invalid(Zt(r))}static fromMillis(t,e={}){if(Ct(t))return t<-Ws||t>Ws?k.invalid("Timestamp out of range"):new k({ts:t,zone:St(e.zone,j.defaultZone),loc:M.fromObject(e)});throw new W(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`)}static fromSeconds(t,e={}){if(Ct(t))return new k({ts:t*1e3,zone:St(e.zone,j.defaultZone),loc:M.fromObject(e)});throw new W("fromSeconds requires a numerical input")}static fromObject(t,e={}){t=t||{};const s=St(e.zone,j.defaultZone);if(!s.isValid)return k.invalid(Zt(s));const r=M.fromObject(e),i=ye(t,Rs),{minDaysInFirstWeek:o,startOfWeek:l}=Os(i,r),c=j.now(),h=C(e.specificOffset)?s.offset(c):e.specificOffset,p=!C(i.ordinal),u=!C(i.year),f=!C(i.month)||!C(i.day),m=u||f,g=i.weekYear||i.weekNumber;if((m||p)&&g)throw new _t("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(f&&p)throw new _t("Can't mix ordinal dates with month/day");const S=g||i.weekday&&!m;let v,H,I=oe(c,h);S?(v=wo,H=xo,I=fe(I,o,l)):p?(v=So,H=vo,I=Ne(I)):(v=de,H=Zn);let P=!1;for(const V of v){const ne=i[V];C(ne)?P?i[V]=H[V]:i[V]=I[V]:P=!0}const Z=S?Xr(i,o,l):p?Jr(i):vn(i),st=Z||wn(i);if(st)return k.invalid(st);const nt=S?ks(i,o,l):p?bs(i):i,[B,_]=ue(nt,h,s),N=new k({ts:B,zone:s,o:_,loc:r});return i.weekday&&m&&t.weekday!==N.weekday?k.invalid("mismatched weekday",`you can't specify both a weekday of ${i.weekday} and a date of ${N.toISO()}`):N.isValid?N:k.invalid(N.invalid)}static fromISO(t,e={}){const[s,r]=Pi(t);return Et(s,r,e,"ISO 8601",t)}static fromRFC2822(t,e={}){const[s,r]=Bi(t);return Et(s,r,e,"RFC 2822",t)}static fromHTTP(t,e={}){const[s,r]=Ui(t);return Et(s,r,e,"HTTP",e)}static fromFormat(t,e,s={}){if(C(t)||C(e))throw new W("fromFormat requires an input string and a format");const{locale:r=null,numberingSystem:i=null}=s,o=M.fromOpts({locale:r,numberingSystem:i,defaultToEN:!0}),[l,c,h,p]=yo(o,t,e);return p?k.invalid(p):Et(l,c,s,`format ${e}`,t,h)}static fromString(t,e,s={}){return k.fromFormat(t,e,s)}static fromSQL(t,e={}){const[s,r]=Ji(t);return Et(s,r,e,"SQL",t)}static invalid(t,e=null){if(!t)throw new W("need to specify a reason the DateTime is invalid");const s=t instanceof lt?t:new lt(t,e);if(j.throwOnInvalid)throw new Or(s);return new k({invalid:s})}static isDateTime(t){return t&&t.isLuxonDateTime||!1}static parseFormatForOpts(t,e={}){const s=zn(t,M.fromObject(e));return s?s.map(r=>r?r.val:null).join(""):null}static expandFormat(t,e={}){return Pn($.parseFormat(t),M.fromObject(e)).map(r=>r.val).join("")}static resetCache(){Yt=void 0,Je.clear()}get(t){return this[t]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Le(this).weekYear:NaN}get weekNumber(){return this.isValid?Le(this).weekNumber:NaN}get weekday(){return this.isValid?Le(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?We(this).weekday:NaN}get localWeekNumber(){return this.isValid?We(this).weekNumber:NaN}get localWeekYear(){return this.isValid?We(this).weekYear:NaN}get ordinal(){return this.isValid?Ne(this.c).ordinal:NaN}get monthShort(){return this.isValid?Gt.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Gt.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Gt.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Gt.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const t=864e5,e=6e4,s=Oe(this.c),r=this.zone.offset(s-t),i=this.zone.offset(s+t),o=this.zone.offset(s-r*e),l=this.zone.offset(s-i*e);if(o===l)return[this];const c=s-o*e,h=s-l*e,p=oe(c,o),u=oe(h,l);return p.hour===u.hour&&p.minute===u.minute&&p.second===u.second&&p.millisecond===u.millisecond?[bt(this,{ts:c}),bt(this,{ts:h})]:[this]}get isInLeapYear(){return te(this.year)}get daysInMonth(){return ge(this.year,this.month)}get daysInYear(){return this.isValid?Lt(this.year):NaN}get weeksInWeekYear(){return this.isValid?Jt(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?Jt(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(t={}){const{locale:e,numberingSystem:s,calendar:r}=$.create(this.loc.clone(t),t).resolvedOptions(this);return{locale:e,numberingSystem:s,outputCalendar:r}}toUTC(t=0,e={}){return this.setZone(R.instance(t),e)}toLocal(){return this.setZone(j.defaultZone)}setZone(t,{keepLocalTime:e=!1,keepCalendarTime:s=!1}={}){if(t=St(t,j.defaultZone),t.equals(this.zone))return this;if(t.isValid){let r=this.ts;if(e||s){const i=t.offset(this.ts),o=this.toObject();[r]=ue(o,i,t)}return bt(this,{ts:r,zone:t})}else return k.invalid(Zt(t))}reconfigure({locale:t,numberingSystem:e,outputCalendar:s}={}){const r=this.loc.clone({locale:t,numberingSystem:e,outputCalendar:s});return bt(this,{loc:r})}setLocale(t){return this.reconfigure({locale:t})}set(t){if(!this.isValid)return this;const e=ye(t,Rs),{minDaysInFirstWeek:s,startOfWeek:r}=Os(e,this.loc),i=!C(e.weekYear)||!C(e.weekNumber)||!C(e.weekday),o=!C(e.ordinal),l=!C(e.year),c=!C(e.month)||!C(e.day),h=l||c,p=e.weekYear||e.weekNumber;if((h||o)&&p)throw new _t("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(c&&o)throw new _t("Can't mix ordinal dates with month/day");let u;i?u=ks({...fe(this.c,s,r),...e},s,r):C(e.ordinal)?(u={...this.toObject(),...e},C(e.day)&&(u.day=Math.min(ge(u.year,u.month),u.day))):u=bs({...Ne(this.c),...e});const[f,m]=ue(u,this.o,this.zone);return bt(this,{ts:f,o:m})}plus(t){if(!this.isValid)return this;const e=D.fromDurationLike(t);return bt(this,As(this,e))}minus(t){if(!this.isValid)return this;const e=D.fromDurationLike(t).negate();return bt(this,As(this,e))}startOf(t,{useLocaleWeeks:e=!1}={}){if(!this.isValid)return this;const s={},r=D.normalizeUnit(t);switch(r){case"years":s.month=1;case"quarters":case"months":s.day=1;case"weeks":case"days":s.hour=0;case"hours":s.minute=0;case"minutes":s.second=0;case"seconds":s.millisecond=0;break}if(r==="weeks")if(e){const i=this.loc.getStartOfWeek(),{weekday:o}=this;o<i&&(s.weekNumber=this.weekNumber-1),s.weekday=i}else s.weekday=1;if(r==="quarters"){const i=Math.ceil(this.month/3);s.month=(i-1)*3+1}return this.set(s)}endOf(t,e){return this.isValid?this.plus({[t]:1}).startOf(t,e).minus(1):this}toFormat(t,e={}){return this.isValid?$.create(this.loc.redefaultToEN(e)).formatDateTimeFromString(this,t):Fe}toLocaleString(t=me,e={}){return this.isValid?$.create(this.loc.clone(e),t).formatDateTime(this):Fe}toLocaleParts(t={}){return this.isValid?$.create(this.loc.clone(t),t).formatDateTimeParts(this):[]}toISO({format:t="extended",suppressSeconds:e=!1,suppressMilliseconds:s=!1,includeOffset:r=!0,extendedZone:i=!1,precision:o="milliseconds"}={}){if(!this.isValid)return null;o=he(o);const l=t==="extended";let c=Ae(this,l,o);return de.indexOf(o)>=3&&(c+="T"),c+=$s(this,l,e,s,r,i,o),c}toISODate({format:t="extended",precision:e="day"}={}){return this.isValid?Ae(this,t==="extended",he(e)):null}toISOWeekDate(){return ae(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:t=!1,suppressSeconds:e=!1,includeOffset:s=!0,includePrefix:r=!1,extendedZone:i=!1,format:o="extended",precision:l="milliseconds"}={}){return this.isValid?(l=he(l),(r&&de.indexOf(l)>=3?"T":"")+$s(this,o==="extended",e,t,s,i,l)):null}toRFC2822(){return ae(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return ae(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?Ae(this,!0):null}toSQLTime({includeOffset:t=!0,includeZone:e=!1,includeOffsetSpace:s=!0}={}){let r="HH:mm:ss.SSS";return(e||t)&&(s&&(r+=" "),e?r+="z":t&&(r+="ZZ")),ae(this,r,!0)}toSQL(t={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(t)}`:null}toString(){return this.isValid?this.toISO():Fe}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(t={}){if(!this.isValid)return{};const e={...this.c};return t.includeConfig&&(e.outputCalendar=this.outputCalendar,e.numberingSystem=this.loc.numberingSystem,e.locale=this.loc.locale),e}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(t,e="milliseconds",s={}){if(!this.isValid||!t.isValid)return D.invalid("created by diffing an invalid DateTime");const r={locale:this.locale,numberingSystem:this.numberingSystem,...s},i=ti(e).map(D.normalizeUnit),o=t.valueOf()>this.valueOf(),l=o?this:t,c=o?t:this,h=no(l,c,i,r);return o?h.negate():h}diffNow(t="milliseconds",e={}){return this.diff(k.now(),t,e)}until(t){return this.isValid?E.fromDateTimes(this,t):this}hasSame(t,e,s){if(!this.isValid)return!1;const r=t.valueOf(),i=this.setZone(t.zone,{keepLocalTime:!0});return i.startOf(e,s)<=r&&r<=i.endOf(e,s)}equals(t){return this.isValid&&t.isValid&&this.valueOf()===t.valueOf()&&this.zone.equals(t.zone)&&this.loc.equals(t.loc)}toRelative(t={}){if(!this.isValid)return null;const e=t.base||k.fromObject({},{zone:this.zone}),s=t.padding?this<e?-t.padding:t.padding:0;let r=["years","months","days","hours","minutes","seconds"],i=t.unit;return Array.isArray(t.unit)&&(r=t.unit,i=void 0),Vs(e,this.plus(s),{...t,numeric:"always",units:r,unit:i})}toRelativeCalendar(t={}){return this.isValid?Vs(t.base||k.fromObject({},{zone:this.zone}),this,{...t,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...t){if(!t.every(k.isDateTime))throw new W("min requires all arguments be DateTimes");return Ds(t,e=>e.valueOf(),Math.min)}static max(...t){if(!t.every(k.isDateTime))throw new W("max requires all arguments be DateTimes");return Ds(t,e=>e.valueOf(),Math.max)}static fromFormatExplain(t,e,s={}){const{locale:r=null,numberingSystem:i=null}=s,o=M.fromOpts({locale:r,numberingSystem:i,defaultToEN:!0});return Un(o,t,e)}static fromStringExplain(t,e,s={}){return k.fromFormatExplain(t,e,s)}static buildFormatParser(t,e={}){const{locale:s=null,numberingSystem:r=null}=e,i=M.fromOpts({locale:s,numberingSystem:r,defaultToEN:!0});return new Bn(i,t)}static fromFormatParser(t,e,s={}){if(C(t)||C(e))throw new W("fromFormatParser requires an input string and a format parser");const{locale:r=null,numberingSystem:i=null}=s,o=M.fromOpts({locale:r,numberingSystem:i,defaultToEN:!0});if(!o.equals(e.locale))throw new W(`fromFormatParser called with a locale of ${o}, but the format parser was created for ${e.locale}`);const{result:l,zone:c,specificOffset:h,invalidReason:p}=e.explainFromTokens(t);return p?k.invalid(p):Et(l,c,s,`format ${e.format}`,t,h)}static get DATE_SHORT(){return me}static get DATE_MED(){return Gs}static get DATE_MED_WITH_WEEKDAY(){return Mr}static get DATE_FULL(){return Zs}static get DATE_HUGE(){return Ys}static get TIME_SIMPLE(){return qs}static get TIME_WITH_SECONDS(){return Xs}static get TIME_WITH_SHORT_OFFSET(){return Js}static get TIME_WITH_LONG_OFFSET(){return Ks}static get TIME_24_SIMPLE(){return Qs}static get TIME_24_WITH_SECONDS(){return tn}static get TIME_24_WITH_SHORT_OFFSET(){return en}static get TIME_24_WITH_LONG_OFFSET(){return sn}static get DATETIME_SHORT(){return nn}static get DATETIME_SHORT_WITH_SECONDS(){return rn}static get DATETIME_MED(){return on}static get DATETIME_MED_WITH_SECONDS(){return an}static get DATETIME_MED_WITH_WEEKDAY(){return Ir}static get DATETIME_FULL(){return ln}static get DATETIME_FULL_WITH_SECONDS(){return cn}static get DATETIME_HUGE(){return un}static get DATETIME_HUGE_WITH_SECONDS(){return dn}}function Bt(n){if(k.isDateTime(n))return n;if(n&&n.valueOf&&Ct(n.valueOf()))return k.fromJSDate(n);if(n&&typeof n=="object")return k.fromObject(n);throw new W(`Unknown datetime argument: ${n}, of type ${typeof n}`)}const ko="3.7.2";q.DateTime=k;q.Duration=D;q.FixedOffsetZone=R;q.IANAZone=dt;q.Info=Gt;q.Interval=E;q.InvalidZone=mn;q.Settings=j;q.SystemZone=Qt;q.VERSION=ko;q.Zone=$t;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.CronDate=n.DAYS_IN_MONTH=n.DateMathOp=n.TimeUnit=void 0;const t=q;var e;(function(i){i.Second="Second",i.Minute="Minute",i.Hour="Hour",i.Day="Day",i.Month="Month",i.Year="Year"})(e||(n.TimeUnit=e={}));var s;(function(i){i.Add="Add",i.Subtract="Subtract"})(s||(n.DateMathOp=s={})),n.DAYS_IN_MONTH=Object.freeze([31,29,31,30,31,30,31,31,30,31,30,31]);class r{#t;#s=null;#r=null;#n={add:{[e.Year]:this.addYear.bind(this),[e.Month]:this.addMonth.bind(this),[e.Day]:this.addDay.bind(this),[e.Hour]:this.addHour.bind(this),[e.Minute]:this.addMinute.bind(this),[e.Second]:this.addSecond.bind(this)},subtract:{[e.Year]:this.subtractYear.bind(this),[e.Month]:this.subtractMonth.bind(this),[e.Day]:this.subtractDay.bind(this),[e.Hour]:this.subtractHour.bind(this),[e.Minute]:this.subtractMinute.bind(this),[e.Second]:this.subtractSecond.bind(this)}};constructor(o,l){const c={zone:l};if(o?o instanceof r?(this.#t=o.#t,this.#s=o.#s,this.#r=o.#r):o instanceof Date?this.#t=t.DateTime.fromJSDate(o,c):typeof o=="number"?this.#t=t.DateTime.fromMillis(o,c):(this.#t=t.DateTime.fromISO(o,c),this.#t.isValid||(this.#t=t.DateTime.fromRFC2822(o,c)),this.#t.isValid||(this.#t=t.DateTime.fromSQL(o,c)),this.#t.isValid||(this.#t=t.DateTime.fromFormat(o,"EEE, d MMM yyyy HH:mm:ss",c))):this.#t=t.DateTime.local(),!this.#t.isValid)throw new Error(`CronDate: unhandled timestamp: ${o}`);l&&l!==this.#t.zoneName&&(this.#t=this.#t.setZone(l))}static#i(o){return o%4===0&&o%100!==0||o%400===0}get dstStart(){return this.#s}set dstStart(o){this.#s=o}get dstEnd(){return this.#r}set dstEnd(o){this.#r=o}addYear(){this.#t=this.#t.plus({years:1})}addMonth(){this.#t=this.#t.plus({months:1}).startOf("month")}addDay(){this.#t=this.#t.plus({days:1}).startOf("day")}addHour(){this.#t=this.#t.plus({hours:1}).startOf("hour")}addMinute(){this.#t=this.#t.plus({minutes:1}).startOf("minute")}addSecond(){this.#t=this.#t.plus({seconds:1})}subtractYear(){this.#t=this.#t.minus({years:1})}subtractMonth(){this.#t=this.#t.minus({months:1}).endOf("month").startOf("second")}subtractDay(){this.#t=this.#t.minus({days:1}).endOf("day").startOf("second")}subtractHour(){this.#t=this.#t.minus({hours:1}).endOf("hour").startOf("second")}subtractMinute(){this.#t=this.#t.minus({minutes:1}).endOf("minute").startOf("second")}subtractSecond(){this.#t=this.#t.minus({seconds:1})}addUnit(o){this.#n.add[o]()}subtractUnit(o){this.#n.subtract[o]()}invokeDateOperation(o,l){if(o===s.Add){this.addUnit(l);return}if(o===s.Subtract){this.subtractUnit(l);return}throw new Error(`Invalid verb: ${o}`)}getDate(){return this.#t.day}getFullYear(){return this.#t.year}getDay(){const o=this.#t.weekday;return o===7?0:o}getMonth(){return this.#t.month-1}getHours(){return this.#t.hour}getMinutes(){return this.#t.minute}getSeconds(){return this.#t.second}getMilliseconds(){return this.#t.millisecond}getUTCOffset(){return this.#t.offset}setStartOfDay(){this.#t=this.#t.startOf("day")}setEndOfDay(){this.#t=this.#t.endOf("day")}getTime(){return this.#t.valueOf()}getUTCDate(){return this.#e().day}getUTCFullYear(){return this.#e().year}getUTCDay(){const o=this.#e().weekday;return o===7?0:o}getUTCMonth(){return this.#e().month-1}getUTCHours(){return this.#e().hour}getUTCMinutes(){return this.#e().minute}getUTCSeconds(){return this.#e().second}toISOString(){return this.#t.toUTC().toISO()}toJSON(){return this.#t.toJSON()}setDate(o){this.#t=this.#t.set({day:o})}setFullYear(o){this.#t=this.#t.set({year:o})}setDay(o){this.#t=this.#t.set({weekday:o})}setMonth(o){this.#t=this.#t.set({month:o+1})}setHours(o){this.#t=this.#t.set({hour:o})}setMinutes(o){this.#t=this.#t.set({minute:o})}setSeconds(o){this.#t=this.#t.set({second:o})}setMilliseconds(o){this.#t=this.#t.set({millisecond:o})}toString(){return this.toDate().toString()}toDate(){return this.#t.toJSDate()}isLastDayOfMonth(){const{day:o,month:l}=this.#t;if(l===2){const c=r.#i(this.#t.year);return o===n.DAYS_IN_MONTH[l-1]-(c?0:1)}return o===n.DAYS_IN_MONTH[l-1]}isLastWeekdayOfMonth(){const{day:o,month:l}=this.#t;let c;return l===2?c=n.DAYS_IN_MONTH[l-1]-(r.#i(this.#t.year)?0:1):c=n.DAYS_IN_MONTH[l-1],o>c-7}applyDateOperation(o,l,c){if(l===e.Month||l===e.Day){this.invokeDateOperation(o,l);return}const h=this.getHours();this.invokeDateOperation(o,l);const p=this.getHours(),u=p-h;u===2?c!==24&&(this.dstStart=p):u===0&&this.getMinutes()===0&&this.getSeconds()===0&&c!==24&&(this.dstEnd=p)}#e(){return this.#t.toUTC()}}n.CronDate=r,n.default=r})(ke);Object.defineProperty(Ce,"__esModule",{value:!0});Ce.CronMonth=void 0;const bo=ke,Oo=pt,Do=1,To=12,Mo=Object.freeze([]);class Io extends Oo.CronField{static get min(){return Do}static get max(){return To}static get chars(){return Mo}static get daysInMonth(){return bo.DAYS_IN_MONTH}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}}Ce.CronMonth=Io;var Me={};Object.defineProperty(Me,"__esModule",{value:!0});Me.CronSecond=void 0;const Eo=pt,jo=0,No=59,_o=Object.freeze([]);class Fo extends Eo.CronField{static get min(){return jo}static get max(){return No}static get chars(){return _o}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}}Me.CronSecond=Fo;(function(n){var t=wt&&wt.__createBinding||(Object.create?(function(s,r,i,o){o===void 0&&(o=i);var l=Object.getOwnPropertyDescriptor(r,i);(!l||("get"in l?!r.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return r[i]}}),Object.defineProperty(s,o,l)}):(function(s,r,i,o){o===void 0&&(o=i),s[o]=r[i]})),e=wt&&wt.__exportStar||function(s,r){for(var i in s)i!=="default"&&!Object.prototype.hasOwnProperty.call(r,i)&&t(r,s,i)};Object.defineProperty(n,"__esModule",{value:!0}),e(Us,n),e(xe,n),e(ve,n),e(pt,n),e(we,n),e(Se,n),e(Ce,n),e(Me,n)})(wt);Object.defineProperty(Kt,"__esModule",{value:!0});Kt.CronFieldCollection=void 0;const J=wt;class Ft{#t;#s;#r;#n;#i;#e;static from(t,e){return new Ft({second:this.resolveField(J.CronSecond,t.second,e.second),minute:this.resolveField(J.CronMinute,t.minute,e.minute),hour:this.resolveField(J.CronHour,t.hour,e.hour),dayOfMonth:this.resolveField(J.CronDayOfMonth,t.dayOfMonth,e.dayOfMonth),month:this.resolveField(J.CronMonth,t.month,e.month),dayOfWeek:this.resolveField(J.CronDayOfWeek,t.dayOfWeek,e.dayOfWeek)})}static resolveField(t,e,s){return s?s instanceof J.CronField?s:new t(s):e}constructor({second:t,minute:e,hour:s,dayOfMonth:r,month:i,dayOfWeek:o}){if(!t)throw new Error("Validation error, Field second is missing");if(!e)throw new Error("Validation error, Field minute is missing");if(!s)throw new Error("Validation error, Field hour is missing");if(!r)throw new Error("Validation error, Field dayOfMonth is missing");if(!i)throw new Error("Validation error, Field month is missing");if(!o)throw new Error("Validation error, Field dayOfWeek is missing");if(i.values.length===1&&!r.hasLastChar&&!(parseInt(r.values[0],10)<=J.CronMonth.daysInMonth[i.values[0]-1]))throw new Error("Invalid explicit day of month definition");this.#t=t,this.#s=e,this.#r=s,this.#i=i,this.#e=o,this.#n=r}get second(){return this.#t}get minute(){return this.#s}get hour(){return this.#r}get dayOfMonth(){return this.#n}get month(){return this.#i}get dayOfWeek(){return this.#e}static compactField(t){if(t.length===0)return[];const e=[];let s;return t.forEach((r,i,o)=>{if(s===void 0){s={start:r,count:1};return}const l=o[i-1]||s.start,c=o[i+1];if(r==="L"||r==="W"){e.push(s),e.push({start:r,count:1}),s=void 0;return}if(s.step===void 0&&c!==void 0){const h=r-l,p=c-r;if(h<=p){s={...s,count:2,end:r,step:h};return}s.step=1}r-(s.end??0)===s.step?(s.count++,s.end=r):(s.count===1?e.push({start:s.start,count:1}):s.count===2?(e.push({start:s.start,count:1}),e.push({start:s.end??l,count:1})):e.push(s),s={start:r,count:1})}),s&&e.push(s),e}static#c(t,e,s){const r=e.step;return r?r===1&&e.start===t.min&&e.end&&e.end>=s?t.hasQuestionMarkChar?"?":"*":r!==1&&e.start===t.min&&e.end&&e.end>=s-r+1?`*/${r}`:null:null}static#l(t,e){const s=t.step;if(s===1)return`${t.start}-${t.end}`;const r=t.start===0?t.count-1:t.count;if(!s)throw new Error("Unexpected range step");if(!t.end)throw new Error("Unexpected range end");if(s*r>t.end){const i=(l,c)=>{if(typeof t.start!="number")throw new Error("Unexpected range start");return c%s===0?t.start+c:null};if(typeof t.start!="number")throw new Error("Unexpected range start");const o={length:t.end-t.start+1};return Array.from(o,i).filter(l=>l!==null).join(",")}return t.end===e-s+1?`${t.start}/${s}`:`${t.start}-${t.end}/${s}`}stringifyField(t){let e=t.max,s=t.values;if(t instanceof J.CronDayOfWeek){e=6;const i=this.#e.values;s=i[i.length-1]===7?i.slice(0,-1):i}t instanceof J.CronDayOfMonth&&(e=this.#i.values.length===1?J.CronMonth.daysInMonth[this.#i.values[0]-1]:t.max);const r=Ft.compactField(s);if(r.length===1){const i=Ft.#c(t,r[0],e);if(i)return i}return r.map(i=>{const o=i.count===1?i.start.toString():Ft.#l(i,e);return t instanceof J.CronDayOfWeek&&t.nthDay>0?`${o}#${t.nthDay}`:o}).join(",")}stringify(t=!1){const e=[];return t&&e.push(this.stringifyField(this.#t)),e.push(this.stringifyField(this.#s),this.stringifyField(this.#r),this.stringifyField(this.#n),this.stringifyField(this.#i),this.stringifyField(this.#e)),e.join(" ")}serialize(){return{second:this.#t.serialize(),minute:this.#s.serialize(),hour:this.#r.serialize(),dayOfMonth:this.#n.serialize(),month:this.#i.serialize(),dayOfWeek:this.#e.serialize()}}}Kt.CronFieldCollection=Ft;var us={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.CronExpression=n.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE=n.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE=void 0;const t=ke;n.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE="Out of the time span range",n.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE="Invalid expression, loop limit exceeded";const e=1e4;class s{#t;#s;#r;#n;#i;#e;#c=null;#l=!1;constructor(i,o){this.#t=o,this.#s=o.tz,this.#n=o.startDate?new t.CronDate(o.startDate,this.#s):null,this.#i=o.endDate?new t.CronDate(o.endDate,this.#s):null;let l=o.currentDate??o.startDate;if(l){const c=new t.CronDate(l,this.#s);this.#n&&c.getTime()<this.#n.getTime()?l=this.#n:this.#i&&c.getTime()>this.#i.getTime()&&(l=this.#i)}this.#r=new t.CronDate(l,this.#s),this.#e=i}get fields(){return this.#e}static fieldsToExpression(i,o){return new s(i,o||{})}static#o(i,o){return o.some(l=>l===i)}#a(i,o){return i[o?i.length-1:0]}#d(i){const o=`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`;if(this.#c===o)return this.#l;const l=new t.CronDate(i);l.setStartOfDay();const c=new t.CronDate(i);return c.setEndOfDay(),this.#c=o,this.#l=l.getUTCOffset()!==c.getUTCOffset(),this.#l}#h(i,o,l){const c=this.#e.second.values,h=i.getSeconds(),p=this.#e.second.findNearestValue(h,l);if(p!==null){i.setSeconds(p);return}i.applyDateOperation(o,t.TimeUnit.Minute,this.#e.hour.values.length),i.setSeconds(this.#a(c,l))}#m(i,o,l){const c=this.#e.minute.values,h=this.#e.second.values,p=i.getMinutes(),u=this.#e.minute.findNearestValue(p,l);if(u!==null){i.setMinutes(u),i.setSeconds(this.#a(h,l));return}i.applyDateOperation(o,t.TimeUnit.Hour,this.#e.hour.values.length),i.setMinutes(this.#a(c,l)),i.setSeconds(this.#a(h,l))}static#f(i,o){const l=o.isLastWeekdayOfMonth();return i.some(c=>{const h=parseInt(c.toString().charAt(0),10)%7;if(Number.isNaN(h))throw new Error(`Invalid last weekday of the month expression: ${c}`);return o.getDay()===h&&l})}next(){return this.#u()}prev(){return this.#u(!0)}hasNext(){const i=this.#r;try{return this.#u(),!0}catch{return!1}finally{this.#r=i}}hasPrev(){const i=this.#r;try{return this.#u(!0),!0}catch{return!1}finally{this.#r=i}}take(i){const o=[];if(i>=0)for(let l=0;l<i;l++)try{o.push(this.next())}catch{return o}else for(let l=0;l>i;l--)try{o.push(this.prev())}catch{return o}return o}reset(i){this.#r=new t.CronDate(i||this.#t.currentDate)}stringify(i=!1){return this.#e.stringify(i)}includesDate(i){const{second:o,minute:l,hour:c,month:h}=this.#e,p=new t.CronDate(i,this.#s);return!(!o.values.includes(p.getSeconds())||!l.values.includes(p.getMinutes())||!c.values.includes(p.getHours())||!h.values.includes(p.getMonth()+1)||!this.#p(p)||this.#e.dayOfWeek.nthDay>0&&Math.ceil(p.getDate()/7)!==this.#e.dayOfWeek.nthDay)}toString(){return this.#t.expression||this.stringify(!0)}#p(i){const o=this.#e.dayOfMonth.isWildcard,l=!o,c=this.#e.dayOfWeek.isWildcard,h=!c,p=s.#o(i.getDate(),this.#e.dayOfMonth.values)||this.#e.dayOfMonth.hasLastChar&&i.isLastDayOfMonth(),u=s.#o(i.getDay(),this.#e.dayOfWeek.values)||this.#e.dayOfWeek.hasLastChar&&s.#f(this.#e.dayOfWeek.values,i);return!!(l&&h&&(p||u)||p&&!h||o&&!c&&u)}#g(i,o,l){const c=this.#e.hour.values,h=c,p=i.getHours(),u=s.#o(p,c),f=i.dstStart===p,m=i.dstEnd===p;if(f)return s.#o(p-1,c)?!0:(i.invokeDateOperation(o,t.TimeUnit.Hour),!1);if(m&&!l)return i.dstEnd=null,i.applyDateOperation(t.DateMathOp.Add,t.TimeUnit.Hour,h.length),!1;if(u)return!0;i.dstStart=null;const g=this.#e.hour.findNearestValue(p,l);if(g===null)return i.applyDateOperation(o,t.TimeUnit.Day,h.length),!1;if(this.#d(i)){const S=l?p-g:g-p;for(let v=0;v<S;v++)i.applyDateOperation(o,t.TimeUnit.Hour,h.length)}else i.setHours(g);return i.setMinutes(this.#a(this.#e.minute.values,l)),i.setSeconds(this.#a(this.#e.second.values,l)),!1}#y(i){if(!this.#n&&!this.#i)return;const o=i.getTime();if(this.#n&&o<this.#n.getTime())throw new Error(n.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE);if(this.#i&&o>this.#i.getTime())throw new Error(n.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE)}#u(i=!1){const o=i?t.DateMathOp.Subtract:t.DateMathOp.Add,l=new t.CronDate(this.#r),c=l.getTime();let h=0;for(;++h<e;){if(this.#y(l),!this.#p(l)){l.applyDateOperation(o,t.TimeUnit.Day,this.#e.hour.values.length);continue}if(!(this.#e.dayOfWeek.nthDay<=0||Math.ceil(l.getDate()/7)===this.#e.dayOfWeek.nthDay)){l.applyDateOperation(o,t.TimeUnit.Day,this.#e.hour.values.length);continue}if(!s.#o(l.getMonth()+1,this.#e.month.values)){l.applyDateOperation(o,t.TimeUnit.Month,this.#e.hour.values.length);continue}if(this.#g(l,o,i)){if(!s.#o(l.getMinutes(),this.#e.minute.values)){this.#m(l,o,i);continue}if(!s.#o(l.getSeconds(),this.#e.second.values)){this.#h(l,o,i);continue}if(c===l.getTime()){(o==="Add"||l.getMilliseconds()===0)&&l.applyDateOperation(o,t.TimeUnit.Second,this.#e.hour.values.length);continue}break}}if(h>e)throw new Error(n.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE);return l.getMilliseconds()!==0&&l.setMilliseconds(0),this.#r=l,l}[Symbol.iterator](){return{next:()=>({value:this.#u(),done:!this.hasNext()})}}}n.CronExpression=s,n.default=s})(us);var ds={};Object.defineProperty(ds,"__esModule",{value:!0});ds.seededRandom=Ao;function Lo(n){let t=2166136261;for(let e=0;e<n.length;e++)t^=n.charCodeAt(e),t=Math.imul(t,16777619);return()=>t>>>0}function Wo(n){return()=>{let t=n+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}}function Ao(n){const t=n?Lo(n)():Math.floor(Math.random()*1e10);return Wo(t)}Object.defineProperty(G,"__esModule",{value:!0});G.CronExpressionParser=G.DayOfWeek=G.Months=G.CronUnit=G.PredefinedExpressions=void 0;const $o=Kt,Ro=us,Ho=ds,K=wt;var Ke;(function(n){n["@yearly"]="0 0 0 1 1 *",n["@annually"]="0 0 0 1 1 *",n["@monthly"]="0 0 0 1 * *",n["@weekly"]="0 0 0 * * 0",n["@daily"]="0 0 0 * * *",n["@hourly"]="0 0 * * * *",n["@minutely"]="0 * * * * *",n["@secondly"]="* * * * * *",n["@weekdays"]="0 0 0 * * 1-5",n["@weekends"]="0 0 0 * * 0,6"})(Ke||(G.PredefinedExpressions=Ke={}));var Q;(function(n){n.Second="Second",n.Minute="Minute",n.Hour="Hour",n.DayOfMonth="DayOfMonth",n.Month="Month",n.DayOfWeek="DayOfWeek"})(Q||(G.CronUnit=Q={}));var Qe;(function(n){n[n.jan=1]="jan",n[n.feb=2]="feb",n[n.mar=3]="mar",n[n.apr=4]="apr",n[n.may=5]="may",n[n.jun=6]="jun",n[n.jul=7]="jul",n[n.aug=8]="aug",n[n.sep=9]="sep",n[n.oct=10]="oct",n[n.nov=11]="nov",n[n.dec=12]="dec"})(Qe||(G.Months=Qe={}));var ts;(function(n){n[n.sun=0]="sun",n[n.mon=1]="mon",n[n.tue=2]="tue",n[n.wed=3]="wed",n[n.thu=4]="thu",n[n.fri=5]="fri",n[n.sat=6]="sat"})(ts||(G.DayOfWeek=ts={}));class z{static parse(t,e={}){const{strict:s=!1,hashSeed:r}=e,i=(0,Ho.seededRandom)(r);t=Ke[t]||t;const o=z.#t(t,s);if(!(o.dayOfMonth==="*"||o.dayOfWeek==="*"||!s))throw new Error("Cannot use both dayOfMonth and dayOfWeek together in strict mode!");const l=z.#s(Q.Second,o.second,K.CronSecond.constraints,i),c=z.#s(Q.Minute,o.minute,K.CronMinute.constraints,i),h=z.#s(Q.Hour,o.hour,K.CronHour.constraints,i),p=z.#s(Q.Month,o.month,K.CronMonth.constraints,i),u=z.#s(Q.DayOfMonth,o.dayOfMonth,K.CronDayOfMonth.constraints,i),{dayOfWeek:f,nthDayOfWeek:m}=z.#d(o.dayOfWeek),g=z.#s(Q.DayOfWeek,f,K.CronDayOfWeek.constraints,i),S=new $o.CronFieldCollection({second:new K.CronSecond(l,{rawValue:o.second}),minute:new K.CronMinute(c,{rawValue:o.minute}),hour:new K.CronHour(h,{rawValue:o.hour}),dayOfMonth:new K.CronDayOfMonth(u,{rawValue:o.dayOfMonth}),month:new K.CronMonth(p,{rawValue:o.month}),dayOfWeek:new K.CronDayOfWeek(g,{rawValue:o.dayOfWeek,nthDayOfWeek:m})});return new Ro.CronExpression(S,{...e,expression:t})}static#t(t,e){if(e&&!t.length)throw new Error("Invalid cron expression");t=t||"0 * * * * *";const s=t.trim().split(/\s+/);if(e&&s.length<6)throw new Error("Invalid cron expression, expected 6 fields");if(s.length>6)throw new Error("Invalid cron expression, too many fields");const r=["*","*","*","*","*","0"];s.length<r.length&&s.unshift(...r.slice(s.length));const[i,o,l,c,h,p]=s;return{second:i,minute:o,hour:l,dayOfMonth:c,month:h,dayOfWeek:p}}static#s(t,e,s,r){if((t===Q.Month||t===Q.DayOfWeek)&&(e=e.replace(/[a-z]{3}/gi,i=>{i=i.toLowerCase();const o=Qe[i]||ts[i];if(o===void 0)throw new Error(`Validation error, cannot resolve alias "${i}"`);return o.toString()})),!s.validChars.test(e))throw new Error(`Invalid characters, got value: ${e}`);return e=this.#r(e,s),e=this.#n(e,s,r),this.#i(t,e,s)}static#r(t,e){return t.replace(/[*?]/g,e.min+"-"+e.max)}static#n(t,e,s){const r=s();return t.replace(/H(?:\((\d+)-(\d+)\))?(?:\/(\d+))?/g,(i,o,l,c)=>{if(o&&l&&c){const h=parseInt(o,10),p=parseInt(l,10),u=parseInt(c,10);if(h>p)throw new Error(`Invalid range: ${h}-${p}, min > max`);if(u<=0)throw new Error(`Invalid step: ${u}, must be positive`);const f=Math.max(h,e.min),m=Math.floor(r*u),g=[];for(let S=Math.floor(f/u)*u+m;S<=p;S+=u)S>=f&&g.push(S);return g.join(",")}else if(o&&l){const h=parseInt(o,10),p=parseInt(l,10);if(h>p)throw new Error(`Invalid range: ${h}-${p}, min > max`);return String(Math.floor(r*(p-h+1))+h)}else if(c){const h=parseInt(c,10);if(h<=0)throw new Error(`Invalid step: ${h}, must be positive`);const p=Math.floor(r*h),u=[];for(let f=Math.floor(e.min/h)*h+p;f<=e.max;f+=h)f>=e.min&&u.push(f);return u.join(",")}else return String(Math.floor(r*(e.max-e.min+1)+e.min))})}static#i(t,e,s){const r=[];function i(l,c){if(Array.isArray(l))r.push(...l);else if(z.#h(c,l))r.push(l);else{const h=parseInt(l.toString(),10);if(!(h>=c.min&&h<=c.max))throw new Error(`Constraint error, got value ${l} expected range ${c.min}-${c.max}`);r.push(t===Q.DayOfWeek?h%7:l)}}return e.split(",").forEach(l=>{if(!(l.length>0))throw new Error("Invalid list value format");i(z.#e(t,l,s),s)}),r}static#e(t,e,s){const r=e.split("/");if(r.length>2)throw new Error(`Invalid repeat: ${e}`);return r.length===2?(isNaN(parseInt(r[0],10))||(r[0]=`${r[0]}-${s.max}`),z.#a(t,r[0],parseInt(r[1],10),s)):z.#a(t,e,1,s)}static#c(t,e,s){if(!(!isNaN(t)&&!isNaN(e)&&t>=s.min&&e<=s.max))throw new Error(`Constraint error, got range ${t}-${e} expected range ${s.min}-${s.max}`);if(t>e)throw new Error(`Invalid range: ${t}-${e}, min(${t}) > max(${e})`)}static#l(t){if(!(!isNaN(t)&&t>0))throw new Error(`Constraint error, cannot repeat at every ${t} time.`)}static#o(t,e,s,r){const i=[];t===Q.DayOfWeek&&s%7===0&&i.push(0);for(let o=e;o<=s;o+=r)i.indexOf(o)===-1&&i.push(o);return i}static#a(t,e,s,r){const i=e.split("-");if(i.length<=1)return isNaN(+e)?e:+e;const[o,l]=i.map(c=>parseInt(c,10));return this.#c(o,l,r),this.#l(s),this.#o(t,o,l,s)}static#d(t){const e=t.split("#");if(e.length<=1)return{dayOfWeek:e[0]};const s=+e[e.length-1],r=t.match(/([,-/])/);if(r!==null)throw new Error(`Constraint error, invalid dayOfWeek \`#\` and \`${r==null?void 0:r[0]}\` special characters are incompatible`);if(!(e.length<=2&&!isNaN(s)&&s>=1&&s<=5))throw new Error("Constraint error, invalid dayOfWeek occurrence number (#)");return{dayOfWeek:e[0],nthDayOfWeek:s}}static#h(t,e){return t.chars.some(s=>e.toString().includes(s))}}G.CronExpressionParser=z;var ht={},Vo=ht&&ht.__createBinding||(Object.create?(function(n,t,e,s){s===void 0&&(s=e);var r=Object.getOwnPropertyDescriptor(t,e);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(n,s,r)}):(function(n,t,e,s){s===void 0&&(s=e),n[s]=t[e]})),Po=ht&&ht.__setModuleDefault||(Object.create?(function(n,t){Object.defineProperty(n,"default",{enumerable:!0,value:t})}):function(n,t){n.default=t}),Bo=ht&&ht.__importStar||(function(){var n=function(t){return n=Object.getOwnPropertyNames||function(e){var s=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(s[s.length]=r);return s},n(t)};return function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var s=n(t),r=0;r<s.length;r++)s[r]!=="default"&&Vo(e,t,s[r]);return Po(e,t),e}})();Object.defineProperty(ht,"__esModule",{value:!0});ht.CronFileParser=void 0;const Uo=G;class Xt{static async parseFile(t){const{readFile:e}=await Promise.resolve().then(()=>Bo(hs)),s=await e(t,"utf8");return Xt.#t(s)}static parseFileSync(t){const{readFileSync:e}=hs,s=e(t,"utf8");return Xt.#t(s)}static#t(t){const e=t.split(`
2
- `),s={variables:{},expressions:[],errors:{}};for(const r of e){const i=r.trim();if(i.length===0||i.startsWith("#"))continue;const o=i.match(/^(.*)=(.*)$/);if(o){const[,l,c]=o;s.variables[l]=c.replace(/["']/g,"");continue}try{const l=Xt.#s(i);s.expressions.push(l.interval)}catch(l){s.errors[i]=l}}return s}static#s(t){const e=t.split(" ");return{interval:Uo.CronExpressionParser.parse(e.slice(0,5).join(" ")),command:e.slice(5,e.length)}}}ht.CronFileParser=Xt;(function(n){var t=Nt&&Nt.__createBinding||(Object.create?(function(h,p,u,f){f===void 0&&(f=u);var m=Object.getOwnPropertyDescriptor(p,u);(!m||("get"in m?!p.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:function(){return p[u]}}),Object.defineProperty(h,f,m)}):(function(h,p,u,f){f===void 0&&(f=u),h[f]=p[u]})),e=Nt&&Nt.__exportStar||function(h,p){for(var u in h)u!=="default"&&!Object.prototype.hasOwnProperty.call(p,u)&&t(p,h,u)};Object.defineProperty(n,"__esModule",{value:!0}),n.CronFileParser=n.CronExpressionParser=n.CronExpression=n.CronFieldCollection=n.CronDate=void 0;const s=G;var r=ke;Object.defineProperty(n,"CronDate",{enumerable:!0,get:function(){return r.CronDate}});var i=Kt;Object.defineProperty(n,"CronFieldCollection",{enumerable:!0,get:function(){return i.CronFieldCollection}});var o=us;Object.defineProperty(n,"CronExpression",{enumerable:!0,get:function(){return o.CronExpression}});var l=G;Object.defineProperty(n,"CronExpressionParser",{enumerable:!0,get:function(){return l.CronExpressionParser}});var c=ht;Object.defineProperty(n,"CronFileParser",{enumerable:!0,get:function(){return c.CronFileParser}}),e(wt,n),n.default=s.CronExpressionParser})(Nt);var zo={exports:{}};(function(n,t){(function(s,r){n.exports=r(Bs)})(globalThis,e=>(()=>{var s={93(u){u.exports=e}},r={};function i(u){var f=r[u];if(f!==void 0)return f.exports;var m=r[u]={exports:{}};return s[u](m,m.exports,i),m.exports}i.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return i.d(f,{a:f}),f},i.d=(u,f)=>{for(var m in f)i.o(f,m)&&!i.o(u,m)&&Object.defineProperty(u,m,{enumerable:!0,get:f[m]})},i.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),i.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var o={};i.r(o);var l=i(93),c=i.n(l),h=o;Object.defineProperty(h,"__esModule",{value:!0}),h.en=void 0;var p=(function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!1},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occurred when generating the expression description. Check the cron expression syntax."},u.prototype.everyMinute=function(){return"every minute"},u.prototype.everyHour=function(){return"every hour"},u.prototype.atSpace=function(){return"At "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},u.prototype.at=function(){return"At"},u.prototype.spaceAnd=function(){return" and"},u.prototype.everySecond=function(){return"every second"},u.prototype.everyX0Seconds=function(){return"every %s seconds"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},u.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},u.prototype.everyX0Minutes=function(){return"every %s minutes"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},u.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},u.prototype.everyX0Hours=function(){return"every %s hours"},u.prototype.betweenX0AndX1=function(){return"between %s and %s"},u.prototype.atX0=function(){return"at %s"},u.prototype.commaEveryDay=function(){return", every day"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},u.prototype.commaX0ThroughX1=function(){return", %s through %s"},u.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},u.prototype.first=function(){return"first"},u.prototype.second=function(){return"second"},u.prototype.third=function(){return"third"},u.prototype.fourth=function(){return"fourth"},u.prototype.fifth=function(){return"fifth"},u.prototype.commaOnThe=function(){return", on the "},u.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},u.prototype.lastDay=function(){return"the last day"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},u.prototype.commaOnlyOnX0=function(){return", only on %s"},u.prototype.commaAndOnX0=function(){return", and on %s"},u.prototype.commaEveryX0Months=function(){return", every %s months"},u.prototype.commaOnlyInX0=function(){return", only in %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},u.prototype.firstWeekday=function(){return"first weekday"},u.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},u.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},u.prototype.commaEveryX0Days=function(){return", every %s days in a month"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},u.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},u.prototype.commaEveryHour=function(){return", every hour"},u.prototype.commaEveryX0Years=function(){return", every %s years"},u.prototype.commaStartingX0=function(){return", starting %s"},u.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},u.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},u.prototype.atReboot=function(){return"Run once, at startup"},u.prototype.onTheHour=function(){return"on the hour"},u})();return h.en=p,c().locales.en=new p,o})())})(zo);var Go={exports:{}};(function(n,t){(function(s,r){n.exports=r(Bs)})(globalThis,e=>(()=>{var s={93(u){u.exports=e}},r={};function i(u){var f=r[u];if(f!==void 0)return f.exports;var m=r[u]={exports:{}};return s[u](m,m.exports,i),m.exports}i.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return i.d(f,{a:f}),f},i.d=(u,f)=>{for(var m in f)i.o(f,m)&&!i.o(u,m)&&Object.defineProperty(u,m,{enumerable:!0,get:f[m]})},i.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),i.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var o={};i.r(o);var l=i(93),c=i.n(l),h=o;Object.defineProperty(h,"__esModule",{value:!0}),h.nl=void 0;var p=(function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.everyMinute=function(){return"elke minuut"},u.prototype.everyHour=function(){return"elk uur"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Er is een fout opgetreden bij het vertalen van de gegevens. Controleer de gegevens."},u.prototype.atSpace=function(){return"Om "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Elke minuut tussen %s en %s"},u.prototype.at=function(){return"Om"},u.prototype.spaceAnd=function(){return" en"},u.prototype.everySecond=function(){return"elke seconde"},u.prototype.everyX0Seconds=function(){return"elke %s seconden"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconden %s t/m %s na de minuut"},u.prototype.atX0SecondsPastTheMinute=function(){return"op %s seconden na de minuut"},u.prototype.everyX0Minutes=function(){return"elke %s minuten"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuut %s t/m %s na het uur"},u.prototype.atX0MinutesPastTheHour=function(){return"op %s minuten na het uur"},u.prototype.everyX0Hours=function(){return"elke %s uur"},u.prototype.betweenX0AndX1=function(){return"tussen %s en %s"},u.prototype.atX0=function(){return"om %s"},u.prototype.commaEveryDay=function(){return", elke dag"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", elke %s dagen van de week"},u.prototype.commaX0ThroughX1=function(){return", %s t/m %s"},u.prototype.commaAndX0ThroughX1=function(){return", en %s t/m %s"},u.prototype.first=function(){return"eerste"},u.prototype.second=function(){return"tweede"},u.prototype.third=function(){return"derde"},u.prototype.fourth=function(){return"vierde"},u.prototype.fifth=function(){return"vijfde"},u.prototype.commaOnThe=function(){return", op de "},u.prototype.spaceX0OfTheMonth=function(){return" %s van de maand"},u.prototype.lastDay=function(){return"de laatste dag"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", op de laatste %s van de maand"},u.prototype.commaOnlyOnX0=function(){return", alleen op %s"},u.prototype.commaAndOnX0=function(){return", en op %s"},u.prototype.commaEveryX0Months=function(){return", elke %s maanden"},u.prototype.commaOnlyInX0=function(){return", alleen in %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", op de laatste dag van de maand"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", op de laatste werkdag van de maand"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dagen vóór de laatste dag van de maand"},u.prototype.firstWeekday=function(){return"eerste werkdag"},u.prototype.weekdayNearestDayX0=function(){return"werkdag dichtst bij dag %s"},u.prototype.commaOnTheX0OfTheMonth=function(){return", op de %s van de maand"},u.prototype.commaEveryX0Days=function(){return", elke %s dagen"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tussen dag %s en %s van de maand"},u.prototype.commaOnDayX0OfTheMonth=function(){return", op dag %s van de maand"},u.prototype.commaEveryX0Years=function(){return", elke %s jaren"},u.prototype.commaStartingX0=function(){return", beginnend %s"},u.prototype.daysOfTheWeek=function(){return["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},u.prototype.monthsOfTheYear=function(){return["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"]},u.prototype.onTheHour=function(){return"op het hele uur"},u})();return h.nl=p,c().locales.nl=new p,o})())})(Go);const le={nowrap:{flexFlow:"nowrap",overflow:"hidden"},width:{width:"100%",overflow:"hidden"},tooltip:{pointerEvents:"none"}},at=n=>a.jsxs(d.Grid2,{container:!0,title:n.icon?"":n.tooltip||"",alignItems:"center",direction:"row",spacing:1,style:le.nowrap,children:[n.icon&&a.jsx(d.Grid2,{style:{minWidth:24},children:a.jsx(d.Tooltip,{title:n.tooltip||"",slotProps:{popper:{sx:le.tooltip}},children:n.icon})}),a.jsx(d.Grid2,{style:le.width,children:a.jsx(d.Tooltip,{title:n.tooltip||"",slotProps:{popper:{sx:le.tooltip}},children:a.jsx(d.Typography,{component:"div",style:n.style,children:n.children})})})]}),Zo="data:image/svg+xml,%3csvg%20width='256'%20height='230'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M251.22%20187.856c5.785%2010.045%206.345%2020.608%201.538%2028.958-4.8%208.357-14.192%2013.143-25.768%2013.143h-21.816c.259-4.068.431-8.17.431-12.302%200-4.628-.215-9.198-.531-13.754l14.35-.014c3.528%200%206.38-2.867%206.38-6.403a6.46%206.46%200%200%200-.768-3.053l-91.46-158.97a6.349%206.349%200%200%200-5.54-3.24%206.374%206.374%200%200%200-5.461%203.09l-14.522%2025.243c44.134%2033.27%2073.804%2084.813%2077.864%20143.333.316%204.548.531%209.119.531%2013.753%200%204.132-.172%208.228-.424%2012.302h-71.246c.388-4.053.611-8.148.611-12.302%200-4.649-.273-9.233-.776-13.753-3.52-32.206-19.286-60.748-42.503-80.89l-10.003%2017.376c17.54%2016.325%2029.512%2038.558%2032.767%2063.514.59%204.505.92%209.09.92%2013.753%200%204.154-.273%208.264-.74%2012.302H29.01c-11.576%200-20.968-4.793-25.768-13.15-4.807-8.35-4.247-18.905%201.538-28.958l13.56-23.238a79.42%2079.42%200%200%201%2020.715%2016.052l-8.083%2013.768a6.523%206.523%200%200%200-.77%203.054%206.383%206.383%200%200%200%206.382%206.395l32.033.015c-2.687-15.356-9.772-29.21-19.918-40.183-5.979-6.445-12.963-11.9-20.738-16.074l35.77-62.15a151.427%20151.427%200%200%201%2021.564%2014.624c30.827%2025.013%2051.644%2061.955%2055.416%20103.776h19.172c-3.91-48.892-28.477-92.006-64.937-120.548a171.205%20171.205%200%200%200-21.672-14.457l30.532-53.045C109.583%205.77%20118.42%200%20128.036%200c9.607%200%2018.438%205.77%2024.223%2015.823l98.961%20172.033z'%20fill='%23FB2D26'/%3e%3cline%20stroke-width='33'%20y2='223'%20x2='250.40002'%20y1='8'%20x1='6.40002'%20stroke='%23FB2D26'%20fill='none'/%3e%3cline%20stroke-width='32'%20y2='224'%20x2='8.40002'%20y1='7'%20x1='247.40002'%20stroke='%23FB2D26'%20fill='none'/%3e%3c/svg%3e",Yo={img:{width:"100%",height:"100%"}};class qo extends ft.Component{render(){if(!this.props.links||!this.props.links.length)return null;const t=this.props.links[0].port,e=this.props.links.find(s=>s.port!==t);return a.jsxs(d.Dialog,{onClose:()=>this.props.onClose(),open:!0,children:[a.jsx(d.DialogTitle,{style:{padding:"8px 0 0 0",textAlign:"center"},children:this.props.t("Links")}),a.jsx(d.List,{children:this.props.links.map(s=>a.jsxs(d.ListItemButton,{style:s.color?{backgroundColor:s.color,color:b.Utils.getInvertedColor(s.color,this.props.themeType,!0)}:{},onClick:r=>{r.stopPropagation();let i=s.link;i=i.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),window.open(i,this.props.instanceId),this.props.onClose()},children:[a.jsx(d.ListItemAvatar,{children:a.jsx(d.Avatar,{variant:"rounded",children:a.jsx("img",{style:Yo.img,src:this.props.image,alt:this.props.instanceId})})}),a.jsx(d.ListItemText,{primary:ct.getText(s.name,b.I18n.getLanguage())+(e?` [:${s.port}]`:"")})]},ct.getText(s.name,b.I18n.getLanguage())))})]})}}const Xo=["silly","debug","info","warn","error"],$e=[{value:1,desc:"1: Logic adapters"},{value:2,desc:"2: Data provider adapters"},{value:3,desc:"3: Other adapters"}],Jo="0 2px 2px 0 rgba(0, 0, 0, .14),0 3px 1px -2px rgba(0, 0, 0, .12),0 1px 5px 0 rgba(0, 0, 0, .2)",Ko="0 8px 17px 0 rgba(0, 0, 0, .2),0 6px 20px 0 rgba(0, 0, 0, .19)",Yn={root:n=>({position:"relative",m:"10px",width:300,minHeight:200,background:n.palette.background.default,boxShadow:Jo,display:"flex",flexDirection:"column",transition:"box-shadow 0.5s","&:hover":{boxShadow:Ko}}),imageBlock:{background:"silver",minHeight:60,display:"flex",padding:"0 10px 0 10px",position:"relative",justifyContent:"space-between",transition:"background 0.5s"},logLevel:{width:"100%",marginBottom:5},hostInfo:{width:"100%"},addCompact:{width:"100%",marginBottom:5},selectStyle:{display:"flex",margin:5,justifyContent:"space-around"},hide:{visibility:"hidden"},tooltip:{pointerEvents:"none"},deleting:{position:"relative","&:before":{content:'""',position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:100,opacity:".3 !important",background:"repeating-linear-gradient(135deg, #333, #333 10px, #888 10px, #888 20px)"}},enabled:{color:ce[400],"&:hover":{backgroundColor:ce[200]}},disabled:{color:Ut[400],"&:hover":{backgroundColor:Ut[200]}},sentry:{width:24,height:24,objectFit:"fill",filter:"invert(0%) sepia(90%) saturate(1267%) hue-rotate(-260deg) brightness(99%) contrast(97%)"},displayFlex:{display:"flex"},marginLeft5:{marginLeft:5},marginRight5:{marginRight:5},instanceStateNotEnabled1:{backgroundColor:"rgba(192, 192, 192, 0.2)"},instanceStateNotEnabled2:{backgroundColor:"rgba(192, 192, 192, 0.15)"},instanceStateNotAlive1:{backgroundColor:"rgba(255,14,14,0.2)"},instanceStateNotAlive2:{backgroundColor:"rgba(255,14,14, 0.15)"},instanceStateAliveNotConnected1:{backgroundColor:"rgba(255, 177, 0, 0.1)"},instanceStateAliveNotConnected2:{backgroundColor:"rgba(255, 177, 0, 0.15)"},instanceStateAliveAndConnected1:{backgroundColor:"rgba(0, 255, 0, 0.1)"},instanceStateAliveAndConnected2:{backgroundColor:"rgba(0, 255, 0, 0.15)"},statusIcon_green:{border:"2px solid grey",borderRadius:2},statusIcon_red:{border:"2px solid grey",borderRadius:20},statusIcon_orange:{border:0,borderRadius:0},statusIcon_orangeDevice:{border:0,borderRadius:0},statusIcon_blue:{border:"2px solid grey",borderRadius:20},statusIcon_grey:{border:"2px solid grey",borderRadius:20},orangeDevice:{color:pe[300]},button:{padding:"5px",transition:"opacity 0.2s",height:34},hiddenOpacity:{opacity:0,cursor:"default"},smallAvatar:{width:24,height:24},statusIndicator:{marginLeft:8},green:{color:ce[700]},red:{color:Ut[700]},grey:{color:He[700]},blue:{color:"#0055a9"},orange:{color:pe[400]},transparent:{color:"transparent",backgroundColor:"transparent"},silly:{},debug:{backgroundColor:He[700]},info:{backgroundColor:rr[700]},warn:{backgroundColor:nr[700]},error:{backgroundColor:Ut[700]},scheduleIcon:{color:"#dc8e00"},memoryIcon:{color:"#dc8e00"},contrast0:{filter:"contrast(0%)"},hidden:{display:"none"},okSymbol:{width:20,height:20,margin:2,borderRadius:2},okSymbolInner:{width:"calc(100% - 2px)",height:"calc(100% - 2px)",borderRadius:2,margin:1,backgroundColor:"#66bb6a"},editButton:{minHeight:32,"& .admin-edit-button":ct.isTouchDevice()?void 0:{display:"none",maxHeight:32},"&:hover":ct.isTouchDevice()?void 0:{"& .admin-edit-button":{display:"block"}}}};class A extends ft.Component{componentDidMount(){this.props.context.onRegisterClose(this.props.id,this.commandClose)}componentWillUnmount(){this.props.context.onRegisterClose(this.props.id,null)}getDefaultState(t){return{openDialog:!1,openSelectCompactGroup:!1,openDialogCron:!1,openDialogSchedule:!1,openDialogName:!1,openDialogLogLevel:!1,openDialogDelete:!1,openDialogMemoryLimit:!1,openDialogHost:!1,openDialogCompact:!1,openDialogTier:!1,showLinks:!1,showStopAdminDialog:!1,logLevel:t.item.logLevel,logOnTheFly:!1,compactGroup:t.item.compactGroup||0,maxCompactGroupNumber:t.context.maxCompactGroupNumber,tier:t.item.tier,host:t.instance.host,deleteCustom:!1,visibleEdit:!1,expanded:!1}}static isCompact(t){var e;return((e=t==null?void 0:t.common)==null?void 0:e.runAsCompactMode)||!1}isSentry(){var t;return!!((t=this.props.context.states[`system.adapter.${this.props.instance.id}.plugins.sentry.enabled`])!=null&&t.val)}static getSchedule(t){var e;return((e=t==null?void 0:t.common)==null?void 0:e.schedule)||""}static isRunning(t){var e,s;return((e=t==null?void 0:t.common)==null?void 0:e.onlyWWW)||((s=t==null?void 0:t.common)==null?void 0:s.enabled)}static isCompactGroup(t){var e;return((e=t==null?void 0:t.common)==null?void 0:e.compactGroup)||null}static getSentrySettings(t){var e,s;return!!((s=(e=t==null?void 0:t.common)==null?void 0:e.plugins)!=null&&s.sentry)}static isModeSchedule(t){var e;return((e=t==null?void 0:t.common)==null?void 0:e.mode)==="schedule"}static getMemoryLimitMB(t){var e;return((e=t==null?void 0:t.common)==null?void 0:e.memoryLimitMB)||0}static getRestartSchedule(t){var e;return(e=t==null?void 0:t.common)!=null&&e.restartSchedule?t.common.restartSchedule:""}async setCommonValue(t,e){try{await this.props.context.socket.extendObject(t,{common:e})}catch(s){window.alert(s)}}commandClose=()=>this.setState({expanded:!1});toggleSentry(){const t=!this.isSentry();this.props.context.socket.setState(`system.adapter.${this.props.instance.id}.plugins.sentry.enabled`,t,!0).catch(e=>window.alert(`Cannot set sentry: ${e}`))}setTier(t,e){this.setCommonValue(`system.adapter.${t.id}`,{tier:e})}setName(t,e){this.setCommonValue(`system.adapter.${t.id}`,{titleLang:e})}setLogLevel(t,e,s){s?this.props.context.socket.setState(`system.adapter.${t.id}.logLevel`,e):this.setCommonValue(`system.adapter.${t.id}`,{loglevel:e})}setSchedule(t,e){e?this.setCommonValue(`system.adapter.${t.id}`,{schedule:e}):this.props.context.socket.getObject(`system.adapter.${t.id}`).then(s=>{s.common.schedule!==""&&(s.common.schedule="",this.props.context.socket.setObject(s._id,s).catch(r=>window.alert(`Cannot set schedule: ${r}`)))}).catch(s=>window.alert(`Cannot set schedule: ${s}`))}setMemoryLimitMB(t,e){this.setCommonValue(`system.adapter.${t.id}`,{memoryLimitMB:e})}toggleCompactMode(){this.setCommonValue(`system.adapter.${this.props.instance.id}`,{runAsCompactMode:!A.isCompact(this.props.instance.obj)})}setRestartSchedule(t,e){e?this.setCommonValue(`system.adapter.${t.id}`,{restartSchedule:e}):this.props.context.socket.getObject(`system.adapter.${t.id}`).then(s=>{s.common.restartSchedule!==""&&(s.common.restartSchedule="",this.props.context.socket.setObject(s._id,s))})}setHost(t,e){this.setCommonValue(`system.adapter.${t.id}`,{host:e})}setCompactGroup(t,e){e=e==="controller"?0:e==="default"?1:parseInt(e,10),this.setCommonValue(`system.adapter.${t.id}`,{compactGroup:e}),this.props.context.maxCompactGroupNumber<e&&this.props.context.setMaxCompactGroupNumber(e)}getMemory(){const t=this.props.context.states[`${this.props.id}.memRss`];return(t==null?void 0:t.val)||0}renderDeleteDialog(){return a.jsxs(d.Dialog,{onClose:()=>this.setState({openDialogDelete:!1,openDialog:!1}),open:!0,children:[a.jsx(d.DialogTitle,{children:this.props.context.t("Please confirm")}),a.jsxs(d.DialogContent,{children:[this.state.openDialogDelete===1?this.props.context.t('Are you sure you want to delete the instance "%s" or whole adapter "%s"?',this.props.instance.id,this.props.instance.id.split(".")[0]):this.props.context.t("Are you sure you want to delete the instance %s?",this.props.instance.id),this.props.context.deleteCustomSupported&&this.props.instance.obj.common.supportCustoms&&a.jsx("br",{}),this.props.context.deleteCustomSupported&&this.props.instance.obj.common.supportCustoms&&a.jsx(d.FormControlLabel,{control:a.jsx(d.Checkbox,{checked:this.state.deleteCustom,onChange:t=>this.setState({deleteCustom:t.target.checked})}),label:this.props.context.t("Delete all custom object settings of this adapter too")})]}),a.jsxs(d.DialogActions,{children:[this.state.openDialogDelete===1?a.jsx(d.Button,{startIcon:a.jsx(w.Delete,{}),onClick:()=>{this.props.context.onDeleteInstance(this.props.instance,this.state.deleteCustom,!0),this.setState({deleteCustom:!1,openDialogDelete:!1,openDialog:!1})},variant:"contained",style:{background:"red",color:"white"},children:this.props.context.t("Delete adapter")}):null,a.jsx(d.Button,{startIcon:a.jsx(w.Delete,{}),onClick:()=>{this.props.context.onDeleteInstance(this.props.instance,this.state.deleteCustom),this.setState({deleteCustom:!1,openDialogDelete:!1,openDialog:!1})},variant:"contained",color:"primary",children:this.props.context.t("Delete instance")}),a.jsx(d.Button,{color:"grey",onClick:()=>this.setState({openDialogDelete:!1,openDialog:!1}),variant:"contained",startIcon:a.jsx(w.Close,{}),children:this.props.context.t("Cancel")})]})]})}renderEditNameDialog(){return a.jsx(Tt,{theme:this.props.context.theme,title:this.props.context.t("Enter title for %s",this.props.instance.id),disableApplyIfNotChanged:!0,textInput:!0,defaultValue:ct.getText(this.props.item.name,this.props.context.lang),onApply:t=>{this.setName(this.props.instance,t.toString()),this.setState({openDialogName:!1,openDialog:!1})},onClose:()=>this.setState({openDialogName:!1,openDialog:!1})})}renderEditLogLevelDialog(){return a.jsxs(Tt,{theme:this.props.context.theme,title:this.props.context.t("Edit log level rule for %s",this.props.instance.id),onApply:()=>{this.setLogLevel(this.props.instance,this.state.logLevel,this.state.logOnTheFly),this.setState({openDialogLogLevel:!1,openDialog:!1})},disableApply:this.state.logLevel===this.props.item.logLevel,onClose:()=>this.setState({openDialogLogLevel:!1,logLevel:this.props.item.logLevel,openDialog:!1}),children:[a.jsxs(d.FormControl,{style:this.styles.logLevel,variant:"standard",children:[a.jsx(d.InputLabel,{children:this.props.context.t("log level")}),a.jsx(d.Select,{variant:"standard",value:this.state.logLevel,fullWidth:!0,onChange:t=>this.setState({logLevel:t.target.value}),children:Xo.map(t=>a.jsx(d.MenuItem,{value:t,children:this.props.context.t(t)},t))})]}),a.jsxs(d.FormControl,{variant:"outlined",children:[a.jsx(d.FormControlLabel,{control:a.jsx(d.Checkbox,{checked:this.state.logOnTheFly,onChange:t=>this.setState({logOnTheFly:t.target.checked})}),label:this.props.context.t("Without restart")}),a.jsx(d.FormHelperText,{children:this.state.logOnTheFly?this.props.context.t("Will be reset to the saved log level after restart of adapter"):this.props.context.t("Log level will be saved permanently")})]})]})}renderEditMemoryLimitDialog(){return a.jsx(Tt,{theme:this.props.context.theme,title:this.props.context.t("Edit memory limit rule for %s",this.props.instance.id),onApply:t=>{this.setMemoryLimitMB(this.props.instance,parseFloat(t.toString())||0),this.setState({openDialogMemoryLimit:!1,openDialog:!1})},disableApplyIfNotChanged:!0,textInput:!0,defaultValue:this.props.item.memoryLimitMB,help:this.props.context.t("Default V8 has a memory limit of 512mb on 32-bit systems, and 1gb on 64-bit systems. The limit can be raised by setting --max-old-space-size to a maximum of ~1gb (32-bit) and ~1.7gb (64-bit)"),onClose:()=>this.setState({openDialogMemoryLimit:!1,openDialog:!1})})}renderEditHostDialog(){return a.jsx(Tt,{theme:this.props.context.theme,title:this.props.context.t("Edit host for %s",this.props.instance.id),onApply:()=>{this.setHost(this.props.instance,this.state.host),this.setState({openDialogHost:!1,openDialog:!1})},disableApply:this.state.host===this.props.instance.host,onClose:()=>this.setState({openDialogHost:!1,host:this.props.instance.host,openDialog:!1}),children:a.jsx(b.SelectWithIcon,{themeType:this.props.context.themeType,value:this.state.host,list:this.props.context.hosts,removePrefix:"system.host.",fullWidth:!0,style:this.styles.hostInfo,onChange:t=>this.setState({host:t}),lang:this.props.context.lang,t:this.props.context.t})})}renderEditCompactGroupDialog(){return a.jsx(Tt,{theme:this.props.context.theme,title:this.props.context.t("Edit compact groups for %s",this.props.instance.id),onApply:()=>{this.setCompactGroup(this.props.instance,parseInt(this.state.compactGroup.toString(),10)||0),this.setState({openDialogCompact:!1,openDialog:!1})},disableApply:this.state.compactGroup===this.props.item.compactGroup,onClose:()=>this.setState({openDialogCompact:!1,openDialog:!1,compactGroup:this.props.item.compactGroup,maxCompactGroupNumber:this.props.context.maxCompactGroupNumber}),children:a.jsxs(d.FormControl,{style:this.styles.addCompact,variant:"standard",children:[a.jsx(d.InputLabel,{children:this.props.context.t("compact groups")}),a.jsxs(d.Select,{variant:"standard",autoWidth:!0,onClose:()=>this.setState({openSelectCompactGroup:!1}),onOpen:()=>this.setState({openSelectCompactGroup:!0}),open:this.state.openSelectCompactGroup,value:(this.state.compactGroup===1?"default":(this.state.compactGroup||"").toString()==="0"?"controller":this.state.compactGroup?this.state.compactGroup:"default")||"default",onChange:t=>this.setState({compactGroup:parseInt(t.target.value,10)}),children:[a.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation()},style:this.styles.selectStyle,children:a.jsx(d.Button,{color:"grey",onClick:()=>this.setState({openSelectCompactGroup:!1,compactGroup:this.state.maxCompactGroupNumber+1,maxCompactGroupNumber:this.state.maxCompactGroupNumber+1}),variant:"outlined",children:this.props.context.t("Add compact group")})}),a.jsx(d.MenuItem,{value:"controller",children:this.props.context.t("with js-controller")}),a.jsx(d.MenuItem,{value:"default",children:this.props.context.t("default group")}),Array(this.state.maxCompactGroupNumber-1).fill(0).map((t,e)=>a.jsx(d.MenuItem,{value:(e+2).toString(),children:e+2},e))]})]})})}renderEditTierDialog(){return a.jsx(Tt,{theme:this.props.context.theme,title:this.props.context.t("Set tier for %s",this.props.instance.id),onApply:()=>{this.setTier(this.props.instance,this.state.tier),this.setState({openDialogTier:!1,openDialog:!1})},help:this.props.context.t("Tiers define the order of adapters when the system starts."),disableApply:this.state.tier===this.props.item.tier,onClose:()=>this.setState({openDialogTier:!1,tier:this.props.item.tier,openDialog:!1}),children:a.jsxs(d.FormControl,{style:this.styles.logLevel,variant:"standard",children:[a.jsx(d.InputLabel,{children:this.props.context.t("Tiers")}),a.jsx(d.Select,{variant:"standard",value:this.state.tier,fullWidth:!0,onChange:t=>this.setState({tier:parseInt(t.target.value,10)}),children:$e.map(t=>a.jsx(d.MenuItem,{value:t.value,children:this.props.context.t(t.desc)},t.value))})]})})}renderStopAdminDialog(){return this.state.showStopAdminDialog?a.jsx(b.DialogConfirm,{title:this.props.context.t("Please confirm"),text:this.props.context.t("stop_admin",this.props.context.adminInstance),ok:this.props.context.t("Stop admin"),onClose:t=>{t&&this.setCommonValue(this.state.showStopAdminDialog,{enabled:!1}),this.setState({showStopAdminDialog:!1,openDialog:!1})}}):null}renderLinksDialog(){return this.state.showLinks?a.jsx(qo,{image:this.props.instance.image,instanceId:this.props.instance.id,links:this.props.instance.links,onClose:()=>this.setState({showLinks:!1,openDialog:!1}),t:this.props.context.t,themeType:this.props.context.themeType}):null}renderCronDialog(){return a.jsx(b.DialogComplexCron,{title:this.props.context.t("Edit restart rule for %s",this.props.instance.id),clearButton:!0,cron:A.getRestartSchedule(this.props.instance.obj),onOk:t=>this.setRestartSchedule(this.props.instance,t),onClose:()=>this.setState({openDialogCron:!1,openDialog:!1})})}renderScheduleDialog(){return a.jsx(b.DialogComplexCron,{title:this.props.context.t("Edit schedule rule for %s",this.props.instance.id),clearButton:!0,cron:A.getSchedule(this.props.instance.obj),onOk:t=>this.setSchedule(this.props.instance,t),onClose:()=>this.setState({openDialogSchedule:!1,openDialog:!1})})}renderDialogs(){return this.state.openDialog?this.state.openDialogDelete?this.renderDeleteDialog():this.state.openDialogHost?this.renderEditHostDialog():this.state.openDialogTier?this.renderEditTierDialog():this.state.openDialogCompact?this.renderEditCompactGroupDialog():this.state.openDialogLogLevel?this.renderEditLogLevelDialog():this.state.openDialogName?this.renderEditNameDialog():this.state.showStopAdminDialog?this.renderStopAdminDialog():this.state.openDialogCron?this.renderCronDialog():this.state.openDialogSchedule?this.renderScheduleDialog():this.state.showLinks?this.renderLinksDialog():this.state.openDialogMemoryLimit?this.renderEditMemoryLimitDialog():null:null}renderModeIcon(t){return a.jsx("div",{style:{...this.styles.smallAvatar,...this.styles.statusIndicator,...this.props.instance.mode==="daemon"||this.props.instance.mode==="schedule"?this.styles[t]:this.styles.transparent,...this.props.item.connectedToHost&&this.props.item.alive&&this.props.item.connected===!1?this.styles.orangeDevice:void 0},children:this.getModeIcon(this.props.instance.mode,t,this.styles[`statusIcon_${t}`],this.props.item.stoppedWhenWebExtension)})}getModeIcon(t,e,s,r){return t==="daemon"?r?a.jsx("div",{style:{...s,...this.styles.okSymbol},children:a.jsx("div",{style:this.styles.okSymbolInner})}):e==="orange"?a.jsx(w.Warning,{style:s}):e==="green"?a.jsx("div",{style:{...s,...this.styles.okSymbol},children:a.jsx("div",{style:this.styles.okSymbolInner})}):a.jsx(w.Settings,{style:s}):t==="schedule"?a.jsx(w.Schedule,{style:s}):null}renderTooltip(){const{instance:t,item:e}=this.props;let s,r,i;if(t.mode==="schedule"&&t.schedule){try{i=Qn.toString(t.schedule,{locale:this.props.context.lang})}catch{i=t.schedule}if(t.enabled)try{const o=Nt.CronExpressionParser.parse(t.schedule);s=o.next().toDate(),r=o.prev().toDate()}catch{s=null,r=null}}return[e.stoppedWhenWebExtension!==void 0?a.jsx(rt,{state:!0,children:this.props.context.t("Runs as web-extension")},1):"",t.mode==="daemon"&&this.props.item.stoppedWhenWebExtension===void 0?a.jsx(rt,{state:e.connectedToHost,children:this.props.context.t("Connected to host")},2):"",t.mode==="daemon"&&this.props.item.stoppedWhenWebExtension===void 0?a.jsx(rt,{state:e.alive,children:this.props.context.t("Heartbeat")},3):"",this.props.item.connected!==null&&this.props.item.stoppedWhenWebExtension===void 0?a.jsx(rt,{state:!!e.connected,children:typeof e.connected=="string"?`${this.props.context.t("Connected:")} ${e.connected||"-"}`:this.props.context.t("Connected to device or service")},4):"",i?a.jsxs(rt,{state:t.enabled,children:["CRON:",i]},5):null,s?a.jsx(rt,{state:!0,children:this.props.context.t("Next start: %s",`${s.toLocaleDateString(this.props.context.lang)} ${s.toLocaleTimeString(this.props.context.lang)}`)},6):null,r?a.jsx(rt,{state:!0,children:this.props.context.t("Last start: %s",`${r.toLocaleDateString(this.props.context.lang)} ${r.toLocaleTimeString(this.props.context.lang)}`)},7):null].filter(o=>o)}renderMemoryUsage(){return this.props.item.running&&a.jsx(at,{icon:a.jsx(w.Memory,{}),tooltip:this.props.context.t("RAM usage"),children:`${this.props.instance.mode==="daemon"&&!A.isCompact(this.props.instance.obj)?this.getMemory():"-.--"} MB`})}renderPlayPause(){return a.jsx(d.Tooltip,{title:this.props.context.t("Start/stop"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx("div",{children:a.jsx(d.IconButton,{size:"small",onClick:t=>{t.stopPropagation(),t.preventDefault(),this.props.item.running&&this.props.instance.id===this.props.context.adminInstance?this.setState({showStopAdminDialog:`system.adapter.${this.props.instance.id}`,openDialog:!0}):this.setCommonValue(`system.adapter.${this.props.instance.id}`,{enabled:!this.props.item.running})},onFocus:t=>t.stopPropagation(),sx:{...this.styles.button,...this.props.instance.canStart?this.props.item.running?this.styles.enabled:this.styles.disabled:this.styles.hide},children:this.props.item.running?a.jsx(w.Pause,{}):a.jsx(w.PlayArrow,{})})})})}renderSettingsButton(){return a.jsx(d.Tooltip,{title:this.props.instance.config?this.props.context.t("Settings"):"",slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx("div",{children:a.jsx(d.IconButton,{disabled:!this.props.instance.config,size:"small",style:{...this.styles.button,...this.props.instance.config?void 0:this.styles.hiddenOpacity},onClick:t=>{t.stopPropagation(),t.preventDefault(),this.props.saveScrollPosition(),b.Router.doNavigate("tab-instances","config",this.props.id)},children:a.jsx(w.Build,{})})})})}renderRestartButton(){return a.jsx(d.Tooltip,{title:this.props.context.t("Restart"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx("div",{children:a.jsx(d.IconButton,{size:"small",onClick:t=>{t.stopPropagation(),t.preventDefault(),this.props.context.socket.extendObject(`system.adapter.${this.props.instance.id}`,{})},onFocus:t=>t.stopPropagation(),style:{...this.styles.button,...this.props.instance.canStart?void 0:this.styles.hide},disabled:!this.props.item.running,children:a.jsx(w.Refresh,{})})})})}renderLink(){return a.jsx(d.Tooltip,{title:this.props.context.t("Instance link %s",this.props.instance.id),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx("div",{children:a.jsx(d.IconButton,{size:"small",style:{...this.styles.button,...!this.props.instance.links||!this.props.instance.links[0]?this.styles.hide:void 0},disabled:!this.props.item.running,onClick:t=>{if(t.stopPropagation(),t.preventDefault(),this.props.instance.links.length===1){let e=this.props.instance.links[0].link;e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//$1$2/"),window.open(e,this.props.instance.id)}else this.setState({showLinks:!0,openDialog:!0})},onFocus:t=>t.stopPropagation(),children:a.jsx(w.Input,{})})})})}renderEditNameButton(){return a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:{...this.styles.button,...this.state.visibleEdit?void 0:this.styles.hiddenOpacity},onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogName:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})}renderInputOutput(){return a.jsx(at,{icon:a.jsx(w.ImportExport,{}),children:a.jsxs("div",{style:this.styles.displayFlex,children:[a.jsx(d.Tooltip,{title:this.props.context.t("input events"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsxs("div",{style:this.styles.marginRight5,children:["⇥",this.props.item.inputOutput.stateInput]})}),"/",a.jsx(d.Tooltip,{title:this.props.context.t("output events"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsxs("div",{style:this.styles.marginLeft5,children:["↦",this.props.item.inputOutput.stateOutput]})})]})})}renderHost(){return a.jsx(b.TextWithIcon,{value:this.props.instance.host,list:this.props.context.hosts,removePrefix:"system.host.",themeType:this.props.context.themeType,lang:this.props.context.lang})}renderEditHostButton(){return a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",style:this.styles.button,className:"admin-edit-button",onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogHost:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})}renderSentry(){return this.props.item.checkSentry?a.jsx(d.Tooltip,{title:"sentry",slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.toggleSentry()},children:a.jsx(d.CardMedia,{style:{...this.styles.sentry,...this.props.item.sentry?void 0:this.styles.contrast0},component:"img",image:this.props.item.sentry?tr:Zo})})}):null}renderCompactGroupEnabled(){return a.jsx(d.Tooltip,{title:this.props.context.t("compact groups"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",style:{...this.styles.button,...this.props.context.expertMode&&this.props.item.checkCompact?void 0:this.styles.hide},onClick:t=>{t.stopPropagation(),t.preventDefault(),this.toggleCompactMode()},children:a.jsx(w.ViewCompact,{color:this.props.item.compact?"primary":"inherit"})})})}renderVersion(){return a.jsxs(at,{tooltip:this.props.context.t("Installed"),children:["v",this.props.instance.version]})}renderInfo(t){return a.jsxs(a.Fragment,{children:[t?void 0:a.jsx("span",{style:this.styles.instanceName,children:this.props.instance.id}),this.props.item.stoppedWhenWebExtension!==void 0&&a.jsx(rt,{state:this.props.item.stoppedWhenWebExtension,children:this.props.context.t("Runs as web-extension")}),this.props.item.running&&this.props.instance.mode==="daemon"&&this.props.item.stoppedWhenWebExtension===void 0&&a.jsx(rt,{state:this.props.item.connectedToHost,children:this.props.context.t("Connected to host")}),this.props.item.running&&this.props.instance.mode==="daemon"&&this.props.item.stoppedWhenWebExtension===void 0&&a.jsx(rt,{state:this.props.item.alive,children:this.props.context.t("Heartbeat")}),this.props.item.running&&this.props.item.connected!==null&&this.props.item.stoppedWhenWebExtension===void 0&&a.jsx(rt,{state:!!this.props.item.connected,children:typeof this.props.item.connected=="string"?`${this.props.context.t("Connected:")} ${this.props.item.connected||"-"}`:this.props.context.t("Connected to device or service")})]})}renderLogLevel(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:this.props.item.loglevelIcon,tooltip:this.props.item.logLevelObject===this.props.item.logLevel?`${this.props.context.t("loglevel")} ${this.props.item.logLevel}`:`${this.props.context.t("saved:")} ${this.props.item.logLevelObject} / ${this.props.context.t("actual:")} ${this.props.item.logLevel}`,children:this.props.item.logLevelObject===this.props.item.logLevel?this.props.item.logLevel:`${this.props.item.logLevelObject} / ${this.props.item.logLevel}`}),a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogLogLevel:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})]})}renderSchedule(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.Schedule,{}),tooltip:this.props.context.t("schedule_group"),children:A.getSchedule(this.props.instance.obj)||"-"}),a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogSchedule:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})]})}renderRestartSchedule(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.Schedule,{style:this.styles.scheduleIcon}),tooltip:this.props.context.t("restart"),children:A.getRestartSchedule(this.props.instance.obj)||"-"}),a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogCron:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})]})}renderRamLimit(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.Memory,{style:this.styles.memoryIcon}),tooltip:this.props.context.t("RAM limit"),children:`${this.props.item.memoryLimitMB?this.props.item.memoryLimitMB:"-.--"} MB`}),a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogMemoryLimit:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})]})}renderCompactGroup(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.ViewCompact,{style:this.styles.marginRight5,color:"inherit"}),tooltip:this.props.context.t("compact groups"),children:(this.props.item.compactGroup===1?"default":(this.props.item.compactGroup||"").toString()==="0"?"controller":this.props.item.compactGroup?this.props.item.compactGroup:"default").toString()||"default"}),a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogCompact:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})]})}renderTier(){var t;return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.LowPriority,{style:this.styles.marginRight5,color:"inherit"}),tooltip:this.props.context.t("Start order (tier)"),children:this.props.instance.adapter==="admin"?this.props.context.t("Always first"):this.props.context.t(((t=$e.find(e=>e.value===this.props.item.tier))==null?void 0:t.desc)||$e[2].desc)}),this.props.instance.adapter!=="admin"?a.jsx(d.Tooltip,{title:this.props.context.t("Edit start order (tier)"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:e=>{e.stopPropagation(),e.preventDefault(),this.setState({openDialogTier:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})}):null]})}renderHostWithButton(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.Storage,{style:this.styles.marginRight5}),tooltip:this.props.context.t("Host for this instance"),children:this.renderHost()}),this.renderEditHostButton()]})}renderDeleteButton(){return a.jsx(d.Tooltip,{title:this.props.context.t("Delete"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",style:this.styles.button,onClick:async t=>{t.stopPropagation(),t.preventDefault();const e=await this.props.context.socket.getAdapterInstances(this.props.instance.id.split(".")[0]);this.setState({openDialogDelete:e.length||!0,openDialog:!0})},children:a.jsx(w.Delete,{})})})}render(){return a.jsx("div",{children:this.state.expanded})}}const O={...Yn,fab:{position:"absolute",bottom:-20,width:40,height:40,right:20},collapse:n=>({height:"100%",backgroundColor:n.palette.mode==="dark"?"#4a4a4a":"#d4d4d4",position:"absolute",width:"100%",zIndex:3,marginTop:"auto",bottom:0,transition:"height 0.3s",justifyContent:"space-between",display:"flex",flexDirection:"column"}),collapseOff:{height:0},close:{width:20,height:20,opacity:.9,cursor:"pointer",position:"relative",marginLeft:"auto",mb:"10px",transition:"all 0.6s ease","&:hover":{transform:"rotate(90deg)"},"&:before":{position:"absolute",left:9,content:'""',height:20,width:3,backgroundColor:"#ff4f4f",transform:"rotate(45deg)"},"&:after":{position:"absolute",left:9,content:'""',height:20,width:3,backgroundColor:"#ff4f4f",transform:"rotate(-45deg)"}},footerBlock:n=>({background:n.palette.background.default,p:"10px",display:"flex",justifyContent:"space-between"}),versionDate:{alignSelf:"center"},adapter:{width:"100%",fontWeight:"bold",fontSize:16,verticalAlign:"middle",paddingLeft:8,paddingTop:16},cardContent:{mt:2,paddingTop:0},cardContentH5:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between"},marginTop10:{marginTop:10},overflowAuto:{overflow:"auto"},collapseIcon:n=>({position:"sticky",right:0,top:0,background:n.palette.mode==="dark"?"#4a4a4a":"#d4d4d4",zIndex:2}),enableButton:{display:"flex",justifyContent:"space-between"},instanceName:{fontSize:16,padding:4,paddingBottom:15,fontWeight:"bold"},img:{width:45,height:45,margin:"auto 0",position:"relative","&:after":{content:'""',position:"absolute",zIndex:2,top:0,left:0,width:"100%",height:"100%",background:'url("img/no-image.svg") 100% 100% no-repeat',backgroundSize:"cover",backgroundColor:"#fff"}},instanceStateNotEnabled1:n=>({backgroundColor:"rgba(192, 192, 192, 0.2)",color:n.palette.mode==="dark"?"#CCC":"#333"}),instanceStateNotAlive1:n=>({backgroundColor:"rgba(192, 192, 192, 0.7)",color:n.palette.mode==="dark"?"#CCC":"#333"}),instanceStateAliveNotConnected1:n=>({backgroundColor:"rgba(255, 177, 0, 0.4)",color:n.palette.mode==="dark"?"#CCC":"#333"}),instanceStateAliveAndConnected1:n=>({backgroundColor:"rgba(0, 255, 0, 0.4)",color:n.palette.mode==="dark"?"#CCC":"#333"})};class Qo extends A{styles=O;constructor(t){super(t),this.state=Object.assign(this.getDefaultState(t),{mouseOver:!1})}renderSecondCardInfo(){var s;if(this.props.deleting||!this.state.expanded)return null;const{item:t,instance:e}=this.props;return a.jsxs(d.Box,{component:"div",sx:b.Utils.getStyle(this.props.context.theme,O.collapse,this.state.expanded?"":O.collapseOff,this.props.deleting&&O.deleting),children:[a.jsxs(d.CardContent,{sx:{"&.MuiCardContent-root":{...O.cardContent,...O.overflowAuto}},children:[a.jsx(d.Box,{component:"div",sx:O.collapseIcon,children:a.jsx(d.Box,{component:"div",sx:O.close,onClick:()=>{this.state.openDialog||this.setState({expanded:!1},()=>this.props.context.onToggleExpanded(this.props.id,!1))}})}),a.jsxs(d.Typography,{gutterBottom:!0,component:"span",variant:"body2",children:[this.renderInfo(),this.renderVersion(),this.renderMemoryUsage(),t.running&&this.props.context.expertMode&&a.jsx("div",{style:O.displayFlex,children:this.renderInputOutput()}),this.props.context.expertMode&&a.jsx("div",{style:O.displayFlex,children:this.renderRamLimit()}),this.props.context.expertMode&&a.jsx("div",{style:O.displayFlex,children:this.renderLogLevel()}),t.modeSchedule&&a.jsx("div",{style:O.displayFlex,children:this.renderSchedule()}),this.props.context.expertMode&&e.mode==="daemon"&&a.jsx("div",{style:O.displayFlex,children:this.renderRestartSchedule()}),this.props.context.expertMode&&t.checkCompact&&t.compact&&t.supportCompact&&a.jsx("div",{style:O.displayFlex,children:this.renderCompactGroup()}),this.props.context.expertMode&&a.jsx("div",{style:O.displayFlex,children:this.renderTier()}),this.props.context.hosts.length>1||this.props.context.hosts.length&&((s=this.props.context.hosts[0].common)==null?void 0:s.name)!==e.host?a.jsx("div",{style:O.displayFlex,children:this.renderHostWithButton()}):null,a.jsx(vt,{config:t,name:"allowInstanceSettings",children:a.jsx(d.Box,{component:"div",sx:{display:{sm:"none",xs:"inline-block"}},children:this.renderSettingsButton()})})]})]}),a.jsxs(d.Box,{component:"div",sx:O.footerBlock,children:[a.jsx(vt,{config:t,name:"allowInstanceDelete",children:a.jsx("div",{style:O.displayFlex,children:this.renderDeleteButton()})}),this.props.context.expertMode&&t.checkSentry&&a.jsx("div",{style:O.displayFlex,children:this.renderSentry()}),t.supportCompact&&this.props.context.expertMode&&t.checkCompact&&a.jsx("div",{style:O.displayFlex,children:this.renderCompactGroupEnabled()})]})]})}render(){const{item:t,instance:e}=this.props;return a.jsxs(d.Card,{sx:b.Utils.getStyle(this.props.context.theme,O.root,this.props.hidden&&O.hidden),children:[this.state.openDialog&&this.renderDialogs(),this.renderSecondCardInfo(),a.jsxs(d.Box,{component:"div",sx:b.Utils.getStyle(this.props.context.theme,O.imageBlock,(!t.running||e.mode!=="daemon"||t.stoppedWhenWebExtension!==void 0)&&O.instanceStateNotEnabled1,t.running&&e.mode==="daemon"&&t.stoppedWhenWebExtension===void 0&&(!t.connectedToHost||!t.alive)&&O.instanceStateNotAlive1,t.running&&t.connectedToHost&&t.alive&&t.connected===!1&&O.instanceStateAliveNotConnected1,t.running&&t.connectedToHost&&t.alive&&t.connected!==!1&&O.instanceStateAliveAndConnected1),children:[a.jsx(d.CardMedia,{sx:O.img,component:"img",image:e.image||"img/no-image.svg"}),a.jsx("div",{style:O.adapter,children:e.id}),a.jsx("div",{style:O.versionDate}),this.state.expanded?null:a.jsx(d.Fab,{onMouseOver:()=>this.setState({mouseOver:!0}),onMouseOut:()=>this.setState({mouseOver:!1}),onClick:()=>this.setState({expanded:!0},()=>this.props.context.onToggleExpanded(this.props.id,!0)),style:O.fab,color:"primary","aria-label":"add",children:a.jsx(w.MoreVert,{})})]}),a.jsxs(d.CardContent,{style:O.cardContentH5,children:[a.jsx(d.Typography,{gutterBottom:!0,variant:"h5",component:"h5",children:a.jsxs("div",{onMouseEnter:()=>this.setState({visibleEdit:!0}),onMouseLeave:()=>this.setState({visibleEdit:!1}),style:O.displayFlex,children:[ct.getText(t.name,this.props.context.lang),this.renderEditNameButton()]})}),a.jsx("div",{style:O.marginTop10,children:a.jsxs(d.Typography,{component:"span",style:O.enableButton,children:[this.renderPlayPause(),a.jsx(d.Box,{component:"div",sx:{display:{sm:"inline-block",xs:"none"}},children:this.renderSettingsButton()}),this.renderRestartButton(),a.jsx(vt,{config:t,name:"allowInstanceLink",children:this.renderLink()})]})})]})]})}}const x={...Yn,row:{pl:1,pr:2,p:0},expanded:{minHeight:64},invisible:{opacity:0},instanceIcon:{height:42,width:42,"@media screen and (max-width: 800px)":{height:28,width:28,ml:"4px"}},hidden1250:{display:"flex",width:200,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis","@media screen and (max-width: 1500px)":{display:"none !important"}},visible1250:{display:"flex",width:200,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis","@media screen and (max-width: 1500px)":{display:"flex !important"}},visible1050:{display:"none","@media screen and (max-width: 1120px)":{display:"flex !important"}},hidden1050:{display:"flex","@media screen and (max-width: 1120px)":{display:"none !important"}},hidden800:{display:"flex","@media screen and (max-width: 800px)":{display:"none !important"}},visible800:{display:"none","@media screen and (max-width: 800px)":{display:"flex !important"}},hidden570:{display:"flex","@media screen and (max-width: 650px)":{display:"none !important"}},visible570:{display:"none","@media screen and (max-width: 650px)":{display:"flex !important"}},hidden1230:{"@media screen and (max-width: 1300px)":{display:"none !important"}},hidden380:{display:"flex","@media screen and (max-width: 380px)":{display:"none !important"}},instanceId:{overflow:"hidden",alignSelf:"center",fontSize:16,ml:"5px",maxWidth:150,minWidth:100,whiteSpace:"nowrap",textOverflow:"ellipsis",flexGrow:2,"@media screen and (max-width: 380px)":{width:"70px !important",minWidth:"70px !important"},"@media screen and (max-width: 480px)":{width:100}},secondaryHeading:{maxWidth:200,fontSize:12},secondaryHeadingDiv:{display:"flex",alignItems:"center",width:200},secondaryHeadingDivDiv:{whiteSpace:"nowrap",overflow:"hidden",padding:5,textOverflow:"ellipsis",maxWidth:200},gridStyle:{display:"flex",minWidth:270,lineHeight:"34px",justifyContent:"space-around",alignItems:"center","@media screen and (max-width: 480px)":{minWidth:"auto !important",ml:"10px"},"@media screen and (max-width: 335px)":{ml:"0px"}},paddingRight200:{},maxWidth300:{width:300,"@media screen and (max-width: 480px)":{width:"250px !important"}},width150:{width:150},desktopRow:{minHeight:0},desktopIcon:{height:32,width:32,mt:1},desktopRowContent:{mt:"2px",mb:"2px"},desktopButton:{},rowGridLine:{marginTop:-2}};class ta extends A{desktop=window.innerWidth>1e3;styles=x;constructor(t){super(t),this.state=this.getDefaultState(t)}renderDetails(){var s;const{instance:t,item:e}=this.props;return a.jsx(d.AccordionDetails,{children:a.jsxs(d.Grid2,{container:!0,direction:"row",children:[a.jsxs(d.Grid2,{container:!0,direction:"row",size:{xs:10},children:[a.jsx(d.Grid2,{container:!0,direction:"column",size:{xs:12,sm:6,md:4},children:this.renderInfo(!0)}),a.jsx(d.Grid2,{container:!0,direction:"column",size:{xs:12,sm:6,md:4},children:this.renderVersion()}),a.jsxs(d.Grid2,{container:!0,direction:"column",size:{xs:12,sm:6,md:4},style:x.paddingRight200,children:[this.props.context.expertMode&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderLogLevel()}),e.running&&this.props.context.expertMode&&a.jsx(d.Box,{component:"div",sx:x.visible1250,children:this.renderInputOutput()}),a.jsx(d.Grid2,{sx:x.visible1050,children:this.renderMemoryUsage()}),e.modeSchedule&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderSchedule()}),this.props.context.expertMode&&t.mode==="daemon"&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderRestartSchedule()}),this.props.context.expertMode&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderRamLimit()}),this.props.context.expertMode&&e.checkCompact&&e.compact&&e.supportCompact&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderCompactGroup()}),this.props.context.expertMode&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderTier()}),a.jsxs(d.Box,{component:"div",sx:{...x.maxWidth300,...x.visible800,...x.editButton},children:[a.jsx(at,{children:ct.getText(e.name,this.props.context.lang)}),this.renderEditNameButton()]}),this.props.context.hosts.length>1||this.props.context.hosts.length&&((s=this.props.context.hosts[0].common)==null?void 0:s.name)!==t.host?a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderHostWithButton()}):null]})]}),a.jsxs("div",{style:x.displayFlex,children:[a.jsx(vt,{config:e,name:"allowInstanceDelete",children:a.jsx(d.Box,{component:"div",sx:{display:{xs:"inline-block",md:"none"}},children:this.renderSettingsButton()})}),a.jsx(d.Box,{component:"div",sx:{display:{md:"none",xs:"inline-block"}},children:this.renderRestartButton()}),a.jsx(vt,{config:e,name:"allowInstanceLink",children:a.jsx(d.Box,{component:"div",sx:{display:{md:"none",xs:"inline-block"}},children:this.renderLink()})}),a.jsx(vt,{config:e,name:"allowInstanceDelete",children:this.renderDeleteButton()}),this.props.context.expertMode&&e.checkSentry&&a.jsx(d.Box,{component:"div",sx:x.visible570,children:this.renderSentry()}),a.jsx(d.Box,{component:"div",sx:x.visible570,children:this.renderCompactGroupEnabled()})]})]})})}render(){var o;const{instance:t,item:e}=this.props,s=this.props.context.getInstanceStatus(t.obj),r=this.renderTooltip(),i={...x.row,...(!e.running||t.mode!=="daemon"||e.stoppedWhenWebExtension!==void 0)&&(this.props.idx%2===0?x.instanceStateNotEnabled1:x.instanceStateNotEnabled2),...e.running&&t.mode==="daemon"&&e.stoppedWhenWebExtension===void 0&&(!e.connectedToHost||!e.alive)?this.props.idx%2===0?x.instanceStateNotAlive1:x.instanceStateNotAlive2:void 0,...e.running&&e.connectedToHost&&e.alive&&e.connected===!1?this.props.idx%2===0?x.instanceStateAliveNotConnected1:x.instanceStateAliveNotConnected2:void 0,...e.running&&e.connectedToHost&&e.alive&&e.connected!==!1?this.props.idx%2===0?x.instanceStateAliveAndConnected1:x.instanceStateAliveAndConnected2:void 0,...this.desktop?x.desktopRow:void 0,...this.state.expanded&&!this.props.deleting?x.expanded:void 0};return a.jsxs(d.Accordion,{square:!0,sx:{"&.MuiAccordion-root":{...this.props.deleting?x.deleting:void 0,...this.props.hidden?x.hidden:void 0}},expanded:this.state.expanded&&!this.props.deleting,onChange:()=>{this.state.openDialog||this.setState({expanded:!this.state.expanded},()=>this.props.context.onToggleExpanded(this.props.id,this.state.expanded))},children:[a.jsxs(d.AccordionSummary,{sx:{"&.MuiAccordionSummary-root":i,"& .MuiAccordionSummary-content":this.desktop?x.desktopRowContent:void 0},expandIcon:a.jsx(w.ExpandMore,{style:this.desktop?x.desktopButton:void 0}),children:[this.renderDialogs(),a.jsxs(d.Grid2,{container:!0,spacing:1,alignItems:"center",direction:"row",wrap:"nowrap",style:x.rowGridLine,children:[a.jsxs(d.Box,{component:"div",style:x.gridStyle,children:[r.length?a.jsx(d.Tooltip,{slotProps:{popper:{sx:x.tooltip}},title:a.jsx("span",{style:{display:"flex",flexDirection:"column"},children:r}),children:this.renderModeIcon(s)}):this.renderModeIcon(s),a.jsx(d.Avatar,{variant:"square",alt:t.id,src:t.image,sx:{...x.instanceIcon,...this.desktop?x.desktopIcon:void 0}}),a.jsx(d.Box,{component:"div",sx:x.instanceId,children:t.id})]}),this.renderPlayPause(),a.jsx(vt,{config:e,name:"allowInstanceSettings",children:a.jsx(d.Box,{component:"div",sx:{display:{md:"inline-block",xs:"none"}},children:this.renderSettingsButton()})}),a.jsx(d.Box,{component:"div",sx:{display:{md:"inline-block",xs:"none"}},children:this.renderRestartButton()}),a.jsx(vt,{config:e,name:"allowInstanceLink",children:a.jsx(d.Box,{component:"div",sx:{display:{md:"inline-block",xs:"none"}},children:this.renderLink()})}),a.jsx(d.Typography,{sx:{...x.secondaryHeading,...x.hidden800},component:"div",children:a.jsxs("div",{onMouseEnter:()=>this.setState({visibleEdit:!0}),onMouseLeave:()=>this.setState({visibleEdit:!1}),style:x.secondaryHeadingDiv,children:[a.jsx("div",{style:x.secondaryHeadingDivDiv,children:ct.getText(e.name,this.props.context.lang)}),this.renderEditNameButton()]})}),this.props.context.expertMode&&a.jsx(d.Box,{component:"div",sx:{...x.hidden1250,...t.mode!=="daemon"||!e.running?x.invisible:void 0},children:this.renderInputOutput()}),this.props.context.expertMode&&a.jsx(d.Tooltip,{title:e.logLevelObject===e.logLevel?`${this.props.context.t("loglevel")} ${e.logLevel}`:`${this.props.context.t("saved:")} ${e.logLevelObject} / ${this.props.context.t("actual:")} ${e.logLevel}`,slotProps:{popper:{sx:x.tooltip}},children:a.jsx(d.Avatar,{sx:{...x.smallAvatar,...x.hidden380,...x[e.logLevel]},children:e.loglevelIcon})}),a.jsx(d.Grid2,{sx:{...x.hidden1050,...x.width150,...t.mode!=="daemon"||!e.running?x.invisible:void 0},children:this.renderMemoryUsage()}),this.props.context.hosts.length>1||this.props.context.hosts.length&&((o=this.props.context.hosts[0].common)==null?void 0:o.name)!==t.host?a.jsx(d.Grid2,{sx:x.hidden1230,children:this.renderHost()}):null]}),this.props.context.expertMode&&e.checkSentry&&a.jsx(d.Box,{component:"div",sx:x.hidden570,children:this.renderSentry()}),a.jsx(d.Box,{component:"div",sx:x.hidden570,children:this.renderCompactGroupEnabled()})]}),this.state.expanded?this.renderDetails():null,this.renderDialogs()]})}}const ea="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='24px'%20viewBox='0%200%2024%2024'%20width='24px'%20fill='%23FB2D26'%3e%3cg%3e%3cpath%20d='M0,0h24%20M24,24H0'%20fill='currentColor'/%3e%3cpath%20d='M4.25,5.61C6.27,8.2,10,13,10,13v6c0,0.55,0.45,1,1,1h2c0.55,0,1-0.45,1-1v-6c0,0,3.72-4.8,5.74-7.39%20C20.25,4.95,19.78,4,18.95,4H5.04C4.21,4,3.74,4.95,4.25,5.61z'/%3e%3cpath%20d='M0,0h24v24H0V0z'%20fill='none'/%3e%3c/g%3e%3c/svg%3e",F={root:{width:"100%",padding:10},paper:{width:"100%",maxHeight:800},overflowHidden:{display:"flex",overflow:"hidden"},pre:{overflow:"auto",whiteSpace:"pre-wrap",margin:0},rowBlock:{display:"flex",width:"100%",justifyContent:"space-between",margin:"10px 0"},select:{minWidth:200},checkbox:{minWidth:160},statusIcon_1:{border:"2px solid grey",borderRadius:20,color:"grey"},statusIcon_2:{border:"2px solid grey",borderRadius:20,color:"#d32f2f"},statusIcon_3:{border:0,borderRadius:0,color:"#ffa726"},statusIcon_4:{border:"2px solid grey",borderRadius:20,color:"#0055a9"},statusIcon_5:{border:"2px solid grey",borderRadius:20},statusIcon_6:{border:"2px solid grey",borderRadius:20},menuWrapper:{display:"flex",alignItems:"center"},iconWrapper:{marginRight:10},textWrapper:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},square:{width:24,height:24,marginRight:10,filter:"invert(0%) sepia(90%) saturate(300%) hue-rotate(-537deg) brightness(99%) contrast(97%)"},statusIcon_green:{border:"2px solid grey",borderRadius:2},statusIcon_red:{border:"2px solid grey",borderRadius:20},statusIcon_orange:{border:0,borderRadius:0},statusIcon_orangeDevice:{border:0,borderRadius:0},statusIcon_blue:{border:"2px solid grey",borderRadius:20},statusIcon_gray:{border:"2px solid grey",borderRadius:20},statusIcon_grey:{border:"2px solid grey",borderRadius:20},green:{color:ce[700]},red:{color:Ut[700]},grey:{color:He[700]},blue:{color:"#0055a9"},orange:{color:pe[400]},orangeDevice:{color:pe[300]},icon:{width:18,height:18,marginRight:8,display:"inline-block"},menuValue:{whiteSpace:"nowrap"}},sa=["none","daemon","schedule","once"],na=(n,t)=>n===1?a.jsx(w.Lens,{style:t}):n===2?a.jsx(w.Lens,{style:t}):n===3?a.jsx(w.Warning,{style:t}):n===4?a.jsx(w.Schedule,{style:t}):n===5?a.jsx("div",{style:{...t,width:20,height:20,margin:2,borderRadius:2},children:a.jsx("div",{style:{width:"calc(100% - 2px)",height:"calc(100% - 2px)",borderRadius:2,margin:1,backgroundColor:"#66bb6a"}})}):null,Re={none:{text:"none",_class:"",status:""},disabled:{text:"disabled",_class:"statusIcon_grey",status:"grey"},not_alive:{text:"enabled, but not alive",_class:"statusIcon_red",status:"red"},alive_not_connected:{text:"enabled, alive, but not connected to controller",_class:"statusIcon_orange",status:"orange"},alive_no_device:{text:"enabled, alive, but not connected to device or service",_class:"statusIcon_orangeDevice",status:"orange"},ok:{text:"enabled and OK",_class:"statusIcon_green",status:"green"}},ra=({onClose:n,filterMode:t,filterStatus:e,sortColumn:s,sortDirection:r,expertMode:i})=>{const[o,l]=ft.useState(t),[c,h]=ft.useState(e),[p,u]=ft.useState(s),[f,m]=ft.useState(r);return a.jsxs(d.Dialog,{onClose:()=>n(),open:!0,sx:{"& .MuiDialog-paper":F.paper},children:[a.jsx(d.DialogTitle,{style:{display:"flex"},children:a.jsxs("div",{style:{display:"flex"},children:[a.jsx(d.Avatar,{variant:"square",style:F.square,src:ea}),b.I18n.t("Filter instances")]})}),a.jsx(d.DialogContent,{style:F.overflowHidden,dividers:!0,children:a.jsxs(d.Card,{style:F.root,children:[a.jsxs("div",{style:F.rowBlock,children:[a.jsx(d.FormControlLabel,{style:F.checkbox,control:a.jsx(d.Checkbox,{checked:!!o,onChange:g=>g.target.checked?l("daemon"):l(null)}),label:b.I18n.t("Filter by mode")}),a.jsx(d.Select,{disabled:!o,variant:"standard",value:o||"none",style:F.select,onChange:g=>{g.target.value==="none"?l(null):l(g.target.value)},children:sa.map(g=>a.jsx(d.MenuItem,{value:g,children:b.I18n.t(g)},g))})]}),a.jsxs("div",{style:F.rowBlock,children:[a.jsx(d.FormControlLabel,{style:F.checkbox,control:a.jsx(d.Checkbox,{checked:!!c,onChange:g=>g.target.checked?h("ok"):h(null)}),label:b.I18n.t("Filter by status")}),a.jsx(d.Select,{disabled:!c,variant:"standard",value:c||"none",style:F.select,onChange:g=>{g.target.value==="none"?h(null):h(g.target.value)},children:Object.keys(Re).map((g,S)=>a.jsx(d.MenuItem,{value:g,children:a.jsxs("div",{style:F.menuWrapper,children:[Re[g].status?a.jsx("div",{style:F.iconWrapper,children:na(S,F[`statusIcon_${S}`])}):null,a.jsx("div",{style:F.textWrapper,children:b.I18n.t(Re[g].text)})]})},g))})]}),a.jsxs("div",{style:F.rowBlock,children:[a.jsx(d.FormControlLabel,{style:F.checkbox,control:a.jsx(d.Checkbox,{checked:!!p,onChange:g=>g.target.checked?u("name"):u(null)}),label:b.I18n.t("Sort by")}),a.jsxs(d.Select,{disabled:!p,variant:"standard",value:p||"none",style:F.select,onChange:g=>{g.target.value==="none"?u(null):u(g.target.value)},children:[a.jsx(d.MenuItem,{value:"none",children:b.I18n.t("none")}),a.jsx(d.MenuItem,{value:"name",children:b.I18n.t("Name")}),a.jsx(d.MenuItem,{value:"id",children:b.I18n.t("ID")}),a.jsx(d.MenuItem,{value:"status",children:b.I18n.t("Status")}),a.jsx(d.MenuItem,{value:"memory",children:b.I18n.t("Memory")}),a.jsx(d.MenuItem,{value:"host",children:b.I18n.t("Host")}),i&&a.jsx(d.MenuItem,{value:"loglevel",children:b.I18n.t("Log level")})]})]}),p&&a.jsxs("div",{style:F.rowBlock,children:[a.jsx("div",{style:F.checkbox,children:b.I18n.t("Sort direction")}),a.jsxs(d.Select,{variant:"standard",value:f,style:F.select,onChange:g=>m(g.target.value),children:[a.jsx(d.MenuItem,{value:"asc",children:b.I18n.t("Ascending")}),a.jsx(d.MenuItem,{value:"desc",children:b.I18n.t("Descending")})]})]})]})}),a.jsxs(d.DialogActions,{children:[a.jsx(d.Button,{color:"grey",variant:"contained",disabled:(p||"none")==="none"&&(c||"none")==="none"&&(o||"none")==="none",onClick:()=>{n({filterMode:null,filterStatus:null,sortColumn:null,sortDirection:"asc"})},startIcon:a.jsx(w.Delete,{}),children:b.I18n.t("Reset")}),a.jsx("div",{style:{flexGrow:1}}),a.jsx(d.Button,{variant:"contained",autoFocus:!0,disabled:o===t&&e===c&&p===s&&f===r,onClick:()=>{n({filterMode:o,filterStatus:c,sortColumn:p,sortDirection:f})},color:"primary",startIcon:a.jsx(w.Check,{}),children:b.I18n.t("Apply")}),a.jsx(d.Button,{color:"grey",variant:"contained",onClick:()=>n(),startIcon:a.jsx(w.Close,{}),children:b.I18n.t("Close")})]})]})},jt={row:{paddingLeft:8,flexDirection:"row-reverse",minHeight:"48px !important",height:48,fontWeight:"bold",fontSize:16},iconStyle:{marginRight:10},wrapperName:{margin:"0 10px",display:"flex",alignItems:"center"},wrapperChildren:{width:"100%"},accordionDetails:{padding:0},accordion:{margin:"1px 0 !important"}};function ia({name:n,key:t,children:e,expanded:s,onExpand:r}){return a.jsxs(d.Accordion,{expanded:!!s,onChange:()=>r(!s),style:jt.accordion,square:!0,children:[a.jsx(d.AccordionSummary,{style:jt.row,expandIcon:a.jsx(w.ExpandMore,{}),children:a.jsxs("div",{style:jt.wrapperName,children:[a.jsx(er,{iconName:n,style:jt.iconStyle}),n]})}),a.jsx(d.AccordionDetails,{style:jt.accordionDetails,children:a.jsx("div",{style:jt.wrapperChildren,children:e})})]},t)}const U={paper:{height:"100%"},iframe:{height:"100%",width:"100%",color:"#000",borderRadius:4,boxShadow:"0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%)",border:"0px solid #888"},cards:{display:"flex",flexFlow:"wrap",justifyContent:"center"},filterActive:n=>({color:n.palette.primary.main}),tooltip:{pointerEvents:"none"},grow:{flexGrow:1}};class xt extends ft.Component{static lastScrollPosition=0;localStorage;statePromise=null;states;adapters;statesUpdateTimer=null;typingTimer=null;hostsTimer=null;wordCache;t;inputRef;refTabContent;subscribed=!1;_cacheList=null;shouldUpdateAfterDialogClosed=!1;expanded="";closeCommands={};constructor(t){super(t),this.localStorage=window._localStorage||window.localStorage;let e=[];if(this.localStorage.getItem("Instances.expandedFolder"))try{e=JSON.parse(this.localStorage.getItem("Instances.expandedFolder"))}catch{}const s=this.localStorage.getItem("Instances.filterMode"),r=this.localStorage.getItem("Instances.filterStatus");this.state={expertMode:this.props.expertMode,dialog:null,instances:null,dialogProp:null,playArrow:0,onlyCurrentHost:!1,viewMode:!1,viewCategory:!1,hostInfo:null,processes:null,mem:null,percent:null,memFree:null,filterText:this.localStorage.getItem("instances.filter")||"",compact:!1,maxCompactGroupNumber:1,filterCompactGroup:"All",deleting:null,deleteCustomSupported:!1,currentHost:this.props.currentHost,showFilterDialog:!1,expandedFolder:e,filterMode:s?s==="null"?null:s:null,filterStatus:r?r==="null"?null:r:null,sortColumn:this.localStorage.getItem("Instances.sortColumn")||null,sortDirection:this.localStorage.getItem("Instances.sortDirection")||"asc"},this.states={},this.adapters=[],this.statesUpdateTimer=null,this.wordCache={},this.t=this.translate,this.inputRef=ft.createRef(),this.refTabContent=ft.createRef()}translate=(t,e,s)=>e!==void 0?this.props.t(t,e,s):(this.wordCache[t]||(this.wordCache[t]=this.props.t(t)),this.wordCache[t]);async componentDidMount(){var e;this.props.instancesWorker.registerHandler(this.getInstances);try{const s=await this.props.socket.getObject(`system.adapter.${this.props.adminInstance}`),r=((e=s==null?void 0:s.native)==null?void 0:e.reverseProxy)||[];await new Promise(i=>this.setState({reverseProxy:r},()=>i()))}catch(s){console.warn("Cannot read reverseProxy config for Instances page:",s)}await this.updateData();const t=await this.props.socket.checkFeatureSupported("DEL_INSTANCE_CUSTOM");t&&this.setState({deleteCustomSupported:t})}async updateData(){await this.getParamsLocalAndPanel(),await this.getData(),await this.getHostsData(),await this.getInstances()}componentWillUnmount(){this.subscribeStates(!0),this.props.instancesWorker.unregisterHandler(this.getInstances)}getStates(t){return t&&(this.statePromise=null),this.statePromise instanceof Promise||(this.statePromise=this.props.socket.getForeignStates("system.adapter.*")),this.statePromise}static getDerivedStateFromProps(t,e){const s=b.Router.getLocation(),r={dialog:s.dialog,dialogProp:s.id};return t.expertMode!==e.expertMode&&(r.expertMode=t.expertMode),r}getInstances=async()=>{var f,m;const t=Date.now();let e=[];const s=await this.props.instancesWorker.getObjects();if(!s){window.alert("Cannot read instances!");return}e=Object.values(s);let r=`${this.state.currentHost}.memRss`;this.states[r]=this.states[r]||await this.props.socket.getState(r);const i=this.states[r];let o=1,l=i&&parseFloat(i.val)||0;const c={};this.props.hosts.forEach(g=>c[g._id]=g);for(let g=0;g<e.length;g++){const S=e[g];if(!(!S||!S.common||S.common.host!==this.props.currentHostName)&&S.common.enabled&&S.common.mode==="daemon"&&!A.isCompact(S)){r=`${S._id}.memRss`,this.states[r]=this.states[r]||await this.props.socket.getState(r);const v=this.states[r];l+=v&&parseFloat(v.val)||0,o++}}const h={};e.sort((g,S)=>{const v=g._id.split("."),H=S._id.split("."),I=parseInt(v[v.length-1],10),P=parseInt(H[H.length-1],10),Z=v[v.length-2],st=H[H.length-2];return Z===st?I>P?1:I<P?-1:0:Z>st?1:Z<st?-1:0});let p=1;const u={};for(let g=0;g<e.length;g++){const S=e[g],v=S.common||null,H=parseInt(S._id.split(".").pop(),10);v.compactGroup&&typeof v.compactGroup=="number"&&p<v.compactGroup&&(p=v.compactGroup);const I={id:S._id.replace("system.adapter.",""),obj:S,compact:!!v.compact,host:v.host,name:this.getName(S),image:v.icon?`adapter/${v.name}/${v.icon}`:"img/no-image.svg",enabled:v.enabled,canStart:!v.onlyWWW,config:v.adminUI.config!=="none",jsonConfig:v.adminUI.config==="json",materialize:v.adminUI.config==="materialize",compactMode:v.runAsCompactMode||!1,mode:v.mode||null,schedule:v.schedule===void 0||v.schedule===null?null:v.schedule,loglevel:v.loglevel||null,adapter:v.name||null,version:v.version||null,stoppedWhenWebExtension:S.common.mode==="daemon"&&S.common.webExtension!==void 0?!!S.common.webExtension:void 0,links:[]},P=v.localLinks||v.localLink||"";let Z=null;P&&typeof P=="string"?Z={_default:P}:P&&typeof P=="object"&&(Z=P);const st=Z?Object.keys(Z):[];if(st.forEach(nt=>{I.links||=[];let B;const _=Z[nt];typeof _=="string"?B={link:_}:B=_;const N=Xn(B.link,v.name,H,{instances:s,hostname:this.props.hostname,hosts:c,adminInstance:this.props.adminInstance})||[];let V=B.name||nt;V==="_default"?V=st.length===1?"":this.t("default"):typeof V=="object"?V=ct.getText(V,this.props.lang):V=this.t(V),N.length===1?I.links.push({name:V,link:N[0].url,port:N[0].port,color:B.color}):N.length>1&&N.forEach(ne=>{I.links.push({name:V,link:ne.url,port:ne.port,color:B.color})})}),(f=I.links)!=null&&f.length&&((m=this.state.reverseProxy)!=null&&m.length)){const nt=window.location.pathname,B=this.state.reverseProxy.find(_=>{if(!_.globalPath)return!1;const N=_.globalPath.endsWith("/")?_.globalPath:`${_.globalPath}/`;return nt===N||nt.startsWith(N)})||null;if(B&&I.links.forEach(_=>{_.link=Jn(_.link,I.id,s,B)||_.link}),I.links.length>1){const _=new Set;I.links=I.links.filter(N=>!N.link||_.has(N.link)?!1:(_.add(N.link),!0))}}if(I.stoppedWhenWebExtension){const nt=this.states[`${I.id}.info.extension`]||await this.props.socket.getState(`${I.id}.info.extension`);I.stoppedWhenWebExtension=nt?!!nt.val:void 0}console.log(S._id),h[S._id]=I}console.log(`getInstances: ${Date.now()-t}`);for(let g=1;g<=p;g++){const S=`${this.state.currentHost}.compactgroup${g}.memRss`;this.states[S]=this.states[S]||await this.props.socket.getState(S);const v=this.states[S];v&&(l+=v&&parseFloat(v.val)||0,o++)}this.state.deleting&&!h[`system.adapter.${this.state.deleting}`]&&(u.deleting=null),u.maxCompactGroupNumber=p,u.processes=o,u.mem=Math.round(l),u.instances=h,this._cacheList=null,this.setState(u)};getParamsLocalAndPanel=async()=>{var l,c;let t=!1;try{t=!!((c=(l=(await this.props.socket.readBaseSettings(this.state.currentHost)).config)==null?void 0:l.system)!=null&&c.compact)}catch(h){window.alert(`Cannot read compact mode by host "${this.state.currentHost}": ${h}`)}let e=0,s="All";try{e=JSON.parse(this.localStorage.getItem("Instances.playArrow")),e.toString()==="true"?e=1:e.toString()==="false"&&(e=0),s=JSON.parse(this.localStorage.getItem("Instances.filterCompactGroup"))}catch{}const r=this.localStorage.getItem("Instances.onlyCurrentHost")==="true",i=this.localStorage.getItem("Instances.viewMode")==="true",o=this.localStorage.getItem("Instances.viewCategory")==="true";!s&&s!==0&&(s="All"),this._cacheList=null,this.setState({filterCompactGroup:s,compact:t,onlyCurrentHost:r,playArrow:e,viewMode:i,viewCategory:o})};async getData(t){try{const e=this.props.socket.getAdapters(t),s=this.getStates(),[r,i]=await Promise.all([s,e]);this.adapters=i||[],this.states=r||{}}catch(e){console.log(e)}this.states&&(this.subscribed||(this.subscribed=!0,this.subscribeStates()))}onStateChange=(t,e)=>{const s=this.states[t];this.states[t]=e,(!s&&e||s&&!e||s&&e&&s.val!==e.val)&&(this.state.dialog==="config"&&this.state.dialogProp?(this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null),this.shouldUpdateAfterDialogClosed=!0):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this._cacheList=null,this.forceUpdate()},1e3)))};subscribeStates(t){const e=t?this.props.socket.unsubscribeState:this.props.socket.subscribeState;e.call(this.props.socket,"system.adapter.*.alive",this.onStateChange),e.call(this.props.socket,"system.adapter.*.connected",this.onStateChange),e.call(this.props.socket,"system.adapter.*.inputCount",this.onStateChange),e.call(this.props.socket,"system.adapter.*.memRss",this.onStateChange),e.call(this.props.socket,"system.adapter.*.outputCount",this.onStateChange),e.call(this.props.socket,"system.adapter.*.logLevel",this.onStateChange),e.call(this.props.socket,"system.adapter.*.plugins.sentry.enabled",this.onStateChange),e.call(this.props.socket,"system.host.*.diskFree",this.onStateChange),e.call(this.props.socket,"system.host.*.diskSize",this.onStateChange),e.call(this.props.socket,"system.host.*.diskWarning",this.onStateChange),e.call(this.props.socket,"system.host.*.freemem",this.onStateChange),e.call(this.props.socket,"*.info.connection",this.onStateChange),e.call(this.props.socket,"*.info.extension",this.onStateChange)}getInstanceStatus=t=>{const e=t?t.common:null,s=(e==null?void 0:e.mode)||"";let r=s==="daemon"?"green":"blue";if(e!=null&&e.enabled&&(!e.webExtension||!t.native.webInstance||s==="daemon")){const i=this.states[`${t._id}.alive`],o=this.states[`${t._id}.connected`],l=this.states[`${t._id.replace("system.adapter.","")}.info.connection`];if(e.webExtension&&t.native.webInstance){const c=this.states[`${t._id.replace("system.adapter.","")}.info.extension`];if(c)return c.val?"green":"red"}(!(o!=null&&o.val)||!(i!=null&&i.val))&&(r=s==="daemon"?"red":"orangeDevice"),l&&!(l!=null&&l.val)&&r!=="red"&&(r="orange")}else r=s==="daemon"?"grey":"blue";return r};isCompactGroupCheck(t){var s;const e=this.adapters.find(({_id:r})=>r===`system.adapter.${t}`);return((s=e==null?void 0:e.common)==null?void 0:s.compact)||!1}getName(t){return t!=null&&t.common?t.common.titleLang?ct.getText(t.common.titleLang,this.props.lang):ct.getText(t.common.title,this.props.lang):""}getMemoryUsage(t){const e=this.states[`${t}.memRss`];return e&&parseFloat(e.val)||0}getInputOutput(t){const e=this.states[`${t}.inputCount`],s=this.states[`${t}.outputCount`];return{stateInput:e!=null&&e.val?e.val:0,stateOutput:s!=null&&s.val?s.val:0}}isAlive(t){const e=this.states[`${t}.alive`];return!!(e!=null&&e.val)}isConnectedToHost(t){const e=this.states[`${t}.connected`];return!!(e!=null&&e.val)&&this.isAlive(t)}getConnected(t){const e=this.state.instances[t];return this.states[`${e.id}.info.connection`]?this.isAlive(t)&&this.states[`${e.id}.info.connection`].val:null}static getStatusFilter(t){switch(t){case"not_alive":return"red";case"alive_no_device":return"orangeDevice";case"alive_not_connected":return"orange";case"ok":return"green";default:return"grey"}}static getLogLevelIcon(t){return t==="debug"?a.jsx(w.BugReport,{}):t==="info"?a.jsx(w.Info,{}):t==="warn"?a.jsx(w.Warning,{}):t==="error"?a.jsx(w.Error,{}):null}onDeleteInstance=(t,e,s)=>{const r=s?t.id.split(".")[0]:t.id,i=["admin","eos-admin","backitup","nexowatt-devices","nexowatt-device","nexowatt-dev","nexowatt-ui"].includes(String(r||"").replace(/^system\.adapter\./,"").split(".")[0].toLowerCase());if(i||window.NEXOWATT_EOS_SECURITY&&window.NEXOWATT_EOS_SECURITY.shouldBlockInstanceDelete(r)){window.alert("Dieser Dienst ist ein geschütztes NexoWatt-EOS-Systemmodul und darf nicht gelöscht werden.");return}this.setState({deleting:t.id},()=>this.props.executeCommand(`del ${r}${e?" --custom":""}${this.props.expertMode?" --debug":""}`))};isSentry(t){var e;return!!((e=this.states[`${t}.plugins.sentry.enabled`])!=null&&e.val)}cacheInstances(){const t=this.state.currentHost.replace(/^system.host./,"");if(this._cacheList=Object.keys(this.state.instances).map(e=>{var B,_,N;const s=this.state.instances[e],r=A.isRunning(s.obj),i=A.isCompactGroup(s.obj),o=this.isCompactGroupCheck(s.adapter)&&this.state.compact,l=A.isCompact(s.obj),c=s.compact||!1,h=this.isAlive(e),p=this.isConnectedToHost(e),u=this.getConnected(e),f=this.getName(s.obj),m=((B=this.states[`${e}.logLevel`])==null?void 0:B.val)||s.loglevel,g=s.loglevel,S=((N=(_=s==null?void 0:s.obj)==null?void 0:_.common)==null?void 0:N.tier)||3,v=xt.getLogLevelIcon(m),H=this.getInputOutput(e),I=A.isModeSchedule(s.obj),P=A.getMemoryLimitMB(s.obj),Z=A.getSentrySettings(s.obj),st=this.isSentry(e);return{id:e,running:r,host:s.host,nameId:s.id,compactGroup:i,checkCompact:o,mode:s.mode,sentry:st,category:s.obj.common.type||"other",status:this.getInstanceStatus(s.obj),alive:h,compact:l,supportCompact:c,connectedToHost:p,connected:u,name:f,logLevel:m,logLevelObject:g,tier:S,loglevelIcon:v,inputOutput:H,modeSchedule:I,checkSentry:Z,memoryLimitMB:P,stoppedWhenWebExtension:s.stoppedWhenWebExtension,allowInstanceSettings:this.props.repository[s.adapter]?this.props.repository[s.adapter].allowInstanceSettings:!0,allowInstanceDelete:!["admin","eos-admin","backitup","nexowatt-devices","nexowatt-device","nexowatt-dev","nexowatt-ui"].includes(String(s.adapter||"").toLowerCase())&&!(window.NEXOWATT_EOS_SECURITY&&window.NEXOWATT_EOS_SECURITY.shouldBlockInstanceDelete&&window.NEXOWATT_EOS_SECURITY.shouldBlockInstanceDelete(s.id)),allowInstanceLink:this.props.repository[s.adapter]?this.props.repository[s.adapter].allowInstanceLink:!0}}),this.state.playArrow&&(this._cacheList=this._cacheList.filter(({running:e})=>this.state.playArrow===1?e:!e)),this.state.onlyCurrentHost&&(this._cacheList=this._cacheList.filter(({host:e})=>e===t)),this.state.filterText){const e=this.state.filterText.toLowerCase();this._cacheList=this._cacheList.filter(({name:s,nameId:r})=>s.toLowerCase().includes(e)||r.toLowerCase().includes(e))}if(this.props.expertMode&&(this.state.filterCompactGroup||this.state.filterCompactGroup===0)&&this.state.compact&&(this._cacheList=this._cacheList.filter(({compactGroup:e})=>e===this.state.filterCompactGroup||this.state.filterCompactGroup==="All"||this.state.filterCompactGroup==="default"&&(e===null||e===1)||this.state.filterCompactGroup==="controller"&&e==="0")),this.state.filterMode&&(this._cacheList=this._cacheList.filter(e=>e.mode===this.state.filterMode)),this.state.filterStatus){const e=xt.getStatusFilter(this.state.filterStatus);this._cacheList=this._cacheList.filter(s=>e===s.status)}return this.state.sortColumn&&(this._cacheList=this._cacheList.sort((e,s)=>{let r=0;switch(this.state.sortColumn){case"name":{r=e.name.localeCompare(s.name);break}case"id":{r=e.nameId.localeCompare(s.nameId);break}case"status":{const i={green:4,orange:3,orangeDevice:2,red:1,grey:0,blue:0};r=(i[e.status]||0)-(i[s.status]||0);break}case"memory":{if(!e.running||!s.running)r=e.running===s.running?0:e.running?1:-1;else{const i=this.getMemoryUsage(e.id),o=this.getMemoryUsage(s.id);r=i-o}break}case"host":{r=e.host.localeCompare(s.host);break}case"loglevel":{const i={error:4,warn:3,info:2,debug:1,silly:0};r=(i[e.logLevel]||0)-(i[s.logLevel]||0);break}default:r=0}return this.state.sortDirection==="desc"?-r:r})),this._cacheList}clearAllFilters(){const t={playArrow:0,onlyCurrentHost:!1,filterCompactGroup:"All",filterMode:null,filterStatus:null,filterText:"",sortColumn:null,sortDirection:"asc"};this.localStorage.removeItem("instances.filter"),this.localStorage.removeItem("Instances.playArrow"),this.localStorage.removeItem("Instances.onlyCurrentHost"),this.localStorage.removeItem("Instances.filterCompactGroup"),this.localStorage.removeItem("Instances.filterMode"),this.localStorage.removeItem("Instances.filterStatus"),this.localStorage.removeItem("Instances.sortColumn"),this.localStorage.removeItem("Instances.sortDirection"),this._cacheList=null,this.setState(t,()=>{this.inputRef.current&&(this.inputRef.current.value=""),this.cacheInstances()})}onMaxCompactGroupNumber=t=>this.setState({maxCompactGroupNumber:t});onRegisterClose=(t,e)=>{this.closeCommands[t]=e};saveScrollPosition=()=>{var t,e;xt.lastScrollPosition=(e=(t=this.refTabContent.current)==null?void 0:t.parentNode)==null?void 0:e.scrollTop};getPanels(){this._cacheList||this.cacheInstances();const t={adminInstance:this.props.adminInstance,onDeleteInstance:this.onDeleteInstance,expertMode:this.props.expertMode,hosts:this.props.hosts,socket:this.props.socket,t:this.t,lang:this.props.lang,themeType:this.props.themeType,setMaxCompactGroupNumber:this.onMaxCompactGroupNumber,maxCompactGroupNumber:this.state.maxCompactGroupNumber,deleteCustomSupported:this.state.deleteCustomSupported,states:this.states,onToggleExpanded:this.onToggleExpanded,getInstanceStatus:this.getInstanceStatus,theme:this.props.theme,onRegisterClose:this.onRegisterClose},e=this._cacheList.map((s,r)=>{const i=s.id,o=this.state.instances[i];return this.state.viewMode?{category:s.category,render:a.jsx(Qo,{saveScrollPosition:this.saveScrollPosition,deleting:this.state.deleting===o.id,id:i,idx:r,instance:o,item:s,context:t},o.id)}:{category:s.category,render:a.jsx(ta,{saveScrollPosition:this.saveScrollPosition,deleting:this.state.deleting===o.id,id:i,idx:r,instance:o,item:s,context:t},o.id)}});if(!e.length)return a.jsx("div",{title:this.t("Click to clear all filters"),onClick:()=>this.clearAllFilters(),style:{margin:20,fontSize:26,textAlign:"center",cursor:"pointer"},children:this.t("all items are filtered out")});if(!this.state.viewMode&&this.state.viewCategory){const s=[];return e.forEach(({category:r})=>!s.includes(r)&&s.push(r)),s.sort((r,i)=>r==="general"&&i!=="general"?-1:r!=="general"&&i==="general"||r>i?1:r<i?-1:0),s.map(r=>a.jsx(ia,{name:r,expanded:this.state.expandedFolder.includes(r),onExpand:i=>{const o=[...this.state.expandedFolder],l=o.indexOf(r);i?l===-1&&(o.push(r),o.sort()):l!==-1&&o.splice(l,1),this.localStorage.setItem("Instances.expandedFolder",JSON.stringify(o)),this.setState({expandedFolder:o})},children:e.filter(({category:i})=>i===r).map(({render:i})=>i)},r))}return e.map(({render:s})=>s)}onToggleExpanded=(t,e)=>{this.expanded!==t&&e&&this.closeCommands[this.expanded]&&this.closeCommands[this.expanded](),this.expanded=e?t:null};async getHostsData(){this.props.socket.getHostInfo(this.state.currentHost,!1,1e4).catch(i=>(i.toString().includes("May not read")||window.alert(`Cannot read host information: ${i}`),{})).then(i=>{this._cacheList=null,this.setState({hostInfo:i})});let t;const e=await this.props.socket.getState(`${this.state.currentHost}.memAvailable`),s=await this.props.socket.getState(`${this.state.currentHost}.freemem`),r=await this.props.socket.getObject(`${this.state.currentHost}`);if(e?t=e:s&&(t=s),t){const i=((r==null?void 0:r.native.hardware.totalmem)||0)/1048576,o=Math.round(t.val/i*100);this._cacheList=null,this.setState({percent:o,memFree:t.val})}}changeStartedStopped=()=>{this._cacheList=null,this.setState(t=>{const e=t.playArrow?t.playArrow===1?2:0:1;return this.localStorage.setItem("Instances.playArrow",JSON.stringify(e)),{playArrow:e}})};changeCompactGroup(t){this._cacheList=null,this.localStorage.setItem("Instances.filterCompactGroup",JSON.stringify(t)),this.setState({filterCompactGroup:t})}handleFilterChange(t){this.typingTimer&&clearTimeout(this.typingTimer),this.typingTimer=setTimeout(e=>{this.typingTimer=null,this._cacheList=null,this.setState({filterText:e}),this.localStorage.setItem("instances.filter",e)},300,t.target.value)}renderFilterDialog(){return this.state.showFilterDialog?a.jsx(ra,{filterMode:this.state.filterMode,filterStatus:this.state.filterStatus,sortColumn:this.state.sortColumn,sortDirection:this.state.sortDirection,expertMode:this.props.expertMode,onClose:t=>{t&&(this._cacheList=null,this.localStorage.setItem("Instances.filterMode",t.filterMode),this.localStorage.setItem("Instances.filterStatus",t.filterStatus),t.sortColumn?(this.localStorage.setItem("Instances.sortColumn",t.sortColumn),this.localStorage.setItem("Instances.sortDirection",t.sortDirection)):(this.localStorage.removeItem("Instances.sortColumn"),this.localStorage.removeItem("Instances.sortDirection")),this.setState({filterMode:t.filterMode,filterStatus:t.filterStatus,sortColumn:t.sortColumn,sortDirection:t.sortDirection})),this.setState({showFilterDialog:!1})}}):null}render(){if(!this.state.instances)return a.jsx(d.LinearProgress,{});if(this.props.currentHost!==this.state.currentHost&&(this.hostsTimer=this.hostsTimer||setTimeout(()=>{this.hostsTimer=null,this.setState({currentHost:this.props.currentHost},()=>this.updateData())},200)),this.state.dialog==="config"&&this.state.dialogProp){const e=this.state.instances[this.state.dialogProp]||null;if(e)return a.jsxs(d.Paper,{style:U.paper,children:[this.renderFilterDialog(),a.jsx(Kn,{expertMode:this.props.expertMode,adapter:e.id.split(".")[0],adminInstance:this.props.adminInstance,style:U.iframe,configStored:this.props.configStored,dateFormat:this.props.dateFormat,icon:e.image,instance:parseInt(e.id.split(".")[1]),isFloatComma:this.props.isFloatComma,jsonConfig:e.jsonConfig,lang:this.props.lang,materialize:e.materialize,socket:this.props.socket,t:this.t,theme:this.props.theme,themeName:this.props.themeName,themeType:this.props.themeType,width:this.props.width,version:e.version,onRegisterIframeRef:s=>this.props.onRegisterIframeRef(s),onUnregisterIframeRef:s=>this.props.onUnregisterIframeRef(s),handleNavigation:this.props.handleNavigation})]})}else xt.lastScrollPosition&&(setTimeout(e=>{var s,r;(s=this.refTabContent.current)!=null&&s.parentNode&&(((r=this.refTabContent.current)==null?void 0:r.parentNode).scrollTop=e)},200,xt.lastScrollPosition),xt.lastScrollPosition=0);this.shouldUpdateAfterDialogClosed&&(this.shouldUpdateAfterDialogClosed=!1,this.statesUpdateTimer||this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300)));const t=this.state.hostInfo?`${this.state.hostInfo["Disk free"]?`${this.t("Disk free")}: ${Math.round(this.state.hostInfo["Disk free"]/(this.state.hostInfo["Disk size"]/100))}%, `:""}${this.t("Total RAM usage")}: ${this.state.mem} Mb / ${this.t("Free")}: ${this.state.percent}% = ${this.state.memFree} Mb [${this.t("Host")}: ${this.props.currentHostName} - ${this.state.processes} ${this.state.processes===1?this.t("process"):this.t("processes")}]`:null;return a.jsxs(b.TabContainer,{children:[this.renderFilterDialog(),a.jsxs(b.TabHeader,{children:[a.jsx(d.Tooltip,{title:this.t("Show / hide List"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>{this.setState({viewMode:!this.state.viewMode}),this.localStorage.setItem("Instances.viewMode",this.state.viewMode?"false":"true")},children:this.state.viewMode?a.jsx(w.ViewModule,{}):a.jsx(w.ViewList,{})})}),!this.state.viewMode&&a.jsx(d.Tooltip,{title:this.t("Category"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>{this.setState({viewCategory:!this.state.viewCategory}),this.localStorage.setItem("Instances.viewCategory",this.state.viewCategory?"false":"true")},children:a.jsx(w.List,{color:this.state.viewCategory?"primary":"inherit"})})}),!this.state.viewMode&&this.state.viewCategory&&a.jsxs(a.Fragment,{children:[a.jsx(d.Tooltip,{title:this.t("expand all"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>{const e=[];this._cacheList.forEach(({category:s})=>!e.includes(s)&&e.push(s)),e.sort(),this.localStorage.setItem("Instances.expandedFolder",JSON.stringify(e)),this.setState({expandedFolder:e})},children:a.jsx(w.FolderOpen,{})})}),a.jsx(d.Tooltip,{title:this.t("collapse all"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>{this.localStorage.removeItem("Instances.expandedFolder"),this.setState({expandedFolder:[]})},children:a.jsx(w.Folder,{})})})]}),a.jsx(d.Tooltip,{title:this.t("Reload"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>this.getData(!0),children:a.jsx(w.Refresh,{})})}),this.props.hosts.length>1?a.jsx(d.Tooltip,{title:this.t("Show instances only for current host"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>{this.setState({onlyCurrentHost:!this.state.onlyCurrentHost}),this.localStorage.setItem("Instances.onlyCurrentHost",this.state.onlyCurrentHost?"false":"true")},children:a.jsx(w.Devices,{color:this.state.onlyCurrentHost?"primary":"inherit"})})}):null,a.jsx(d.Tooltip,{title:this.t(this.state.playArrow?this.state.playArrow===1?"Showed only running instances":"Showed only stopped instances":"Show running or stopped instances"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>this.changeStartedStopped(),children:a.jsx(w.PlayArrow,{style:this.state.playArrow===2?{color:"red"}:null,color:this.state.playArrow===1?"primary":"inherit"})})}),a.jsx(d.Tooltip,{title:this.t("Filter instances"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>this.setState({showFilterDialog:!0}),sx:this.state.filterMode||this.state.filterStatus||this.state.sortColumn?U.filterActive:void 0,children:a.jsx(qn,{style:{width:16,height:16}})})}),this.props.expertMode&&this.state.compact?a.jsx(sr,{title:this.t("Filter specific compact group"),t:this.t,arrayItem:[{name:"All"},{name:"controller"},{name:"default"},...Array(this.state.maxCompactGroupNumber-1).fill(0).map((e,s)=>({name:s+2}))],buttonIcon:a.jsx(w.ViewCompact,{style:{marginRight:4},color:"primary"}),onClick:e=>this.changeCompactGroup(e),value:this.state.filterCompactGroup}):null,a.jsx("div",{style:U.grow}),a.jsx(d.TextField,{variant:"standard",inputRef:this.inputRef,label:this.t("Filter"),sx:{margin:{xs:"0 0 2px 16px",md:"5px 0 5px 0"}},defaultValue:this.state.filterText,onChange:e=>this.handleFilterChange(e),slotProps:{input:{endAdornment:this.state.filterText?a.jsx(d.InputAdornment,{position:"end",children:a.jsx(d.IconButton,{tabIndex:-1,size:"small",onClick:()=>{this.inputRef.current.value="",this._cacheList=null,this.setState({filterText:""}),this.localStorage.setItem("instances.filter","")},children:a.jsx(w.Close,{})})}):null}}}),a.jsx("div",{style:U.grow}),a.jsx(d.Box,{component:"span",sx:{display:{xs:"none",sm:"inline-block"}},children:t})]}),a.jsx(b.TabContent,{overflow:"auto",children:a.jsx("div",{ref:this.refTabContent,style:this.state.viewMode?U.cards:void 0,children:this.getPanels()})})]})}}const Pa=b.withWidth()(xt);export{Pa as default};
2
+ `),s={variables:{},expressions:[],errors:{}};for(const r of e){const i=r.trim();if(i.length===0||i.startsWith("#"))continue;const o=i.match(/^(.*)=(.*)$/);if(o){const[,l,c]=o;s.variables[l]=c.replace(/["']/g,"");continue}try{const l=Xt.#s(i);s.expressions.push(l.interval)}catch(l){s.errors[i]=l}}return s}static#s(t){const e=t.split(" ");return{interval:Uo.CronExpressionParser.parse(e.slice(0,5).join(" ")),command:e.slice(5,e.length)}}}ht.CronFileParser=Xt;(function(n){var t=Nt&&Nt.__createBinding||(Object.create?(function(h,p,u,f){f===void 0&&(f=u);var m=Object.getOwnPropertyDescriptor(p,u);(!m||("get"in m?!p.__esModule:m.writable||m.configurable))&&(m={enumerable:!0,get:function(){return p[u]}}),Object.defineProperty(h,f,m)}):(function(h,p,u,f){f===void 0&&(f=u),h[f]=p[u]})),e=Nt&&Nt.__exportStar||function(h,p){for(var u in h)u!=="default"&&!Object.prototype.hasOwnProperty.call(p,u)&&t(p,h,u)};Object.defineProperty(n,"__esModule",{value:!0}),n.CronFileParser=n.CronExpressionParser=n.CronExpression=n.CronFieldCollection=n.CronDate=void 0;const s=G;var r=ke;Object.defineProperty(n,"CronDate",{enumerable:!0,get:function(){return r.CronDate}});var i=Kt;Object.defineProperty(n,"CronFieldCollection",{enumerable:!0,get:function(){return i.CronFieldCollection}});var o=us;Object.defineProperty(n,"CronExpression",{enumerable:!0,get:function(){return o.CronExpression}});var l=G;Object.defineProperty(n,"CronExpressionParser",{enumerable:!0,get:function(){return l.CronExpressionParser}});var c=ht;Object.defineProperty(n,"CronFileParser",{enumerable:!0,get:function(){return c.CronFileParser}}),e(wt,n),n.default=s.CronExpressionParser})(Nt);var zo={exports:{}};(function(n,t){(function(s,r){n.exports=r(Bs)})(globalThis,e=>(()=>{var s={93(u){u.exports=e}},r={};function i(u){var f=r[u];if(f!==void 0)return f.exports;var m=r[u]={exports:{}};return s[u](m,m.exports,i),m.exports}i.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return i.d(f,{a:f}),f},i.d=(u,f)=>{for(var m in f)i.o(f,m)&&!i.o(u,m)&&Object.defineProperty(u,m,{enumerable:!0,get:f[m]})},i.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),i.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var o={};i.r(o);var l=i(93),c=i.n(l),h=o;Object.defineProperty(h,"__esModule",{value:!0}),h.en=void 0;var p=(function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!1},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occurred when generating the expression description. Check the cron expression syntax."},u.prototype.everyMinute=function(){return"every minute"},u.prototype.everyHour=function(){return"every hour"},u.prototype.atSpace=function(){return"At "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},u.prototype.at=function(){return"At"},u.prototype.spaceAnd=function(){return" and"},u.prototype.everySecond=function(){return"every second"},u.prototype.everyX0Seconds=function(){return"every %s seconds"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},u.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},u.prototype.everyX0Minutes=function(){return"every %s minutes"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},u.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},u.prototype.everyX0Hours=function(){return"every %s hours"},u.prototype.betweenX0AndX1=function(){return"between %s and %s"},u.prototype.atX0=function(){return"at %s"},u.prototype.commaEveryDay=function(){return", every day"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},u.prototype.commaX0ThroughX1=function(){return", %s through %s"},u.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},u.prototype.first=function(){return"first"},u.prototype.second=function(){return"second"},u.prototype.third=function(){return"third"},u.prototype.fourth=function(){return"fourth"},u.prototype.fifth=function(){return"fifth"},u.prototype.commaOnThe=function(){return", on the "},u.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},u.prototype.lastDay=function(){return"the last day"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},u.prototype.commaOnlyOnX0=function(){return", only on %s"},u.prototype.commaAndOnX0=function(){return", and on %s"},u.prototype.commaEveryX0Months=function(){return", every %s months"},u.prototype.commaOnlyInX0=function(){return", only in %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},u.prototype.firstWeekday=function(){return"first weekday"},u.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},u.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},u.prototype.commaEveryX0Days=function(){return", every %s days in a month"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},u.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},u.prototype.commaEveryHour=function(){return", every hour"},u.prototype.commaEveryX0Years=function(){return", every %s years"},u.prototype.commaStartingX0=function(){return", starting %s"},u.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},u.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},u.prototype.atReboot=function(){return"Run once, at startup"},u.prototype.onTheHour=function(){return"on the hour"},u})();return h.en=p,c().locales.en=new p,o})())})(zo);var Go={exports:{}};(function(n,t){(function(s,r){n.exports=r(Bs)})(globalThis,e=>(()=>{var s={93(u){u.exports=e}},r={};function i(u){var f=r[u];if(f!==void 0)return f.exports;var m=r[u]={exports:{}};return s[u](m,m.exports,i),m.exports}i.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return i.d(f,{a:f}),f},i.d=(u,f)=>{for(var m in f)i.o(f,m)&&!i.o(u,m)&&Object.defineProperty(u,m,{enumerable:!0,get:f[m]})},i.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),i.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var o={};i.r(o);var l=i(93),c=i.n(l),h=o;Object.defineProperty(h,"__esModule",{value:!0}),h.nl=void 0;var p=(function(){function u(){}return u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return null},u.prototype.use24HourTimeFormatByDefault=function(){return!0},u.prototype.everyMinute=function(){return"elke minuut"},u.prototype.everyHour=function(){return"elk uur"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Er is een fout opgetreden bij het vertalen van de gegevens. Controleer de gegevens."},u.prototype.atSpace=function(){return"Om "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Elke minuut tussen %s en %s"},u.prototype.at=function(){return"Om"},u.prototype.spaceAnd=function(){return" en"},u.prototype.everySecond=function(){return"elke seconde"},u.prototype.everyX0Seconds=function(){return"elke %s seconden"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconden %s t/m %s na de minuut"},u.prototype.atX0SecondsPastTheMinute=function(){return"op %s seconden na de minuut"},u.prototype.everyX0Minutes=function(){return"elke %s minuten"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuut %s t/m %s na het uur"},u.prototype.atX0MinutesPastTheHour=function(){return"op %s minuten na het uur"},u.prototype.everyX0Hours=function(){return"elke %s uur"},u.prototype.betweenX0AndX1=function(){return"tussen %s en %s"},u.prototype.atX0=function(){return"om %s"},u.prototype.commaEveryDay=function(){return", elke dag"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", elke %s dagen van de week"},u.prototype.commaX0ThroughX1=function(){return", %s t/m %s"},u.prototype.commaAndX0ThroughX1=function(){return", en %s t/m %s"},u.prototype.first=function(){return"eerste"},u.prototype.second=function(){return"tweede"},u.prototype.third=function(){return"derde"},u.prototype.fourth=function(){return"vierde"},u.prototype.fifth=function(){return"vijfde"},u.prototype.commaOnThe=function(){return", op de "},u.prototype.spaceX0OfTheMonth=function(){return" %s van de maand"},u.prototype.lastDay=function(){return"de laatste dag"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", op de laatste %s van de maand"},u.prototype.commaOnlyOnX0=function(){return", alleen op %s"},u.prototype.commaAndOnX0=function(){return", en op %s"},u.prototype.commaEveryX0Months=function(){return", elke %s maanden"},u.prototype.commaOnlyInX0=function(){return", alleen in %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", op de laatste dag van de maand"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", op de laatste werkdag van de maand"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dagen vóór de laatste dag van de maand"},u.prototype.firstWeekday=function(){return"eerste werkdag"},u.prototype.weekdayNearestDayX0=function(){return"werkdag dichtst bij dag %s"},u.prototype.commaOnTheX0OfTheMonth=function(){return", op de %s van de maand"},u.prototype.commaEveryX0Days=function(){return", elke %s dagen"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tussen dag %s en %s van de maand"},u.prototype.commaOnDayX0OfTheMonth=function(){return", op dag %s van de maand"},u.prototype.commaEveryX0Years=function(){return", elke %s jaren"},u.prototype.commaStartingX0=function(){return", beginnend %s"},u.prototype.daysOfTheWeek=function(){return["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},u.prototype.monthsOfTheYear=function(){return["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"]},u.prototype.onTheHour=function(){return"op het hele uur"},u})();return h.nl=p,c().locales.nl=new p,o})())})(Go);const le={nowrap:{flexFlow:"nowrap",overflow:"hidden"},width:{width:"100%",overflow:"hidden"},tooltip:{pointerEvents:"none"}},at=n=>a.jsxs(d.Grid2,{container:!0,title:n.icon?"":n.tooltip||"",alignItems:"center",direction:"row",spacing:1,style:le.nowrap,children:[n.icon&&a.jsx(d.Grid2,{style:{minWidth:24},children:a.jsx(d.Tooltip,{title:n.tooltip||"",slotProps:{popper:{sx:le.tooltip}},children:n.icon})}),a.jsx(d.Grid2,{style:le.width,children:a.jsx(d.Tooltip,{title:n.tooltip||"",slotProps:{popper:{sx:le.tooltip}},children:a.jsx(d.Typography,{component:"div",style:n.style,children:n.children})})})]}),Zo="data:image/svg+xml,%3csvg%20width='256'%20height='230'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M251.22%20187.856c5.785%2010.045%206.345%2020.608%201.538%2028.958-4.8%208.357-14.192%2013.143-25.768%2013.143h-21.816c.259-4.068.431-8.17.431-12.302%200-4.628-.215-9.198-.531-13.754l14.35-.014c3.528%200%206.38-2.867%206.38-6.403a6.46%206.46%200%200%200-.768-3.053l-91.46-158.97a6.349%206.349%200%200%200-5.54-3.24%206.374%206.374%200%200%200-5.461%203.09l-14.522%2025.243c44.134%2033.27%2073.804%2084.813%2077.864%20143.333.316%204.548.531%209.119.531%2013.753%200%204.132-.172%208.228-.424%2012.302h-71.246c.388-4.053.611-8.148.611-12.302%200-4.649-.273-9.233-.776-13.753-3.52-32.206-19.286-60.748-42.503-80.89l-10.003%2017.376c17.54%2016.325%2029.512%2038.558%2032.767%2063.514.59%204.505.92%209.09.92%2013.753%200%204.154-.273%208.264-.74%2012.302H29.01c-11.576%200-20.968-4.793-25.768-13.15-4.807-8.35-4.247-18.905%201.538-28.958l13.56-23.238a79.42%2079.42%200%200%201%2020.715%2016.052l-8.083%2013.768a6.523%206.523%200%200%200-.77%203.054%206.383%206.383%200%200%200%206.382%206.395l32.033.015c-2.687-15.356-9.772-29.21-19.918-40.183-5.979-6.445-12.963-11.9-20.738-16.074l35.77-62.15a151.427%20151.427%200%200%201%2021.564%2014.624c30.827%2025.013%2051.644%2061.955%2055.416%20103.776h19.172c-3.91-48.892-28.477-92.006-64.937-120.548a171.205%20171.205%200%200%200-21.672-14.457l30.532-53.045C109.583%205.77%20118.42%200%20128.036%200c9.607%200%2018.438%205.77%2024.223%2015.823l98.961%20172.033z'%20fill='%23FB2D26'/%3e%3cline%20stroke-width='33'%20y2='223'%20x2='250.40002'%20y1='8'%20x1='6.40002'%20stroke='%23FB2D26'%20fill='none'/%3e%3cline%20stroke-width='32'%20y2='224'%20x2='8.40002'%20y1='7'%20x1='247.40002'%20stroke='%23FB2D26'%20fill='none'/%3e%3c/svg%3e",Yo={img:{width:"100%",height:"100%"}};class qo extends ft.Component{render(){if(!this.props.links||!this.props.links.length)return null;const t=this.props.links[0].port,e=this.props.links.find(s=>s.port!==t);return a.jsxs(d.Dialog,{onClose:()=>this.props.onClose(),open:!0,children:[a.jsx(d.DialogTitle,{style:{padding:"8px 0 0 0",textAlign:"center"},children:this.props.t("Links")}),a.jsx(d.List,{children:this.props.links.map(s=>a.jsxs(d.ListItemButton,{style:s.color?{backgroundColor:s.color,color:b.Utils.getInvertedColor(s.color,this.props.themeType,!0)}:{},onClick:r=>{r.stopPropagation();let i=s.link;i=i.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),window.open(i,this.props.instanceId),this.props.onClose()},children:[a.jsx(d.ListItemAvatar,{children:a.jsx(d.Avatar,{variant:"rounded",children:a.jsx("img",{style:Yo.img,src:this.props.image,alt:this.props.instanceId})})}),a.jsx(d.ListItemText,{primary:ct.getText(s.name,b.I18n.getLanguage())+(e?` [:${s.port}]`:"")})]},ct.getText(s.name,b.I18n.getLanguage())))})]})}}const Xo=["silly","debug","info","warn","error"],$e=[{value:1,desc:"1: Logic adapters"},{value:2,desc:"2: Data provider adapters"},{value:3,desc:"3: Other adapters"}],Jo="0 2px 2px 0 rgba(0, 0, 0, .14),0 3px 1px -2px rgba(0, 0, 0, .12),0 1px 5px 0 rgba(0, 0, 0, .2)",Ko="0 8px 17px 0 rgba(0, 0, 0, .2),0 6px 20px 0 rgba(0, 0, 0, .19)",Yn={root:n=>({position:"relative",m:"10px",width:300,minHeight:200,background:n.palette.background.default,boxShadow:Jo,display:"flex",flexDirection:"column",transition:"box-shadow 0.5s","&:hover":{boxShadow:Ko}}),imageBlock:{background:"silver",minHeight:60,display:"flex",padding:"0 10px 0 10px",position:"relative",justifyContent:"space-between",transition:"background 0.5s"},logLevel:{width:"100%",marginBottom:5},hostInfo:{width:"100%"},addCompact:{width:"100%",marginBottom:5},selectStyle:{display:"flex",margin:5,justifyContent:"space-around"},hide:{visibility:"hidden"},tooltip:{pointerEvents:"none"},deleting:{position:"relative","&:before":{content:'""',position:"absolute",top:0,left:0,width:"100%",height:"100%",zIndex:100,opacity:".3 !important",background:"repeating-linear-gradient(135deg, #333, #333 10px, #888 10px, #888 20px)"}},enabled:{color:ce[400],"&:hover":{backgroundColor:ce[200]}},disabled:{color:Ut[400],"&:hover":{backgroundColor:Ut[200]}},sentry:{width:24,height:24,objectFit:"fill",filter:"invert(0%) sepia(90%) saturate(1267%) hue-rotate(-260deg) brightness(99%) contrast(97%)"},displayFlex:{display:"flex"},marginLeft5:{marginLeft:5},marginRight5:{marginRight:5},instanceStateNotEnabled1:{backgroundColor:"rgba(192, 192, 192, 0.2)"},instanceStateNotEnabled2:{backgroundColor:"rgba(192, 192, 192, 0.15)"},instanceStateNotAlive1:{backgroundColor:"rgba(255,14,14,0.2)"},instanceStateNotAlive2:{backgroundColor:"rgba(255,14,14, 0.15)"},instanceStateAliveNotConnected1:{backgroundColor:"rgba(255, 177, 0, 0.1)"},instanceStateAliveNotConnected2:{backgroundColor:"rgba(255, 177, 0, 0.15)"},instanceStateAliveAndConnected1:{backgroundColor:"rgba(0, 255, 0, 0.1)"},instanceStateAliveAndConnected2:{backgroundColor:"rgba(0, 255, 0, 0.15)"},statusIcon_green:{border:"2px solid grey",borderRadius:2},statusIcon_red:{border:"2px solid grey",borderRadius:20},statusIcon_orange:{border:0,borderRadius:0},statusIcon_orangeDevice:{border:0,borderRadius:0},statusIcon_blue:{border:"2px solid grey",borderRadius:20},statusIcon_grey:{border:"2px solid grey",borderRadius:20},orangeDevice:{color:pe[300]},button:{padding:"5px",transition:"opacity 0.2s",height:34},hiddenOpacity:{opacity:0,cursor:"default"},smallAvatar:{width:24,height:24},statusIndicator:{marginLeft:8},green:{color:ce[700]},red:{color:Ut[700]},grey:{color:He[700]},blue:{color:"#0055a9"},orange:{color:pe[400]},transparent:{color:"transparent",backgroundColor:"transparent"},silly:{},debug:{backgroundColor:He[700]},info:{backgroundColor:rr[700]},warn:{backgroundColor:nr[700]},error:{backgroundColor:Ut[700]},scheduleIcon:{color:"#dc8e00"},memoryIcon:{color:"#dc8e00"},contrast0:{filter:"contrast(0%)"},hidden:{display:"none"},okSymbol:{width:20,height:20,margin:2,borderRadius:2},okSymbolInner:{width:"calc(100% - 2px)",height:"calc(100% - 2px)",borderRadius:2,margin:1,backgroundColor:"#66bb6a"},editButton:{minHeight:32,"& .admin-edit-button":ct.isTouchDevice()?void 0:{display:"none",maxHeight:32},"&:hover":ct.isTouchDevice()?void 0:{"& .admin-edit-button":{display:"block"}}}};class A extends ft.Component{componentDidMount(){this.props.context.onRegisterClose(this.props.id,this.commandClose)}componentWillUnmount(){this.props.context.onRegisterClose(this.props.id,null)}getDefaultState(t){return{openDialog:!1,openSelectCompactGroup:!1,openDialogCron:!1,openDialogSchedule:!1,openDialogName:!1,openDialogLogLevel:!1,openDialogDelete:!1,openDialogMemoryLimit:!1,openDialogHost:!1,openDialogCompact:!1,openDialogTier:!1,showLinks:!1,showStopAdminDialog:!1,logLevel:t.item.logLevel,logOnTheFly:!1,compactGroup:t.item.compactGroup||0,maxCompactGroupNumber:t.context.maxCompactGroupNumber,tier:t.item.tier,host:t.instance.host,deleteCustom:!1,visibleEdit:!1,expanded:!1}}static isCompact(t){var e;return((e=t==null?void 0:t.common)==null?void 0:e.runAsCompactMode)||!1}isSentry(){var t;return!!((t=this.props.context.states[`system.adapter.${this.props.instance.id}.plugins.sentry.enabled`])!=null&&t.val)}static getSchedule(t){var e;return((e=t==null?void 0:t.common)==null?void 0:e.schedule)||""}static isRunning(t){var e,s;return((e=t==null?void 0:t.common)==null?void 0:e.onlyWWW)||((s=t==null?void 0:t.common)==null?void 0:s.enabled)}static isCompactGroup(t){var e;return((e=t==null?void 0:t.common)==null?void 0:e.compactGroup)||null}static getSentrySettings(t){var e,s;return!!((s=(e=t==null?void 0:t.common)==null?void 0:e.plugins)!=null&&s.sentry)}static isModeSchedule(t){var e;return((e=t==null?void 0:t.common)==null?void 0:e.mode)==="schedule"}static getMemoryLimitMB(t){var e;return((e=t==null?void 0:t.common)==null?void 0:e.memoryLimitMB)||0}static getRestartSchedule(t){var e;return(e=t==null?void 0:t.common)!=null&&e.restartSchedule?t.common.restartSchedule:""}async setCommonValue(t,e){try{await this.props.context.socket.extendObject(t,{common:e})}catch(s){window.alert(s)}}commandClose=()=>this.setState({expanded:!1});toggleSentry(){const t=!this.isSentry();this.props.context.socket.setState(`system.adapter.${this.props.instance.id}.plugins.sentry.enabled`,t,!0).catch(e=>window.alert(`Cannot set sentry: ${e}`))}setTier(t,e){this.setCommonValue(`system.adapter.${t.id}`,{tier:e})}setName(t,e){this.setCommonValue(`system.adapter.${t.id}`,{titleLang:e})}setLogLevel(t,e,s){s?this.props.context.socket.setState(`system.adapter.${t.id}.logLevel`,e):this.setCommonValue(`system.adapter.${t.id}`,{loglevel:e})}setSchedule(t,e){e?this.setCommonValue(`system.adapter.${t.id}`,{schedule:e}):this.props.context.socket.getObject(`system.adapter.${t.id}`).then(s=>{s.common.schedule!==""&&(s.common.schedule="",this.props.context.socket.setObject(s._id,s).catch(r=>window.alert(`Cannot set schedule: ${r}`)))}).catch(s=>window.alert(`Cannot set schedule: ${s}`))}setMemoryLimitMB(t,e){this.setCommonValue(`system.adapter.${t.id}`,{memoryLimitMB:e})}toggleCompactMode(){this.setCommonValue(`system.adapter.${this.props.instance.id}`,{runAsCompactMode:!A.isCompact(this.props.instance.obj)})}setRestartSchedule(t,e){e?this.setCommonValue(`system.adapter.${t.id}`,{restartSchedule:e}):this.props.context.socket.getObject(`system.adapter.${t.id}`).then(s=>{s.common.restartSchedule!==""&&(s.common.restartSchedule="",this.props.context.socket.setObject(s._id,s))})}setHost(t,e){this.setCommonValue(`system.adapter.${t.id}`,{host:e})}setCompactGroup(t,e){e=e==="controller"?0:e==="default"?1:parseInt(e,10),this.setCommonValue(`system.adapter.${t.id}`,{compactGroup:e}),this.props.context.maxCompactGroupNumber<e&&this.props.context.setMaxCompactGroupNumber(e)}getMemory(){const t=this.props.context.states[`${this.props.id}.memRss`];return(t==null?void 0:t.val)||0}renderDeleteDialog(){return a.jsxs(d.Dialog,{onClose:()=>this.setState({openDialogDelete:!1,openDialog:!1}),open:!0,children:[a.jsx(d.DialogTitle,{children:this.props.context.t("Please confirm")}),a.jsxs(d.DialogContent,{children:[this.state.openDialogDelete===1?this.props.context.t('Are you sure you want to delete the instance "%s" or whole adapter "%s"?',this.props.instance.id,this.props.instance.id.split(".")[0]):this.props.context.t("Are you sure you want to delete the instance %s?",this.props.instance.id),this.props.context.deleteCustomSupported&&this.props.instance.obj.common.supportCustoms&&a.jsx("br",{}),this.props.context.deleteCustomSupported&&this.props.instance.obj.common.supportCustoms&&a.jsx(d.FormControlLabel,{control:a.jsx(d.Checkbox,{checked:this.state.deleteCustom,onChange:t=>this.setState({deleteCustom:t.target.checked})}),label:this.props.context.t("Delete all custom object settings of this adapter too")})]}),a.jsxs(d.DialogActions,{children:[this.state.openDialogDelete===1?a.jsx(d.Button,{startIcon:a.jsx(w.Delete,{}),onClick:()=>{this.props.context.onDeleteInstance(this.props.instance,this.state.deleteCustom,!0),this.setState({deleteCustom:!1,openDialogDelete:!1,openDialog:!1})},variant:"contained",style:{background:"red",color:"white"},children:this.props.context.t("Delete adapter")}):null,a.jsx(d.Button,{startIcon:a.jsx(w.Delete,{}),onClick:()=>{this.props.context.onDeleteInstance(this.props.instance,this.state.deleteCustom),this.setState({deleteCustom:!1,openDialogDelete:!1,openDialog:!1})},variant:"contained",color:"primary",children:this.props.context.t("Delete instance")}),a.jsx(d.Button,{color:"grey",onClick:()=>this.setState({openDialogDelete:!1,openDialog:!1}),variant:"contained",startIcon:a.jsx(w.Close,{}),children:this.props.context.t("Cancel")})]})]})}renderEditNameDialog(){return a.jsx(Tt,{theme:this.props.context.theme,title:this.props.context.t("Enter title for %s",this.props.instance.id),disableApplyIfNotChanged:!0,textInput:!0,defaultValue:ct.getText(this.props.item.name,this.props.context.lang),onApply:t=>{this.setName(this.props.instance,t.toString()),this.setState({openDialogName:!1,openDialog:!1})},onClose:()=>this.setState({openDialogName:!1,openDialog:!1})})}renderEditLogLevelDialog(){return a.jsxs(Tt,{theme:this.props.context.theme,title:this.props.context.t("Edit log level rule for %s",this.props.instance.id),onApply:()=>{this.setLogLevel(this.props.instance,this.state.logLevel,this.state.logOnTheFly),this.setState({openDialogLogLevel:!1,openDialog:!1})},disableApply:this.state.logLevel===this.props.item.logLevel,onClose:()=>this.setState({openDialogLogLevel:!1,logLevel:this.props.item.logLevel,openDialog:!1}),children:[a.jsxs(d.FormControl,{style:this.styles.logLevel,variant:"standard",children:[a.jsx(d.InputLabel,{children:this.props.context.t("log level")}),a.jsx(d.Select,{variant:"standard",value:this.state.logLevel,fullWidth:!0,onChange:t=>this.setState({logLevel:t.target.value}),children:Xo.map(t=>a.jsx(d.MenuItem,{value:t,children:this.props.context.t(t)},t))})]}),a.jsxs(d.FormControl,{variant:"outlined",children:[a.jsx(d.FormControlLabel,{control:a.jsx(d.Checkbox,{checked:this.state.logOnTheFly,onChange:t=>this.setState({logOnTheFly:t.target.checked})}),label:this.props.context.t("Without restart")}),a.jsx(d.FormHelperText,{children:this.state.logOnTheFly?this.props.context.t("Will be reset to the saved log level after restart of adapter"):this.props.context.t("Log level will be saved permanently")})]})]})}renderEditMemoryLimitDialog(){return a.jsx(Tt,{theme:this.props.context.theme,title:this.props.context.t("Edit memory limit rule for %s",this.props.instance.id),onApply:t=>{this.setMemoryLimitMB(this.props.instance,parseFloat(t.toString())||0),this.setState({openDialogMemoryLimit:!1,openDialog:!1})},disableApplyIfNotChanged:!0,textInput:!0,defaultValue:this.props.item.memoryLimitMB,help:this.props.context.t("Default V8 has a memory limit of 512mb on 32-bit systems, and 1gb on 64-bit systems. The limit can be raised by setting --max-old-space-size to a maximum of ~1gb (32-bit) and ~1.7gb (64-bit)"),onClose:()=>this.setState({openDialogMemoryLimit:!1,openDialog:!1})})}renderEditHostDialog(){return a.jsx(Tt,{theme:this.props.context.theme,title:this.props.context.t("Edit host for %s",this.props.instance.id),onApply:()=>{this.setHost(this.props.instance,this.state.host),this.setState({openDialogHost:!1,openDialog:!1})},disableApply:this.state.host===this.props.instance.host,onClose:()=>this.setState({openDialogHost:!1,host:this.props.instance.host,openDialog:!1}),children:a.jsx(b.SelectWithIcon,{themeType:this.props.context.themeType,value:this.state.host,list:this.props.context.hosts,removePrefix:"system.host.",fullWidth:!0,style:this.styles.hostInfo,onChange:t=>this.setState({host:t}),lang:this.props.context.lang,t:this.props.context.t})})}renderEditCompactGroupDialog(){return a.jsx(Tt,{theme:this.props.context.theme,title:this.props.context.t("Edit compact groups for %s",this.props.instance.id),onApply:()=>{this.setCompactGroup(this.props.instance,parseInt(this.state.compactGroup.toString(),10)||0),this.setState({openDialogCompact:!1,openDialog:!1})},disableApply:this.state.compactGroup===this.props.item.compactGroup,onClose:()=>this.setState({openDialogCompact:!1,openDialog:!1,compactGroup:this.props.item.compactGroup,maxCompactGroupNumber:this.props.context.maxCompactGroupNumber}),children:a.jsxs(d.FormControl,{style:this.styles.addCompact,variant:"standard",children:[a.jsx(d.InputLabel,{children:this.props.context.t("compact groups")}),a.jsxs(d.Select,{variant:"standard",autoWidth:!0,onClose:()=>this.setState({openSelectCompactGroup:!1}),onOpen:()=>this.setState({openSelectCompactGroup:!0}),open:this.state.openSelectCompactGroup,value:(this.state.compactGroup===1?"default":(this.state.compactGroup||"").toString()==="0"?"controller":this.state.compactGroup?this.state.compactGroup:"default")||"default",onChange:t=>this.setState({compactGroup:parseInt(t.target.value,10)}),children:[a.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation()},style:this.styles.selectStyle,children:a.jsx(d.Button,{color:"grey",onClick:()=>this.setState({openSelectCompactGroup:!1,compactGroup:this.state.maxCompactGroupNumber+1,maxCompactGroupNumber:this.state.maxCompactGroupNumber+1}),variant:"outlined",children:this.props.context.t("Add compact group")})}),a.jsx(d.MenuItem,{value:"controller",children:this.props.context.t("with js-controller")}),a.jsx(d.MenuItem,{value:"default",children:this.props.context.t("default group")}),Array(this.state.maxCompactGroupNumber-1).fill(0).map((t,e)=>a.jsx(d.MenuItem,{value:(e+2).toString(),children:e+2},e))]})]})})}renderEditTierDialog(){return a.jsx(Tt,{theme:this.props.context.theme,title:this.props.context.t("Set tier for %s",this.props.instance.id),onApply:()=>{this.setTier(this.props.instance,this.state.tier),this.setState({openDialogTier:!1,openDialog:!1})},help:this.props.context.t("Tiers define the order of adapters when the system starts."),disableApply:this.state.tier===this.props.item.tier,onClose:()=>this.setState({openDialogTier:!1,tier:this.props.item.tier,openDialog:!1}),children:a.jsxs(d.FormControl,{style:this.styles.logLevel,variant:"standard",children:[a.jsx(d.InputLabel,{children:this.props.context.t("Tiers")}),a.jsx(d.Select,{variant:"standard",value:this.state.tier,fullWidth:!0,onChange:t=>this.setState({tier:parseInt(t.target.value,10)}),children:$e.map(t=>a.jsx(d.MenuItem,{value:t.value,children:this.props.context.t(t.desc)},t.value))})]})})}renderStopAdminDialog(){return this.state.showStopAdminDialog?a.jsx(b.DialogConfirm,{title:this.props.context.t("Please confirm"),text:this.props.context.t("stop_admin",this.props.context.adminInstance),ok:this.props.context.t("Stop admin"),onClose:t=>{t&&this.setCommonValue(this.state.showStopAdminDialog,{enabled:!1}),this.setState({showStopAdminDialog:!1,openDialog:!1})}}):null}renderLinksDialog(){return this.state.showLinks?a.jsx(qo,{image:this.props.instance.image,instanceId:this.props.instance.id,links:this.props.instance.links,onClose:()=>this.setState({showLinks:!1,openDialog:!1}),t:this.props.context.t,themeType:this.props.context.themeType}):null}renderCronDialog(){return a.jsx(b.DialogComplexCron,{title:this.props.context.t("Edit restart rule for %s",this.props.instance.id),clearButton:!0,cron:A.getRestartSchedule(this.props.instance.obj),onOk:t=>this.setRestartSchedule(this.props.instance,t),onClose:()=>this.setState({openDialogCron:!1,openDialog:!1})})}renderScheduleDialog(){return a.jsx(b.DialogComplexCron,{title:this.props.context.t("Edit schedule rule for %s",this.props.instance.id),clearButton:!0,cron:A.getSchedule(this.props.instance.obj),onOk:t=>this.setSchedule(this.props.instance,t),onClose:()=>this.setState({openDialogSchedule:!1,openDialog:!1})})}renderDialogs(){return this.state.openDialog?this.state.openDialogDelete?this.renderDeleteDialog():this.state.openDialogHost?this.renderEditHostDialog():this.state.openDialogTier?this.renderEditTierDialog():this.state.openDialogCompact?this.renderEditCompactGroupDialog():this.state.openDialogLogLevel?this.renderEditLogLevelDialog():this.state.openDialogName?this.renderEditNameDialog():this.state.showStopAdminDialog?this.renderStopAdminDialog():this.state.openDialogCron?this.renderCronDialog():this.state.openDialogSchedule?this.renderScheduleDialog():this.state.showLinks?this.renderLinksDialog():this.state.openDialogMemoryLimit?this.renderEditMemoryLimitDialog():null:null}renderModeIcon(t){return a.jsx("div",{style:{...this.styles.smallAvatar,...this.styles.statusIndicator,...this.props.instance.mode==="daemon"||this.props.instance.mode==="schedule"?this.styles[t]:this.styles.transparent,...this.props.item.connectedToHost&&this.props.item.alive&&this.props.item.connected===!1?this.styles.orangeDevice:void 0},children:this.getModeIcon(this.props.instance.mode,t,this.styles[`statusIcon_${t}`],this.props.item.stoppedWhenWebExtension)})}getModeIcon(t,e,s,r){return t==="daemon"?r?a.jsx("div",{style:{...s,...this.styles.okSymbol},children:a.jsx("div",{style:this.styles.okSymbolInner})}):e==="orange"?a.jsx(w.Warning,{style:s}):e==="green"?a.jsx("div",{style:{...s,...this.styles.okSymbol},children:a.jsx("div",{style:this.styles.okSymbolInner})}):a.jsx(w.Settings,{style:s}):t==="schedule"?a.jsx(w.Schedule,{style:s}):null}renderTooltip(){const{instance:t,item:e}=this.props;let s,r,i;if(t.mode==="schedule"&&t.schedule){try{i=Qn.toString(t.schedule,{locale:this.props.context.lang})}catch{i=t.schedule}if(t.enabled)try{const o=Nt.CronExpressionParser.parse(t.schedule);s=o.next().toDate(),r=o.prev().toDate()}catch{s=null,r=null}}return[e.stoppedWhenWebExtension!==void 0?a.jsx(rt,{state:!0,children:this.props.context.t("Runs as web-extension")},1):"",t.mode==="daemon"&&this.props.item.stoppedWhenWebExtension===void 0?a.jsx(rt,{state:e.connectedToHost,children:this.props.context.t("Connected to host")},2):"",t.mode==="daemon"&&this.props.item.stoppedWhenWebExtension===void 0?a.jsx(rt,{state:e.alive,children:this.props.context.t("Heartbeat")},3):"",this.props.item.connected!==null&&this.props.item.stoppedWhenWebExtension===void 0?a.jsx(rt,{state:!!e.connected,children:typeof e.connected=="string"?`${this.props.context.t("Connected:")} ${e.connected||"-"}`:this.props.context.t("Connected to device or service")},4):"",i?a.jsxs(rt,{state:t.enabled,children:["CRON:",i]},5):null,s?a.jsx(rt,{state:!0,children:this.props.context.t("Next start: %s",`${s.toLocaleDateString(this.props.context.lang)} ${s.toLocaleTimeString(this.props.context.lang)}`)},6):null,r?a.jsx(rt,{state:!0,children:this.props.context.t("Last start: %s",`${r.toLocaleDateString(this.props.context.lang)} ${r.toLocaleTimeString(this.props.context.lang)}`)},7):null].filter(o=>o)}renderMemoryUsage(){return this.props.item.running&&a.jsx(at,{icon:a.jsx(w.Memory,{}),tooltip:this.props.context.t("RAM usage"),children:`${this.props.instance.mode==="daemon"&&!A.isCompact(this.props.instance.obj)?this.getMemory():"-.--"} MB`})}renderPlayPause(){return a.jsx(d.Tooltip,{title:this.props.context.t("Start/stop"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx("div",{children:a.jsx(d.IconButton,{size:"small",onClick:t=>{t.stopPropagation(),t.preventDefault(),this.props.item.running&&this.props.instance.id===this.props.context.adminInstance?this.setState({showStopAdminDialog:`system.adapter.${this.props.instance.id}`,openDialog:!0}):this.setCommonValue(`system.adapter.${this.props.instance.id}`,{enabled:!this.props.item.running})},onFocus:t=>t.stopPropagation(),sx:{...this.styles.button,...this.props.instance.canStart?this.props.item.running?this.styles.enabled:this.styles.disabled:this.styles.hide},children:this.props.item.running?a.jsx(w.Pause,{}):a.jsx(w.PlayArrow,{})})})})}renderSettingsButton(){return a.jsx(d.Tooltip,{title:this.props.instance.config?this.props.context.t("Settings"):"",slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx("div",{children:a.jsx(d.IconButton,{disabled:!this.props.instance.config,size:"small",style:{...this.styles.button,...this.props.instance.config?void 0:this.styles.hiddenOpacity},onClick:t=>{t.stopPropagation(),t.preventDefault(),this.props.saveScrollPosition(),b.Router.doNavigate("tab-instances","config",this.props.id)},children:a.jsx(w.Build,{})})})})}renderRestartButton(){return a.jsx(d.Tooltip,{title:this.props.context.t("Restart"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx("div",{children:a.jsx(d.IconButton,{size:"small",onClick:t=>{t.stopPropagation(),t.preventDefault(),this.props.context.socket.extendObject(`system.adapter.${this.props.instance.id}`,{})},onFocus:t=>t.stopPropagation(),style:{...this.styles.button,...this.props.instance.canStart?void 0:this.styles.hide},disabled:!this.props.item.running,children:a.jsx(w.Refresh,{})})})})}renderLink(){return a.jsx(d.Tooltip,{title:this.props.context.t("Instance link %s",this.props.instance.id),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx("div",{children:a.jsx(d.IconButton,{size:"small",style:{...this.styles.button,...!this.props.instance.links||!this.props.instance.links[0]?this.styles.hide:void 0},disabled:!this.props.item.running,onClick:t=>{if(t.stopPropagation(),t.preventDefault(),this.props.instance.links.length===1){let e=this.props.instance.links[0].link;e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//$1$2/"),window.open(e,this.props.instance.id)}else this.setState({showLinks:!0,openDialog:!0})},onFocus:t=>t.stopPropagation(),children:a.jsx(w.Input,{})})})})}renderEditNameButton(){return a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:{...this.styles.button,...this.state.visibleEdit?void 0:this.styles.hiddenOpacity},onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogName:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})}renderInputOutput(){return a.jsx(at,{icon:a.jsx(w.ImportExport,{}),children:a.jsxs("div",{style:this.styles.displayFlex,children:[a.jsx(d.Tooltip,{title:this.props.context.t("input events"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsxs("div",{style:this.styles.marginRight5,children:["⇥",this.props.item.inputOutput.stateInput]})}),"/",a.jsx(d.Tooltip,{title:this.props.context.t("output events"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsxs("div",{style:this.styles.marginLeft5,children:["↦",this.props.item.inputOutput.stateOutput]})})]})})}renderHost(){return a.jsx(b.TextWithIcon,{value:this.props.instance.host,list:this.props.context.hosts,removePrefix:"system.host.",themeType:this.props.context.themeType,lang:this.props.context.lang})}renderEditHostButton(){return a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",style:this.styles.button,className:"admin-edit-button",onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogHost:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})}renderSentry(){return this.props.item.checkSentry?a.jsx(d.Tooltip,{title:"sentry",slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.toggleSentry()},children:a.jsx(d.CardMedia,{style:{...this.styles.sentry,...this.props.item.sentry?void 0:this.styles.contrast0},component:"img",image:this.props.item.sentry?tr:Zo})})}):null}renderCompactGroupEnabled(){return a.jsx(d.Tooltip,{title:this.props.context.t("compact groups"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",style:{...this.styles.button,...this.props.context.expertMode&&this.props.item.checkCompact?void 0:this.styles.hide},onClick:t=>{t.stopPropagation(),t.preventDefault(),this.toggleCompactMode()},children:a.jsx(w.ViewCompact,{color:this.props.item.compact?"primary":"inherit"})})})}renderVersion(){return a.jsxs(at,{tooltip:this.props.context.t("Installed"),children:["v",this.props.instance.version]})}renderInfo(t){return a.jsxs(a.Fragment,{children:[t?void 0:a.jsx("span",{style:this.styles.instanceName,children:this.props.instance.id}),this.props.item.stoppedWhenWebExtension!==void 0&&a.jsx(rt,{state:this.props.item.stoppedWhenWebExtension,children:this.props.context.t("Runs as web-extension")}),this.props.item.running&&this.props.instance.mode==="daemon"&&this.props.item.stoppedWhenWebExtension===void 0&&a.jsx(rt,{state:this.props.item.connectedToHost,children:this.props.context.t("Connected to host")}),this.props.item.running&&this.props.instance.mode==="daemon"&&this.props.item.stoppedWhenWebExtension===void 0&&a.jsx(rt,{state:this.props.item.alive,children:this.props.context.t("Heartbeat")}),this.props.item.running&&this.props.item.connected!==null&&this.props.item.stoppedWhenWebExtension===void 0&&a.jsx(rt,{state:!!this.props.item.connected,children:typeof this.props.item.connected=="string"?`${this.props.context.t("Connected:")} ${this.props.item.connected||"-"}`:this.props.context.t("Connected to device or service")})]})}renderLogLevel(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:this.props.item.loglevelIcon,tooltip:this.props.item.logLevelObject===this.props.item.logLevel?`${this.props.context.t("loglevel")} ${this.props.item.logLevel}`:`${this.props.context.t("saved:")} ${this.props.item.logLevelObject} / ${this.props.context.t("actual:")} ${this.props.item.logLevel}`,children:this.props.item.logLevelObject===this.props.item.logLevel?this.props.item.logLevel:`${this.props.item.logLevelObject} / ${this.props.item.logLevel}`}),a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogLogLevel:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})]})}renderSchedule(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.Schedule,{}),tooltip:this.props.context.t("schedule_group"),children:A.getSchedule(this.props.instance.obj)||"-"}),a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogSchedule:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})]})}renderRestartSchedule(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.Schedule,{style:this.styles.scheduleIcon}),tooltip:this.props.context.t("restart"),children:A.getRestartSchedule(this.props.instance.obj)||"-"}),a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogCron:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})]})}renderRamLimit(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.Memory,{style:this.styles.memoryIcon}),tooltip:this.props.context.t("RAM limit"),children:`${this.props.item.memoryLimitMB?this.props.item.memoryLimitMB:"-.--"} MB`}),a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogMemoryLimit:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})]})}renderCompactGroup(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.ViewCompact,{style:this.styles.marginRight5,color:"inherit"}),tooltip:this.props.context.t("compact groups"),children:(this.props.item.compactGroup===1?"default":(this.props.item.compactGroup||"").toString()==="0"?"controller":this.props.item.compactGroup?this.props.item.compactGroup:"default").toString()||"default"}),a.jsx(d.Tooltip,{title:this.props.context.t("Edit"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:t=>{t.stopPropagation(),t.preventDefault(),this.setState({openDialogCompact:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})})]})}renderTier(){var t;return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.LowPriority,{style:this.styles.marginRight5,color:"inherit"}),tooltip:this.props.context.t("Start order (tier)"),children:this.props.instance.adapter==="admin"?this.props.context.t("Always first"):this.props.context.t(((t=$e.find(e=>e.value===this.props.item.tier))==null?void 0:t.desc)||$e[2].desc)}),this.props.instance.adapter!=="admin"?a.jsx(d.Tooltip,{title:this.props.context.t("Edit start order (tier)"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",className:"admin-edit-button",style:this.styles.button,onClick:e=>{e.stopPropagation(),e.preventDefault(),this.setState({openDialogTier:!0,openDialog:!0})},children:a.jsx(w.Edit,{})})}):null]})}renderHostWithButton(){return a.jsxs(a.Fragment,{children:[a.jsx(at,{icon:a.jsx(w.Storage,{style:this.styles.marginRight5}),tooltip:this.props.context.t("Host for this instance"),children:this.renderHost()}),this.renderEditHostButton()]})}renderDeleteButton(){return a.jsx(d.Tooltip,{title:this.props.context.t("Delete"),slotProps:{popper:{sx:this.styles.tooltip}},children:a.jsx(d.IconButton,{size:"small",style:this.styles.button,onClick:async t=>{t.stopPropagation(),t.preventDefault();let e=!0;try{const s=await this.props.context.socket.getAdapterInstances(this.props.instance.id.split(".")[0]);e=Array.isArray(s)?s.length||!0:!0}catch(s){console.warn("Cannot read adapter instances before delete:",s)}this.setState({openDialogDelete:e,openDialog:!0})},children:a.jsx(w.Delete,{})})})}render(){return a.jsx("div",{children:this.state.expanded})}}const O={...Yn,fab:{position:"absolute",bottom:-20,width:40,height:40,right:20},collapse:n=>({height:"100%",backgroundColor:n.palette.mode==="dark"?"#4a4a4a":"#d4d4d4",position:"absolute",width:"100%",zIndex:3,marginTop:"auto",bottom:0,transition:"height 0.3s",justifyContent:"space-between",display:"flex",flexDirection:"column"}),collapseOff:{height:0},close:{width:20,height:20,opacity:.9,cursor:"pointer",position:"relative",marginLeft:"auto",mb:"10px",transition:"all 0.6s ease","&:hover":{transform:"rotate(90deg)"},"&:before":{position:"absolute",left:9,content:'""',height:20,width:3,backgroundColor:"#ff4f4f",transform:"rotate(45deg)"},"&:after":{position:"absolute",left:9,content:'""',height:20,width:3,backgroundColor:"#ff4f4f",transform:"rotate(-45deg)"}},footerBlock:n=>({background:n.palette.background.default,p:"10px",display:"flex",justifyContent:"space-between"}),versionDate:{alignSelf:"center"},adapter:{width:"100%",fontWeight:"bold",fontSize:16,verticalAlign:"middle",paddingLeft:8,paddingTop:16},cardContent:{mt:2,paddingTop:0},cardContentH5:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between"},marginTop10:{marginTop:10},overflowAuto:{overflow:"auto"},collapseIcon:n=>({position:"sticky",right:0,top:0,background:n.palette.mode==="dark"?"#4a4a4a":"#d4d4d4",zIndex:2}),enableButton:{display:"flex",justifyContent:"space-between"},instanceName:{fontSize:16,padding:4,paddingBottom:15,fontWeight:"bold"},img:{width:45,height:45,margin:"auto 0",position:"relative","&:after":{content:'""',position:"absolute",zIndex:2,top:0,left:0,width:"100%",height:"100%",background:'url("img/no-image.svg") 100% 100% no-repeat',backgroundSize:"cover",backgroundColor:"#fff"}},instanceStateNotEnabled1:n=>({backgroundColor:"rgba(192, 192, 192, 0.2)",color:n.palette.mode==="dark"?"#CCC":"#333"}),instanceStateNotAlive1:n=>({backgroundColor:"rgba(192, 192, 192, 0.7)",color:n.palette.mode==="dark"?"#CCC":"#333"}),instanceStateAliveNotConnected1:n=>({backgroundColor:"rgba(255, 177, 0, 0.4)",color:n.palette.mode==="dark"?"#CCC":"#333"}),instanceStateAliveAndConnected1:n=>({backgroundColor:"rgba(0, 255, 0, 0.4)",color:n.palette.mode==="dark"?"#CCC":"#333"})};class Qo extends A{styles=O;constructor(t){super(t),this.state=Object.assign(this.getDefaultState(t),{mouseOver:!1})}renderSecondCardInfo(){var s;if(this.props.deleting||!this.state.expanded)return null;const{item:t,instance:e}=this.props;return a.jsxs(d.Box,{component:"div",sx:b.Utils.getStyle(this.props.context.theme,O.collapse,this.state.expanded?"":O.collapseOff,this.props.deleting&&O.deleting),children:[a.jsxs(d.CardContent,{sx:{"&.MuiCardContent-root":{...O.cardContent,...O.overflowAuto}},children:[a.jsx(d.Box,{component:"div",sx:O.collapseIcon,children:a.jsx(d.Box,{component:"div",sx:O.close,onClick:()=>{this.state.openDialog||this.setState({expanded:!1},()=>this.props.context.onToggleExpanded(this.props.id,!1))}})}),a.jsxs(d.Typography,{gutterBottom:!0,component:"span",variant:"body2",children:[this.renderInfo(),this.renderVersion(),this.renderMemoryUsage(),t.running&&this.props.context.expertMode&&a.jsx("div",{style:O.displayFlex,children:this.renderInputOutput()}),this.props.context.expertMode&&a.jsx("div",{style:O.displayFlex,children:this.renderRamLimit()}),this.props.context.expertMode&&a.jsx("div",{style:O.displayFlex,children:this.renderLogLevel()}),t.modeSchedule&&a.jsx("div",{style:O.displayFlex,children:this.renderSchedule()}),this.props.context.expertMode&&e.mode==="daemon"&&a.jsx("div",{style:O.displayFlex,children:this.renderRestartSchedule()}),this.props.context.expertMode&&t.checkCompact&&t.compact&&t.supportCompact&&a.jsx("div",{style:O.displayFlex,children:this.renderCompactGroup()}),this.props.context.expertMode&&a.jsx("div",{style:O.displayFlex,children:this.renderTier()}),this.props.context.hosts.length>1||this.props.context.hosts.length&&((s=this.props.context.hosts[0].common)==null?void 0:s.name)!==e.host?a.jsx("div",{style:O.displayFlex,children:this.renderHostWithButton()}):null,a.jsx(vt,{config:t,name:"allowInstanceSettings",children:a.jsx(d.Box,{component:"div",sx:{display:{sm:"none",xs:"inline-block"}},children:this.renderSettingsButton()})})]})]}),a.jsxs(d.Box,{component:"div",sx:O.footerBlock,children:[a.jsx(vt,{config:t,name:"allowInstanceDelete",children:a.jsx("div",{style:O.displayFlex,children:this.renderDeleteButton()})}),this.props.context.expertMode&&t.checkSentry&&a.jsx("div",{style:O.displayFlex,children:this.renderSentry()}),t.supportCompact&&this.props.context.expertMode&&t.checkCompact&&a.jsx("div",{style:O.displayFlex,children:this.renderCompactGroupEnabled()})]})]})}render(){const{item:t,instance:e}=this.props;return a.jsxs(d.Card,{sx:b.Utils.getStyle(this.props.context.theme,O.root,this.props.hidden&&O.hidden),children:[this.state.openDialog&&this.renderDialogs(),this.renderSecondCardInfo(),a.jsxs(d.Box,{component:"div",sx:b.Utils.getStyle(this.props.context.theme,O.imageBlock,(!t.running||e.mode!=="daemon"||t.stoppedWhenWebExtension!==void 0)&&O.instanceStateNotEnabled1,t.running&&e.mode==="daemon"&&t.stoppedWhenWebExtension===void 0&&(!t.connectedToHost||!t.alive)&&O.instanceStateNotAlive1,t.running&&t.connectedToHost&&t.alive&&t.connected===!1&&O.instanceStateAliveNotConnected1,t.running&&t.connectedToHost&&t.alive&&t.connected!==!1&&O.instanceStateAliveAndConnected1),children:[a.jsx(d.CardMedia,{sx:O.img,component:"img",image:e.image||"img/no-image.svg"}),a.jsx("div",{style:O.adapter,children:e.id}),a.jsx("div",{style:O.versionDate}),this.state.expanded?null:a.jsx(d.Fab,{onMouseOver:()=>this.setState({mouseOver:!0}),onMouseOut:()=>this.setState({mouseOver:!1}),onClick:()=>this.setState({expanded:!0},()=>this.props.context.onToggleExpanded(this.props.id,!0)),style:O.fab,color:"primary","aria-label":"add",children:a.jsx(w.MoreVert,{})})]}),a.jsxs(d.CardContent,{style:O.cardContentH5,children:[a.jsx(d.Typography,{gutterBottom:!0,variant:"h5",component:"h5",children:a.jsxs("div",{onMouseEnter:()=>this.setState({visibleEdit:!0}),onMouseLeave:()=>this.setState({visibleEdit:!1}),style:O.displayFlex,children:[ct.getText(t.name,this.props.context.lang),this.renderEditNameButton()]})}),a.jsx("div",{style:O.marginTop10,children:a.jsxs(d.Typography,{component:"span",style:O.enableButton,children:[this.renderPlayPause(),a.jsx(d.Box,{component:"div",sx:{display:{sm:"inline-block",xs:"none"}},children:this.renderSettingsButton()}),this.renderRestartButton(),a.jsx(vt,{config:t,name:"allowInstanceLink",children:this.renderLink()})]})})]})]})}}const x={...Yn,row:{pl:1,pr:2,p:0},expanded:{minHeight:64},invisible:{opacity:0},instanceIcon:{height:42,width:42,"@media screen and (max-width: 800px)":{height:28,width:28,ml:"4px"}},hidden1250:{display:"flex",width:200,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis","@media screen and (max-width: 1500px)":{display:"none !important"}},visible1250:{display:"flex",width:200,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis","@media screen and (max-width: 1500px)":{display:"flex !important"}},visible1050:{display:"none","@media screen and (max-width: 1120px)":{display:"flex !important"}},hidden1050:{display:"flex","@media screen and (max-width: 1120px)":{display:"none !important"}},hidden800:{display:"flex","@media screen and (max-width: 800px)":{display:"none !important"}},visible800:{display:"none","@media screen and (max-width: 800px)":{display:"flex !important"}},hidden570:{display:"flex","@media screen and (max-width: 650px)":{display:"none !important"}},visible570:{display:"none","@media screen and (max-width: 650px)":{display:"flex !important"}},hidden1230:{"@media screen and (max-width: 1300px)":{display:"none !important"}},hidden380:{display:"flex","@media screen and (max-width: 380px)":{display:"none !important"}},instanceId:{overflow:"hidden",alignSelf:"center",fontSize:16,ml:"5px",maxWidth:150,minWidth:100,whiteSpace:"nowrap",textOverflow:"ellipsis",flexGrow:2,"@media screen and (max-width: 380px)":{width:"70px !important",minWidth:"70px !important"},"@media screen and (max-width: 480px)":{width:100}},secondaryHeading:{maxWidth:200,fontSize:12},secondaryHeadingDiv:{display:"flex",alignItems:"center",width:200},secondaryHeadingDivDiv:{whiteSpace:"nowrap",overflow:"hidden",padding:5,textOverflow:"ellipsis",maxWidth:200},gridStyle:{display:"flex",minWidth:270,lineHeight:"34px",justifyContent:"space-around",alignItems:"center","@media screen and (max-width: 480px)":{minWidth:"auto !important",ml:"10px"},"@media screen and (max-width: 335px)":{ml:"0px"}},paddingRight200:{},maxWidth300:{width:300,"@media screen and (max-width: 480px)":{width:"250px !important"}},width150:{width:150},desktopRow:{minHeight:0},desktopIcon:{height:32,width:32,mt:1},desktopRowContent:{mt:"2px",mb:"2px"},desktopButton:{},rowGridLine:{marginTop:-2}};class ta extends A{desktop=window.innerWidth>1e3;styles=x;constructor(t){super(t),this.state=this.getDefaultState(t)}renderDetails(){var s;const{instance:t,item:e}=this.props;return a.jsx(d.AccordionDetails,{children:a.jsxs(d.Grid2,{container:!0,direction:"row",children:[a.jsxs(d.Grid2,{container:!0,direction:"row",size:{xs:10},children:[a.jsx(d.Grid2,{container:!0,direction:"column",size:{xs:12,sm:6,md:4},children:this.renderInfo(!0)}),a.jsx(d.Grid2,{container:!0,direction:"column",size:{xs:12,sm:6,md:4},children:this.renderVersion()}),a.jsxs(d.Grid2,{container:!0,direction:"column",size:{xs:12,sm:6,md:4},style:x.paddingRight200,children:[this.props.context.expertMode&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderLogLevel()}),e.running&&this.props.context.expertMode&&a.jsx(d.Box,{component:"div",sx:x.visible1250,children:this.renderInputOutput()}),a.jsx(d.Grid2,{sx:x.visible1050,children:this.renderMemoryUsage()}),e.modeSchedule&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderSchedule()}),this.props.context.expertMode&&t.mode==="daemon"&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderRestartSchedule()}),this.props.context.expertMode&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderRamLimit()}),this.props.context.expertMode&&e.checkCompact&&e.compact&&e.supportCompact&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderCompactGroup()}),this.props.context.expertMode&&a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderTier()}),a.jsxs(d.Box,{component:"div",sx:{...x.maxWidth300,...x.visible800,...x.editButton},children:[a.jsx(at,{children:ct.getText(e.name,this.props.context.lang)}),this.renderEditNameButton()]}),this.props.context.hosts.length>1||this.props.context.hosts.length&&((s=this.props.context.hosts[0].common)==null?void 0:s.name)!==t.host?a.jsx(d.Box,{component:"div",sx:{...x.displayFlex,...x.maxWidth300,...x.editButton},children:this.renderHostWithButton()}):null]})]}),a.jsxs("div",{style:x.displayFlex,children:[a.jsx(vt,{config:e,name:"allowInstanceDelete",children:a.jsx(d.Box,{component:"div",sx:{display:{xs:"inline-block",md:"none"}},children:this.renderSettingsButton()})}),a.jsx(d.Box,{component:"div",sx:{display:{md:"none",xs:"inline-block"}},children:this.renderRestartButton()}),a.jsx(vt,{config:e,name:"allowInstanceLink",children:a.jsx(d.Box,{component:"div",sx:{display:{md:"none",xs:"inline-block"}},children:this.renderLink()})}),a.jsx(vt,{config:e,name:"allowInstanceDelete",children:this.renderDeleteButton()}),this.props.context.expertMode&&e.checkSentry&&a.jsx(d.Box,{component:"div",sx:x.visible570,children:this.renderSentry()}),a.jsx(d.Box,{component:"div",sx:x.visible570,children:this.renderCompactGroupEnabled()})]})]})})}render(){var o;const{instance:t,item:e}=this.props,s=this.props.context.getInstanceStatus(t.obj),r=this.renderTooltip(),i={...x.row,...(!e.running||t.mode!=="daemon"||e.stoppedWhenWebExtension!==void 0)&&(this.props.idx%2===0?x.instanceStateNotEnabled1:x.instanceStateNotEnabled2),...e.running&&t.mode==="daemon"&&e.stoppedWhenWebExtension===void 0&&(!e.connectedToHost||!e.alive)?this.props.idx%2===0?x.instanceStateNotAlive1:x.instanceStateNotAlive2:void 0,...e.running&&e.connectedToHost&&e.alive&&e.connected===!1?this.props.idx%2===0?x.instanceStateAliveNotConnected1:x.instanceStateAliveNotConnected2:void 0,...e.running&&e.connectedToHost&&e.alive&&e.connected!==!1?this.props.idx%2===0?x.instanceStateAliveAndConnected1:x.instanceStateAliveAndConnected2:void 0,...this.desktop?x.desktopRow:void 0,...this.state.expanded&&!this.props.deleting?x.expanded:void 0};return a.jsxs(d.Accordion,{square:!0,sx:{"&.MuiAccordion-root":{...this.props.deleting?x.deleting:void 0,...this.props.hidden?x.hidden:void 0}},expanded:this.state.expanded&&!this.props.deleting,onChange:()=>{this.state.openDialog||this.setState({expanded:!this.state.expanded},()=>this.props.context.onToggleExpanded(this.props.id,this.state.expanded))},children:[a.jsxs(d.AccordionSummary,{sx:{"&.MuiAccordionSummary-root":i,"& .MuiAccordionSummary-content":this.desktop?x.desktopRowContent:void 0},expandIcon:a.jsx(w.ExpandMore,{style:this.desktop?x.desktopButton:void 0}),children:[this.renderDialogs(),a.jsxs(d.Grid2,{container:!0,spacing:1,alignItems:"center",direction:"row",wrap:"nowrap",style:x.rowGridLine,children:[a.jsxs(d.Box,{component:"div",style:x.gridStyle,children:[r.length?a.jsx(d.Tooltip,{slotProps:{popper:{sx:x.tooltip}},title:a.jsx("span",{style:{display:"flex",flexDirection:"column"},children:r}),children:this.renderModeIcon(s)}):this.renderModeIcon(s),a.jsx(d.Avatar,{variant:"square",alt:t.id,src:t.image,sx:{...x.instanceIcon,...this.desktop?x.desktopIcon:void 0}}),a.jsx(d.Box,{component:"div",sx:x.instanceId,children:t.id})]}),this.renderPlayPause(),a.jsx(vt,{config:e,name:"allowInstanceSettings",children:a.jsx(d.Box,{component:"div",sx:{display:{md:"inline-block",xs:"none"}},children:this.renderSettingsButton()})}),a.jsx(d.Box,{component:"div",sx:{display:{md:"inline-block",xs:"none"}},children:this.renderRestartButton()}),a.jsx(vt,{config:e,name:"allowInstanceLink",children:a.jsx(d.Box,{component:"div",sx:{display:{md:"inline-block",xs:"none"}},children:this.renderLink()})}),a.jsx(d.Typography,{sx:{...x.secondaryHeading,...x.hidden800},component:"div",children:a.jsxs("div",{onMouseEnter:()=>this.setState({visibleEdit:!0}),onMouseLeave:()=>this.setState({visibleEdit:!1}),style:x.secondaryHeadingDiv,children:[a.jsx("div",{style:x.secondaryHeadingDivDiv,children:ct.getText(e.name,this.props.context.lang)}),this.renderEditNameButton()]})}),this.props.context.expertMode&&a.jsx(d.Box,{component:"div",sx:{...x.hidden1250,...t.mode!=="daemon"||!e.running?x.invisible:void 0},children:this.renderInputOutput()}),this.props.context.expertMode&&a.jsx(d.Tooltip,{title:e.logLevelObject===e.logLevel?`${this.props.context.t("loglevel")} ${e.logLevel}`:`${this.props.context.t("saved:")} ${e.logLevelObject} / ${this.props.context.t("actual:")} ${e.logLevel}`,slotProps:{popper:{sx:x.tooltip}},children:a.jsx(d.Avatar,{sx:{...x.smallAvatar,...x.hidden380,...x[e.logLevel]},children:e.loglevelIcon})}),a.jsx(d.Grid2,{sx:{...x.hidden1050,...x.width150,...t.mode!=="daemon"||!e.running?x.invisible:void 0},children:this.renderMemoryUsage()}),this.props.context.hosts.length>1||this.props.context.hosts.length&&((o=this.props.context.hosts[0].common)==null?void 0:o.name)!==t.host?a.jsx(d.Grid2,{sx:x.hidden1230,children:this.renderHost()}):null]}),this.props.context.expertMode&&e.checkSentry&&a.jsx(d.Box,{component:"div",sx:x.hidden570,children:this.renderSentry()}),a.jsx(d.Box,{component:"div",sx:x.hidden570,children:this.renderCompactGroupEnabled()})]}),this.state.expanded?this.renderDetails():null,this.renderDialogs()]})}}const ea="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='24px'%20viewBox='0%200%2024%2024'%20width='24px'%20fill='%23FB2D26'%3e%3cg%3e%3cpath%20d='M0,0h24%20M24,24H0'%20fill='currentColor'/%3e%3cpath%20d='M4.25,5.61C6.27,8.2,10,13,10,13v6c0,0.55,0.45,1,1,1h2c0.55,0,1-0.45,1-1v-6c0,0,3.72-4.8,5.74-7.39%20C20.25,4.95,19.78,4,18.95,4H5.04C4.21,4,3.74,4.95,4.25,5.61z'/%3e%3cpath%20d='M0,0h24v24H0V0z'%20fill='none'/%3e%3c/g%3e%3c/svg%3e",F={root:{width:"100%",padding:10},paper:{width:"100%",maxHeight:800},overflowHidden:{display:"flex",overflow:"hidden"},pre:{overflow:"auto",whiteSpace:"pre-wrap",margin:0},rowBlock:{display:"flex",width:"100%",justifyContent:"space-between",margin:"10px 0"},select:{minWidth:200},checkbox:{minWidth:160},statusIcon_1:{border:"2px solid grey",borderRadius:20,color:"grey"},statusIcon_2:{border:"2px solid grey",borderRadius:20,color:"#d32f2f"},statusIcon_3:{border:0,borderRadius:0,color:"#ffa726"},statusIcon_4:{border:"2px solid grey",borderRadius:20,color:"#0055a9"},statusIcon_5:{border:"2px solid grey",borderRadius:20},statusIcon_6:{border:"2px solid grey",borderRadius:20},menuWrapper:{display:"flex",alignItems:"center"},iconWrapper:{marginRight:10},textWrapper:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},square:{width:24,height:24,marginRight:10,filter:"invert(0%) sepia(90%) saturate(300%) hue-rotate(-537deg) brightness(99%) contrast(97%)"},statusIcon_green:{border:"2px solid grey",borderRadius:2},statusIcon_red:{border:"2px solid grey",borderRadius:20},statusIcon_orange:{border:0,borderRadius:0},statusIcon_orangeDevice:{border:0,borderRadius:0},statusIcon_blue:{border:"2px solid grey",borderRadius:20},statusIcon_gray:{border:"2px solid grey",borderRadius:20},statusIcon_grey:{border:"2px solid grey",borderRadius:20},green:{color:ce[700]},red:{color:Ut[700]},grey:{color:He[700]},blue:{color:"#0055a9"},orange:{color:pe[400]},orangeDevice:{color:pe[300]},icon:{width:18,height:18,marginRight:8,display:"inline-block"},menuValue:{whiteSpace:"nowrap"}},sa=["none","daemon","schedule","once"],na=(n,t)=>n===1?a.jsx(w.Lens,{style:t}):n===2?a.jsx(w.Lens,{style:t}):n===3?a.jsx(w.Warning,{style:t}):n===4?a.jsx(w.Schedule,{style:t}):n===5?a.jsx("div",{style:{...t,width:20,height:20,margin:2,borderRadius:2},children:a.jsx("div",{style:{width:"calc(100% - 2px)",height:"calc(100% - 2px)",borderRadius:2,margin:1,backgroundColor:"#66bb6a"}})}):null,Re={none:{text:"none",_class:"",status:""},disabled:{text:"disabled",_class:"statusIcon_grey",status:"grey"},not_alive:{text:"enabled, but not alive",_class:"statusIcon_red",status:"red"},alive_not_connected:{text:"enabled, alive, but not connected to controller",_class:"statusIcon_orange",status:"orange"},alive_no_device:{text:"enabled, alive, but not connected to device or service",_class:"statusIcon_orangeDevice",status:"orange"},ok:{text:"enabled and OK",_class:"statusIcon_green",status:"green"}},ra=({onClose:n,filterMode:t,filterStatus:e,sortColumn:s,sortDirection:r,expertMode:i})=>{const[o,l]=ft.useState(t),[c,h]=ft.useState(e),[p,u]=ft.useState(s),[f,m]=ft.useState(r);return a.jsxs(d.Dialog,{onClose:()=>n(),open:!0,sx:{"& .MuiDialog-paper":F.paper},children:[a.jsx(d.DialogTitle,{style:{display:"flex"},children:a.jsxs("div",{style:{display:"flex"},children:[a.jsx(d.Avatar,{variant:"square",style:F.square,src:ea}),b.I18n.t("Filter instances")]})}),a.jsx(d.DialogContent,{style:F.overflowHidden,dividers:!0,children:a.jsxs(d.Card,{style:F.root,children:[a.jsxs("div",{style:F.rowBlock,children:[a.jsx(d.FormControlLabel,{style:F.checkbox,control:a.jsx(d.Checkbox,{checked:!!o,onChange:g=>g.target.checked?l("daemon"):l(null)}),label:b.I18n.t("Filter by mode")}),a.jsx(d.Select,{disabled:!o,variant:"standard",value:o||"none",style:F.select,onChange:g=>{g.target.value==="none"?l(null):l(g.target.value)},children:sa.map(g=>a.jsx(d.MenuItem,{value:g,children:b.I18n.t(g)},g))})]}),a.jsxs("div",{style:F.rowBlock,children:[a.jsx(d.FormControlLabel,{style:F.checkbox,control:a.jsx(d.Checkbox,{checked:!!c,onChange:g=>g.target.checked?h("ok"):h(null)}),label:b.I18n.t("Filter by status")}),a.jsx(d.Select,{disabled:!c,variant:"standard",value:c||"none",style:F.select,onChange:g=>{g.target.value==="none"?h(null):h(g.target.value)},children:Object.keys(Re).map((g,S)=>a.jsx(d.MenuItem,{value:g,children:a.jsxs("div",{style:F.menuWrapper,children:[Re[g].status?a.jsx("div",{style:F.iconWrapper,children:na(S,F[`statusIcon_${S}`])}):null,a.jsx("div",{style:F.textWrapper,children:b.I18n.t(Re[g].text)})]})},g))})]}),a.jsxs("div",{style:F.rowBlock,children:[a.jsx(d.FormControlLabel,{style:F.checkbox,control:a.jsx(d.Checkbox,{checked:!!p,onChange:g=>g.target.checked?u("name"):u(null)}),label:b.I18n.t("Sort by")}),a.jsxs(d.Select,{disabled:!p,variant:"standard",value:p||"none",style:F.select,onChange:g=>{g.target.value==="none"?u(null):u(g.target.value)},children:[a.jsx(d.MenuItem,{value:"none",children:b.I18n.t("none")}),a.jsx(d.MenuItem,{value:"name",children:b.I18n.t("Name")}),a.jsx(d.MenuItem,{value:"id",children:b.I18n.t("ID")}),a.jsx(d.MenuItem,{value:"status",children:b.I18n.t("Status")}),a.jsx(d.MenuItem,{value:"memory",children:b.I18n.t("Memory")}),a.jsx(d.MenuItem,{value:"host",children:b.I18n.t("Host")}),i&&a.jsx(d.MenuItem,{value:"loglevel",children:b.I18n.t("Log level")})]})]}),p&&a.jsxs("div",{style:F.rowBlock,children:[a.jsx("div",{style:F.checkbox,children:b.I18n.t("Sort direction")}),a.jsxs(d.Select,{variant:"standard",value:f,style:F.select,onChange:g=>m(g.target.value),children:[a.jsx(d.MenuItem,{value:"asc",children:b.I18n.t("Ascending")}),a.jsx(d.MenuItem,{value:"desc",children:b.I18n.t("Descending")})]})]})]})}),a.jsxs(d.DialogActions,{children:[a.jsx(d.Button,{color:"grey",variant:"contained",disabled:(p||"none")==="none"&&(c||"none")==="none"&&(o||"none")==="none",onClick:()=>{n({filterMode:null,filterStatus:null,sortColumn:null,sortDirection:"asc"})},startIcon:a.jsx(w.Delete,{}),children:b.I18n.t("Reset")}),a.jsx("div",{style:{flexGrow:1}}),a.jsx(d.Button,{variant:"contained",autoFocus:!0,disabled:o===t&&e===c&&p===s&&f===r,onClick:()=>{n({filterMode:o,filterStatus:c,sortColumn:p,sortDirection:f})},color:"primary",startIcon:a.jsx(w.Check,{}),children:b.I18n.t("Apply")}),a.jsx(d.Button,{color:"grey",variant:"contained",onClick:()=>n(),startIcon:a.jsx(w.Close,{}),children:b.I18n.t("Close")})]})]})},jt={row:{paddingLeft:8,flexDirection:"row-reverse",minHeight:"48px !important",height:48,fontWeight:"bold",fontSize:16},iconStyle:{marginRight:10},wrapperName:{margin:"0 10px",display:"flex",alignItems:"center"},wrapperChildren:{width:"100%"},accordionDetails:{padding:0},accordion:{margin:"1px 0 !important"}};function ia({name:n,key:t,children:e,expanded:s,onExpand:r}){return a.jsxs(d.Accordion,{expanded:!!s,onChange:()=>r(!s),style:jt.accordion,square:!0,children:[a.jsx(d.AccordionSummary,{style:jt.row,expandIcon:a.jsx(w.ExpandMore,{}),children:a.jsxs("div",{style:jt.wrapperName,children:[a.jsx(er,{iconName:n,style:jt.iconStyle}),n]})}),a.jsx(d.AccordionDetails,{style:jt.accordionDetails,children:a.jsx("div",{style:jt.wrapperChildren,children:e})})]},t)}const U={paper:{height:"100%"},iframe:{height:"100%",width:"100%",color:"#000",borderRadius:4,boxShadow:"0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%)",border:"0px solid #888"},cards:{display:"flex",flexFlow:"wrap",justifyContent:"center"},filterActive:n=>({color:n.palette.primary.main}),tooltip:{pointerEvents:"none"},grow:{flexGrow:1}};class xt extends ft.Component{static lastScrollPosition=0;localStorage;statePromise=null;states;adapters;statesUpdateTimer=null;typingTimer=null;hostsTimer=null;wordCache;t;inputRef;refTabContent;subscribed=!1;_cacheList=null;shouldUpdateAfterDialogClosed=!1;expanded="";closeCommands={};constructor(t){super(t),this.localStorage=window._localStorage||window.localStorage;let e=[];if(this.localStorage.getItem("Instances.expandedFolder"))try{e=JSON.parse(this.localStorage.getItem("Instances.expandedFolder"))}catch{}const s=this.localStorage.getItem("Instances.filterMode"),r=this.localStorage.getItem("Instances.filterStatus");this.state={expertMode:this.props.expertMode,dialog:null,instances:null,dialogProp:null,playArrow:0,onlyCurrentHost:!1,viewMode:!1,viewCategory:!1,hostInfo:null,processes:null,mem:null,percent:null,memFree:null,filterText:this.localStorage.getItem("instances.filter")||"",compact:!1,maxCompactGroupNumber:1,filterCompactGroup:"All",deleting:null,deleteCustomSupported:!1,currentHost:this.props.currentHost,showFilterDialog:!1,expandedFolder:e,filterMode:s?s==="null"?null:s:null,filterStatus:r?r==="null"?null:r:null,sortColumn:this.localStorage.getItem("Instances.sortColumn")||null,sortDirection:this.localStorage.getItem("Instances.sortDirection")||"asc"},this.states={},this.adapters=[],this.statesUpdateTimer=null,this.wordCache={},this.t=this.translate,this.inputRef=ft.createRef(),this.refTabContent=ft.createRef()}translate=(t,e,s)=>e!==void 0?this.props.t(t,e,s):(this.wordCache[t]||(this.wordCache[t]=this.props.t(t)),this.wordCache[t]);async componentDidMount(){var e;this.props.instancesWorker.registerHandler(this.getInstances);try{const s=await this.props.socket.getObject(`system.adapter.${this.props.adminInstance}`),r=((e=s==null?void 0:s.native)==null?void 0:e.reverseProxy)||[];await new Promise(i=>this.setState({reverseProxy:r},()=>i()))}catch(s){console.warn("Cannot read reverseProxy config for Instances page:",s)}await this.updateData();const t=await this.props.socket.checkFeatureSupported("DEL_INSTANCE_CUSTOM");t&&this.setState({deleteCustomSupported:t})}async updateData(){await this.getParamsLocalAndPanel(),await this.getData(),await this.getHostsData(),await this.getInstances()}componentWillUnmount(){this.subscribeStates(!0),this.props.instancesWorker.unregisterHandler(this.getInstances)}getStates(t){return t&&(this.statePromise=null),this.statePromise instanceof Promise||(this.statePromise=this.props.socket.getForeignStates("system.adapter.*")),this.statePromise}static getDerivedStateFromProps(t,e){const s=b.Router.getLocation(),r={dialog:s.dialog,dialogProp:s.id};return t.expertMode!==e.expertMode&&(r.expertMode=t.expertMode),r}getInstances=async()=>{var f,m;const t=Date.now();let e=[];const s=await this.props.instancesWorker.getObjects();if(!s){window.alert("Cannot read instances!");return}e=Object.values(s);let r=`${this.state.currentHost}.memRss`;this.states[r]=this.states[r]||await this.props.socket.getState(r);const i=this.states[r];let o=1,l=i&&parseFloat(i.val)||0;const c={};this.props.hosts.forEach(g=>c[g._id]=g);for(let g=0;g<e.length;g++){const S=e[g];if(!(!S||!S.common||S.common.host!==this.props.currentHostName)&&S.common.enabled&&S.common.mode==="daemon"&&!A.isCompact(S)){r=`${S._id}.memRss`,this.states[r]=this.states[r]||await this.props.socket.getState(r);const v=this.states[r];l+=v&&parseFloat(v.val)||0,o++}}const h={};e.sort((g,S)=>{const v=g._id.split("."),H=S._id.split("."),I=parseInt(v[v.length-1],10),P=parseInt(H[H.length-1],10),Z=v[v.length-2],st=H[H.length-2];return Z===st?I>P?1:I<P?-1:0:Z>st?1:Z<st?-1:0});let p=1;const u={};for(let g=0;g<e.length;g++){const S=e[g],v=S.common||null,H=parseInt(S._id.split(".").pop(),10);v.compactGroup&&typeof v.compactGroup=="number"&&p<v.compactGroup&&(p=v.compactGroup);const I={id:S._id.replace("system.adapter.",""),obj:S,compact:!!v.compact,host:v.host,name:this.getName(S),image:v.icon?`adapter/${v.name}/${v.icon}`:"img/no-image.svg",enabled:v.enabled,canStart:!v.onlyWWW,config:v.adminUI.config!=="none",jsonConfig:v.adminUI.config==="json",materialize:v.adminUI.config==="materialize",compactMode:v.runAsCompactMode||!1,mode:v.mode||null,schedule:v.schedule===void 0||v.schedule===null?null:v.schedule,loglevel:v.loglevel||null,adapter:v.name||null,version:v.version||null,stoppedWhenWebExtension:S.common.mode==="daemon"&&S.common.webExtension!==void 0?!!S.common.webExtension:void 0,links:[]},P=v.localLinks||v.localLink||"";let Z=null;P&&typeof P=="string"?Z={_default:P}:P&&typeof P=="object"&&(Z=P);const st=Z?Object.keys(Z):[];if(st.forEach(nt=>{I.links||=[];let B;const _=Z[nt];typeof _=="string"?B={link:_}:B=_;const N=Xn(B.link,v.name,H,{instances:s,hostname:this.props.hostname,hosts:c,adminInstance:this.props.adminInstance})||[];let V=B.name||nt;V==="_default"?V=st.length===1?"":this.t("default"):typeof V=="object"?V=ct.getText(V,this.props.lang):V=this.t(V),N.length===1?I.links.push({name:V,link:N[0].url,port:N[0].port,color:B.color}):N.length>1&&N.forEach(ne=>{I.links.push({name:V,link:ne.url,port:ne.port,color:B.color})})}),(f=I.links)!=null&&f.length&&((m=this.state.reverseProxy)!=null&&m.length)){const nt=window.location.pathname,B=this.state.reverseProxy.find(_=>{if(!_.globalPath)return!1;const N=_.globalPath.endsWith("/")?_.globalPath:`${_.globalPath}/`;return nt===N||nt.startsWith(N)})||null;if(B&&I.links.forEach(_=>{_.link=Jn(_.link,I.id,s,B)||_.link}),I.links.length>1){const _=new Set;I.links=I.links.filter(N=>!N.link||_.has(N.link)?!1:(_.add(N.link),!0))}}if(I.stoppedWhenWebExtension){const nt=this.states[`${I.id}.info.extension`]||await this.props.socket.getState(`${I.id}.info.extension`);I.stoppedWhenWebExtension=nt?!!nt.val:void 0}console.log(S._id),h[S._id]=I}console.log(`getInstances: ${Date.now()-t}`);for(let g=1;g<=p;g++){const S=`${this.state.currentHost}.compactgroup${g}.memRss`;this.states[S]=this.states[S]||await this.props.socket.getState(S);const v=this.states[S];v&&(l+=v&&parseFloat(v.val)||0,o++)}this.state.deleting&&!h[`system.adapter.${this.state.deleting}`]&&(u.deleting=null),u.maxCompactGroupNumber=p,u.processes=o,u.mem=Math.round(l),u.instances=h,this._cacheList=null,this.setState(u)};getParamsLocalAndPanel=async()=>{var l,c;let t=!1;try{t=!!((c=(l=(await this.props.socket.readBaseSettings(this.state.currentHost)).config)==null?void 0:l.system)!=null&&c.compact)}catch(h){window.alert(`Cannot read compact mode by host "${this.state.currentHost}": ${h}`)}let e=0,s="All";try{e=JSON.parse(this.localStorage.getItem("Instances.playArrow")),e.toString()==="true"?e=1:e.toString()==="false"&&(e=0),s=JSON.parse(this.localStorage.getItem("Instances.filterCompactGroup"))}catch{}const r=this.localStorage.getItem("Instances.onlyCurrentHost")==="true",i=this.localStorage.getItem("Instances.viewMode")==="true",o=this.localStorage.getItem("Instances.viewCategory")==="true";!s&&s!==0&&(s="All"),this._cacheList=null,this.setState({filterCompactGroup:s,compact:t,onlyCurrentHost:r,playArrow:e,viewMode:i,viewCategory:o})};async getData(t){try{const e=this.props.socket.getAdapters(t),s=this.getStates(),[r,i]=await Promise.all([s,e]);this.adapters=i||[],this.states=r||{}}catch(e){console.log(e)}this.states&&(this.subscribed||(this.subscribed=!0,this.subscribeStates()))}onStateChange=(t,e)=>{const s=this.states[t];this.states[t]=e,(!s&&e||s&&!e||s&&e&&s.val!==e.val)&&(this.state.dialog==="config"&&this.state.dialogProp?(this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null),this.shouldUpdateAfterDialogClosed=!0):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this._cacheList=null,this.forceUpdate()},1e3)))};subscribeStates(t){const e=t?this.props.socket.unsubscribeState:this.props.socket.subscribeState;e.call(this.props.socket,"system.adapter.*.alive",this.onStateChange),e.call(this.props.socket,"system.adapter.*.connected",this.onStateChange),e.call(this.props.socket,"system.adapter.*.inputCount",this.onStateChange),e.call(this.props.socket,"system.adapter.*.memRss",this.onStateChange),e.call(this.props.socket,"system.adapter.*.outputCount",this.onStateChange),e.call(this.props.socket,"system.adapter.*.logLevel",this.onStateChange),e.call(this.props.socket,"system.adapter.*.plugins.sentry.enabled",this.onStateChange),e.call(this.props.socket,"system.host.*.diskFree",this.onStateChange),e.call(this.props.socket,"system.host.*.diskSize",this.onStateChange),e.call(this.props.socket,"system.host.*.diskWarning",this.onStateChange),e.call(this.props.socket,"system.host.*.freemem",this.onStateChange),e.call(this.props.socket,"*.info.connection",this.onStateChange),e.call(this.props.socket,"*.info.extension",this.onStateChange)}getInstanceStatus=t=>{const e=t?t.common:null,s=(e==null?void 0:e.mode)||"";let r=s==="daemon"?"green":"blue";if(e!=null&&e.enabled&&(!e.webExtension||!t.native.webInstance||s==="daemon")){const i=this.states[`${t._id}.alive`],o=this.states[`${t._id}.connected`],l=this.states[`${t._id.replace("system.adapter.","")}.info.connection`];if(e.webExtension&&t.native.webInstance){const c=this.states[`${t._id.replace("system.adapter.","")}.info.extension`];if(c)return c.val?"green":"red"}(!(o!=null&&o.val)||!(i!=null&&i.val))&&(r=s==="daemon"?"red":"orangeDevice"),l&&!(l!=null&&l.val)&&r!=="red"&&(r="orange")}else r=s==="daemon"?"grey":"blue";return r};isCompactGroupCheck(t){var s;const e=this.adapters.find(({_id:r})=>r===`system.adapter.${t}`);return((s=e==null?void 0:e.common)==null?void 0:s.compact)||!1}getName(t){return t!=null&&t.common?t.common.titleLang?ct.getText(t.common.titleLang,this.props.lang):ct.getText(t.common.title,this.props.lang):""}getMemoryUsage(t){const e=this.states[`${t}.memRss`];return e&&parseFloat(e.val)||0}getInputOutput(t){const e=this.states[`${t}.inputCount`],s=this.states[`${t}.outputCount`];return{stateInput:e!=null&&e.val?e.val:0,stateOutput:s!=null&&s.val?s.val:0}}isAlive(t){const e=this.states[`${t}.alive`];return!!(e!=null&&e.val)}isConnectedToHost(t){const e=this.states[`${t}.connected`];return!!(e!=null&&e.val)&&this.isAlive(t)}getConnected(t){const e=this.state.instances[t];return this.states[`${e.id}.info.connection`]?this.isAlive(t)&&this.states[`${e.id}.info.connection`].val:null}static getStatusFilter(t){switch(t){case"not_alive":return"red";case"alive_no_device":return"orangeDevice";case"alive_not_connected":return"orange";case"ok":return"green";default:return"grey"}}static getLogLevelIcon(t){return t==="debug"?a.jsx(w.BugReport,{}):t==="info"?a.jsx(w.Info,{}):t==="warn"?a.jsx(w.Warning,{}):t==="error"?a.jsx(w.Error,{}):null}onDeleteInstance=(t,e,s)=>{const r=s?t.id.split(".")[0]:t.id,i=(()=>{const n=String(r||"").toLowerCase().replace(/^system\.adapter\./,"").replace(/^iobroker\./,"").replace(/^@nexowatt\/iobroker\./,"").replace(/^@nexowatt\//,"").replace(/\.\d+$/,"");return ["admin","eos-admin","backitup","nexowatt-devices","nexowatt-device","nexowatt-dev","nexowatt-ui"].includes(n)})();if(i){window.alert("Dieser Dienst ist ein geschütztes NexoWatt-EOS-Systemmodul und darf nicht gelöscht werden.");return}this.setState({deleting:t.id},()=>this.props.executeCommand(`del ${r}${e?" --custom":""}${this.props.expertMode?" --debug":""}`))};isSentry(t){var e;return!!((e=this.states[`${t}.plugins.sentry.enabled`])!=null&&e.val)}cacheInstances(){const t=this.state.currentHost.replace(/^system.host./,"");if(this._cacheList=Object.keys(this.state.instances).map(e=>{var B,_,N;const s=this.state.instances[e],r=A.isRunning(s.obj),i=A.isCompactGroup(s.obj),o=this.isCompactGroupCheck(s.adapter)&&this.state.compact,l=A.isCompact(s.obj),c=s.compact||!1,h=this.isAlive(e),p=this.isConnectedToHost(e),u=this.getConnected(e),f=this.getName(s.obj),m=((B=this.states[`${e}.logLevel`])==null?void 0:B.val)||s.loglevel,g=s.loglevel,S=((N=(_=s==null?void 0:s.obj)==null?void 0:_.common)==null?void 0:N.tier)||3,v=xt.getLogLevelIcon(m),H=this.getInputOutput(e),I=A.isModeSchedule(s.obj),P=A.getMemoryLimitMB(s.obj),Z=A.getSentrySettings(s.obj),st=this.isSentry(e);return{id:e,running:r,host:s.host,nameId:s.id,compactGroup:i,checkCompact:o,mode:s.mode,sentry:st,category:s.obj.common.type||"other",status:this.getInstanceStatus(s.obj),alive:h,compact:l,supportCompact:c,connectedToHost:p,connected:u,name:f,logLevel:m,logLevelObject:g,tier:S,loglevelIcon:v,inputOutput:H,modeSchedule:I,checkSentry:Z,memoryLimitMB:P,stoppedWhenWebExtension:s.stoppedWhenWebExtension,allowInstanceSettings:this.props.repository[s.adapter]?this.props.repository[s.adapter].allowInstanceSettings:!0,allowInstanceDelete:!(()=>{const n=String(s.adapter||"").toLowerCase().replace(/^system\.adapter\./,"").replace(/^iobroker\./,"").replace(/^@nexowatt\/iobroker\./,"").replace(/^@nexowatt\//,"").replace(/\.\d+$/,"");return ["admin","eos-admin","backitup","nexowatt-devices","nexowatt-device","nexowatt-dev","nexowatt-ui"].includes(n)})(),allowInstanceLink:this.props.repository[s.adapter]?this.props.repository[s.adapter].allowInstanceLink:!0}}),this.state.playArrow&&(this._cacheList=this._cacheList.filter(({running:e})=>this.state.playArrow===1?e:!e)),this.state.onlyCurrentHost&&(this._cacheList=this._cacheList.filter(({host:e})=>e===t)),this.state.filterText){const e=this.state.filterText.toLowerCase();this._cacheList=this._cacheList.filter(({name:s,nameId:r})=>s.toLowerCase().includes(e)||r.toLowerCase().includes(e))}if(this.props.expertMode&&(this.state.filterCompactGroup||this.state.filterCompactGroup===0)&&this.state.compact&&(this._cacheList=this._cacheList.filter(({compactGroup:e})=>e===this.state.filterCompactGroup||this.state.filterCompactGroup==="All"||this.state.filterCompactGroup==="default"&&(e===null||e===1)||this.state.filterCompactGroup==="controller"&&e==="0")),this.state.filterMode&&(this._cacheList=this._cacheList.filter(e=>e.mode===this.state.filterMode)),this.state.filterStatus){const e=xt.getStatusFilter(this.state.filterStatus);this._cacheList=this._cacheList.filter(s=>e===s.status)}return this.state.sortColumn&&(this._cacheList=this._cacheList.sort((e,s)=>{let r=0;switch(this.state.sortColumn){case"name":{r=e.name.localeCompare(s.name);break}case"id":{r=e.nameId.localeCompare(s.nameId);break}case"status":{const i={green:4,orange:3,orangeDevice:2,red:1,grey:0,blue:0};r=(i[e.status]||0)-(i[s.status]||0);break}case"memory":{if(!e.running||!s.running)r=e.running===s.running?0:e.running?1:-1;else{const i=this.getMemoryUsage(e.id),o=this.getMemoryUsage(s.id);r=i-o}break}case"host":{r=e.host.localeCompare(s.host);break}case"loglevel":{const i={error:4,warn:3,info:2,debug:1,silly:0};r=(i[e.logLevel]||0)-(i[s.logLevel]||0);break}default:r=0}return this.state.sortDirection==="desc"?-r:r})),this._cacheList}clearAllFilters(){const t={playArrow:0,onlyCurrentHost:!1,filterCompactGroup:"All",filterMode:null,filterStatus:null,filterText:"",sortColumn:null,sortDirection:"asc"};this.localStorage.removeItem("instances.filter"),this.localStorage.removeItem("Instances.playArrow"),this.localStorage.removeItem("Instances.onlyCurrentHost"),this.localStorage.removeItem("Instances.filterCompactGroup"),this.localStorage.removeItem("Instances.filterMode"),this.localStorage.removeItem("Instances.filterStatus"),this.localStorage.removeItem("Instances.sortColumn"),this.localStorage.removeItem("Instances.sortDirection"),this._cacheList=null,this.setState(t,()=>{this.inputRef.current&&(this.inputRef.current.value=""),this.cacheInstances()})}onMaxCompactGroupNumber=t=>this.setState({maxCompactGroupNumber:t});onRegisterClose=(t,e)=>{this.closeCommands[t]=e};saveScrollPosition=()=>{var t,e;xt.lastScrollPosition=(e=(t=this.refTabContent.current)==null?void 0:t.parentNode)==null?void 0:e.scrollTop};getPanels(){this._cacheList||this.cacheInstances();const t={adminInstance:this.props.adminInstance,onDeleteInstance:this.onDeleteInstance,expertMode:this.props.expertMode,hosts:this.props.hosts,socket:this.props.socket,t:this.t,lang:this.props.lang,themeType:this.props.themeType,setMaxCompactGroupNumber:this.onMaxCompactGroupNumber,maxCompactGroupNumber:this.state.maxCompactGroupNumber,deleteCustomSupported:this.state.deleteCustomSupported,states:this.states,onToggleExpanded:this.onToggleExpanded,getInstanceStatus:this.getInstanceStatus,theme:this.props.theme,onRegisterClose:this.onRegisterClose},e=this._cacheList.map((s,r)=>{const i=s.id,o=this.state.instances[i];return this.state.viewMode?{category:s.category,render:a.jsx(Qo,{saveScrollPosition:this.saveScrollPosition,deleting:this.state.deleting===o.id,id:i,idx:r,instance:o,item:s,context:t},o.id)}:{category:s.category,render:a.jsx(ta,{saveScrollPosition:this.saveScrollPosition,deleting:this.state.deleting===o.id,id:i,idx:r,instance:o,item:s,context:t},o.id)}});if(!e.length)return a.jsx("div",{title:this.t("Click to clear all filters"),onClick:()=>this.clearAllFilters(),style:{margin:20,fontSize:26,textAlign:"center",cursor:"pointer"},children:this.t("all items are filtered out")});if(!this.state.viewMode&&this.state.viewCategory){const s=[];return e.forEach(({category:r})=>!s.includes(r)&&s.push(r)),s.sort((r,i)=>r==="general"&&i!=="general"?-1:r!=="general"&&i==="general"||r>i?1:r<i?-1:0),s.map(r=>a.jsx(ia,{name:r,expanded:this.state.expandedFolder.includes(r),onExpand:i=>{const o=[...this.state.expandedFolder],l=o.indexOf(r);i?l===-1&&(o.push(r),o.sort()):l!==-1&&o.splice(l,1),this.localStorage.setItem("Instances.expandedFolder",JSON.stringify(o)),this.setState({expandedFolder:o})},children:e.filter(({category:i})=>i===r).map(({render:i})=>i)},r))}return e.map(({render:s})=>s)}onToggleExpanded=(t,e)=>{this.expanded!==t&&e&&this.closeCommands[this.expanded]&&this.closeCommands[this.expanded](),this.expanded=e?t:null};async getHostsData(){this.props.socket.getHostInfo(this.state.currentHost,!1,1e4).catch(i=>(i.toString().includes("May not read")||window.alert(`Cannot read host information: ${i}`),{})).then(i=>{this._cacheList=null,this.setState({hostInfo:i})});let t;const e=await this.props.socket.getState(`${this.state.currentHost}.memAvailable`),s=await this.props.socket.getState(`${this.state.currentHost}.freemem`),r=await this.props.socket.getObject(`${this.state.currentHost}`);if(e?t=e:s&&(t=s),t){const i=((r==null?void 0:r.native.hardware.totalmem)||0)/1048576,o=Math.round(t.val/i*100);this._cacheList=null,this.setState({percent:o,memFree:t.val})}}changeStartedStopped=()=>{this._cacheList=null,this.setState(t=>{const e=t.playArrow?t.playArrow===1?2:0:1;return this.localStorage.setItem("Instances.playArrow",JSON.stringify(e)),{playArrow:e}})};changeCompactGroup(t){this._cacheList=null,this.localStorage.setItem("Instances.filterCompactGroup",JSON.stringify(t)),this.setState({filterCompactGroup:t})}handleFilterChange(t){this.typingTimer&&clearTimeout(this.typingTimer),this.typingTimer=setTimeout(e=>{this.typingTimer=null,this._cacheList=null,this.setState({filterText:e}),this.localStorage.setItem("instances.filter",e)},300,t.target.value)}renderFilterDialog(){return this.state.showFilterDialog?a.jsx(ra,{filterMode:this.state.filterMode,filterStatus:this.state.filterStatus,sortColumn:this.state.sortColumn,sortDirection:this.state.sortDirection,expertMode:this.props.expertMode,onClose:t=>{t&&(this._cacheList=null,this.localStorage.setItem("Instances.filterMode",t.filterMode),this.localStorage.setItem("Instances.filterStatus",t.filterStatus),t.sortColumn?(this.localStorage.setItem("Instances.sortColumn",t.sortColumn),this.localStorage.setItem("Instances.sortDirection",t.sortDirection)):(this.localStorage.removeItem("Instances.sortColumn"),this.localStorage.removeItem("Instances.sortDirection")),this.setState({filterMode:t.filterMode,filterStatus:t.filterStatus,sortColumn:t.sortColumn,sortDirection:t.sortDirection})),this.setState({showFilterDialog:!1})}}):null}render(){if(!this.state.instances)return a.jsx(d.LinearProgress,{});if(this.props.currentHost!==this.state.currentHost&&(this.hostsTimer=this.hostsTimer||setTimeout(()=>{this.hostsTimer=null,this.setState({currentHost:this.props.currentHost},()=>this.updateData())},200)),this.state.dialog==="config"&&this.state.dialogProp){const e=this.state.instances[this.state.dialogProp]||null;if(e)return a.jsxs(d.Paper,{style:U.paper,children:[this.renderFilterDialog(),a.jsx(Kn,{expertMode:this.props.expertMode,adapter:e.id.split(".")[0],adminInstance:this.props.adminInstance,style:U.iframe,configStored:this.props.configStored,dateFormat:this.props.dateFormat,icon:e.image,instance:parseInt(e.id.split(".")[1]),isFloatComma:this.props.isFloatComma,jsonConfig:e.jsonConfig,lang:this.props.lang,materialize:e.materialize,socket:this.props.socket,t:this.t,theme:this.props.theme,themeName:this.props.themeName,themeType:this.props.themeType,width:this.props.width,version:e.version,onRegisterIframeRef:s=>this.props.onRegisterIframeRef(s),onUnregisterIframeRef:s=>this.props.onUnregisterIframeRef(s),handleNavigation:this.props.handleNavigation})]})}else xt.lastScrollPosition&&(setTimeout(e=>{var s,r;(s=this.refTabContent.current)!=null&&s.parentNode&&(((r=this.refTabContent.current)==null?void 0:r.parentNode).scrollTop=e)},200,xt.lastScrollPosition),xt.lastScrollPosition=0);this.shouldUpdateAfterDialogClosed&&(this.shouldUpdateAfterDialogClosed=!1,this.statesUpdateTimer||this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300)));const t=this.state.hostInfo?`${this.state.hostInfo["Disk free"]?`${this.t("Disk free")}: ${Math.round(this.state.hostInfo["Disk free"]/(this.state.hostInfo["Disk size"]/100))}%, `:""}${this.t("Total RAM usage")}: ${this.state.mem} Mb / ${this.t("Free")}: ${this.state.percent}% = ${this.state.memFree} Mb [${this.t("Host")}: ${this.props.currentHostName} - ${this.state.processes} ${this.state.processes===1?this.t("process"):this.t("processes")}]`:null;return a.jsxs(b.TabContainer,{children:[this.renderFilterDialog(),a.jsxs(b.TabHeader,{children:[a.jsx(d.Tooltip,{title:this.t("Show / hide List"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>{this.setState({viewMode:!this.state.viewMode}),this.localStorage.setItem("Instances.viewMode",this.state.viewMode?"false":"true")},children:this.state.viewMode?a.jsx(w.ViewModule,{}):a.jsx(w.ViewList,{})})}),!this.state.viewMode&&a.jsx(d.Tooltip,{title:this.t("Category"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>{this.setState({viewCategory:!this.state.viewCategory}),this.localStorage.setItem("Instances.viewCategory",this.state.viewCategory?"false":"true")},children:a.jsx(w.List,{color:this.state.viewCategory?"primary":"inherit"})})}),!this.state.viewMode&&this.state.viewCategory&&a.jsxs(a.Fragment,{children:[a.jsx(d.Tooltip,{title:this.t("expand all"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>{const e=[];this._cacheList.forEach(({category:s})=>!e.includes(s)&&e.push(s)),e.sort(),this.localStorage.setItem("Instances.expandedFolder",JSON.stringify(e)),this.setState({expandedFolder:e})},children:a.jsx(w.FolderOpen,{})})}),a.jsx(d.Tooltip,{title:this.t("collapse all"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>{this.localStorage.removeItem("Instances.expandedFolder"),this.setState({expandedFolder:[]})},children:a.jsx(w.Folder,{})})})]}),a.jsx(d.Tooltip,{title:this.t("Reload"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>this.getData(!0),children:a.jsx(w.Refresh,{})})}),this.props.hosts.length>1?a.jsx(d.Tooltip,{title:this.t("Show instances only for current host"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>{this.setState({onlyCurrentHost:!this.state.onlyCurrentHost}),this.localStorage.setItem("Instances.onlyCurrentHost",this.state.onlyCurrentHost?"false":"true")},children:a.jsx(w.Devices,{color:this.state.onlyCurrentHost?"primary":"inherit"})})}):null,a.jsx(d.Tooltip,{title:this.t(this.state.playArrow?this.state.playArrow===1?"Showed only running instances":"Showed only stopped instances":"Show running or stopped instances"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>this.changeStartedStopped(),children:a.jsx(w.PlayArrow,{style:this.state.playArrow===2?{color:"red"}:null,color:this.state.playArrow===1?"primary":"inherit"})})}),a.jsx(d.Tooltip,{title:this.t("Filter instances"),slotProps:{popper:{sx:U.tooltip}},children:a.jsx(d.IconButton,{size:"large",onClick:()=>this.setState({showFilterDialog:!0}),sx:this.state.filterMode||this.state.filterStatus||this.state.sortColumn?U.filterActive:void 0,children:a.jsx(qn,{style:{width:16,height:16}})})}),this.props.expertMode&&this.state.compact?a.jsx(sr,{title:this.t("Filter specific compact group"),t:this.t,arrayItem:[{name:"All"},{name:"controller"},{name:"default"},...Array(this.state.maxCompactGroupNumber-1).fill(0).map((e,s)=>({name:s+2}))],buttonIcon:a.jsx(w.ViewCompact,{style:{marginRight:4},color:"primary"}),onClick:e=>this.changeCompactGroup(e),value:this.state.filterCompactGroup}):null,a.jsx("div",{style:U.grow}),a.jsx(d.TextField,{variant:"standard",inputRef:this.inputRef,label:this.t("Filter"),sx:{margin:{xs:"0 0 2px 16px",md:"5px 0 5px 0"}},defaultValue:this.state.filterText,onChange:e=>this.handleFilterChange(e),slotProps:{input:{endAdornment:this.state.filterText?a.jsx(d.InputAdornment,{position:"end",children:a.jsx(d.IconButton,{tabIndex:-1,size:"small",onClick:()=>{this.inputRef.current.value="",this._cacheList=null,this.setState({filterText:""}),this.localStorage.setItem("instances.filter","")},children:a.jsx(w.Close,{})})}):null}}}),a.jsx("div",{style:U.grow}),a.jsx(d.Box,{component:"span",sx:{display:{xs:"none",sm:"inline-block"}},children:t})]}),a.jsx(b.TabContent,{overflow:"auto",children:a.jsx("div",{ref:this.refTabContent,style:this.state.viewMode?U.cards:void 0,children:this.getPanels()})})]})}}const Pa=b.withWidth()(xt);export{Pa as default};